»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:03 pierre_ joined 00:13 wamba left 00:26 ka joined 00:36 rodarmor left 00:37 Actualeyes joined 00:50 rodarmor joined 00:57 rodarmor left 00:58 AlexDaniel left 01:00 rodarmor joined 01:01 rodarmor left 01:02 rodarmor joined 01:07 aborazmeh joined, aborazmeh left, aborazmeh joined 01:27 aborazmeh left, adrusi left 01:28 adrusi joined 01:37 troys joined 01:41 lichtkind left
seatek if for nothing else, i'm thankful for perl's flexibility so that i can keep my editor's syntax highlighting working 01:50
02:13 kurahaupo__ joined 02:29 troys is now known as troys_ 02:33 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 02:40 kurahaupo__ left, kurahaupo__ joined 02:44 ka left, ka joined 02:45 ilbot3 left 02:47 ilbot3 joined 02:59 sufrostico joined 03:42 sufrostico left 03:43 pierre_ left 03:47 pierre_ joined 03:48 TEttinger left 03:51 noganex_ joined 03:53 sufrostico joined 03:54 noganex left 04:14 sufrostico left
llfourn_ m: say (Str andthen .uc orelse Str.new("derp")) # this returns a Block!?!? 04:17
camelia rakudo-moar 1c425f: OUTPUT«-> ;; $_ is raw { #`(Block|63629712) ... }␤»
llfourn_ m: say (Str andthen .uc orelse "foo") # more golfed 04:18
camelia rakudo-moar 1c425f: OUTPUT«-> ;; $_ is raw { #`(Block|81391040) ... }␤»
geekosaur andthen and orelse are thunk-y, I think? 04:21
04:21 sufrostico joined
geekosaur hm, guess orelse isn't, but andthen is a bit magic 04:21
llfourn_ geekosaur: they topicalize but that doesn't mean the result of the expression should be a block right?
shou 04:22
mistype
llfourn_ goes to rakudobug
m: say (Str andthen .uc orelse "foo")() # wonder what block it is? 04:23
camelia rakudo-moar 1c425f: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in block <unit> at <tmp> line 1␤␤»
llfourn_ m: say (Str andthen .uc orelse "foo")("wee") # heh
camelia rakudo-moar 1c425f: OUTPUT«foo␤»
04:37 ka left, wamba joined, ka joined 04:51 troys_ is now known as troys 04:52 pierre_ left 04:53 pierre_ joined, jeff_____ joined 04:54 jeff_____ left 04:57 Rawriful left, pierre_ left 04:58 BenGoldberg left 05:00 skids left 05:06 pierre_ joined 05:07 ka left, pierre_ left 05:08 pierre_ joined 05:12 pierre_ left 05:21 sufrostico left, sufrostico joined 05:29 Cabanossi left 05:33 Cabanossi joined 05:35 TimToady left 05:37 TimToady joined 05:45 wamba left 05:53 pdcawley joined 06:02 troys left 06:03 sufrostico left 06:12 brillenfux joined 06:13 waghso joined 06:17 pierre_ joined 06:20 wamba joined 06:21 waghso left 06:27 wamba left 06:29 Tonik joined 06:31 CIAvash joined, CIAvash left 06:40 CIAvash joined 06:43 canopus left 06:47 Tonik left 06:49 RabidGravy joined 06:50 meteorologytoday joined 06:52 canopus joined 06:58 meteorologytoday left 07:02 TEttinger joined
seatek m: my @f = 1..10; @f.map: { when 5 { .say }; default { say 'no'}} 07:10
camelia rakudo-moar 1c425f: OUTPUT«no␤no␤no␤no␤5␤no␤no␤no␤no␤no␤»
07:18 brrt joined
brrt anybody up for some good old-fashioned advocacy? news.ycombinator.com/item?id=12888784 07:19
samcv seatek, i'm happy i have my perl 5 bot mostly converted over to perl 6 using promises and supplies i am so happy
07:19 neuraload joined
samcv and added perl 6 eval functionality ( i have only perl 5 before) so i can try and convince more people to use perl 6 07:19
07:20 rindolf joined
seatek samcv: :) 07:20
samcv perl 6 is one of the only language i've learned where the more i learn about it the more i like it.
usually you have 1st then middle impressions of a language but as you go further you get into limitations and annoyances
i am convinced more and more every day that perl 6 is the language of the future 07:21
anybody who says "oh perl 6, didn't they start that 15 years ago, it probably isn't that great", is talking smack
so thank you to anybody here working on perl 6. you have my greatest thanks for your effort 07:22
07:23 bjz joined
samcv seatek, i took my perl 5 bot's section that runs when somebody speaks ( it's like 1800 lines! ) and converted it into a long running program 07:23
using proc async and messages to channel get passed to that perl 5 long running script accepting stdin, and so i retained 95% of my features, and am now working on porting them over
07:27 domidumont joined 07:30 djbkd joined 07:31 djbkd left, djbkd joined, domidumont left 07:32 firstdayonthejob joined 07:33 domidumont joined, pierre_ left 07:35 abraxxa joined, kurahaupo__ left 07:37 bjz left 07:40 pierre_ joined 07:42 firstdayonthejob left 07:43 abraxxa left 07:44 abraxxa joined 07:45 pierre_ left
seatek brrt: put in a couple comments - completely honest ones too! :) 07:46
samcv: sweet! hey, i'm curious -- does it seem to be pretty stable running for a long time? 07:47
07:51 ifdog joined, maybekoo2 joined 07:52 bjz joined
ifdog Excuse me,but is there any method on an object to see all members in it? 07:54
just like 'dir()' in Python.. 07:55
seatek you can do a $obj.^methods to get a list of methods in the object 07:56
^attributes shows attributes i think 07:57
07:58 mohae_ joined, pierre_ joined
ifdog thanks, this is just what I want. 07:58
seatek sure 07:59
ifdog However ^attributes dies with a 'Method gist not found...' 08:00
08:01 mohae left
seatek m: class D { has $.at; method m() { say 0..2 }}; say D.^methods ; say D.^attributes; 08:02
camelia rakudo-moar 1c425f: OUTPUT«(m at)␤(Mu $!at)␤»
brrt seatek: thanks, I guess :-) I tend to stay away from HN discussions myself 08:04
seatek brrt: I do too. but lots of people seem to have this bizarre bias without even really trying. i kinda did myself even. 08:05
brrt: so i feel a little obligated. ;)
brrt well, thanks for your efforts :-) 08:08
seatek i think people just aren't used to having to think. perl makes you think. it's not just cookie cutters, though there are plenty of those. 08:09
or maybe it's more like we have a bagillion cookie cutters
ifdog m: my $a=1;say $a.^attributes; 08:17
camelia rakudo-moar 1c425f: OUTPUT«No such method 'gist' for invocant of type 'BOOTSTRAPATTR'␤ in block <unit> at <tmp> line 1␤␤»
seatek ifdog: $a's being used as just a variable there -- not an object, so it has no attributes i imagine 08:19
m: class C { has $.a; }; say C.^attributes; 08:20
camelia rakudo-moar 1c425f: OUTPUT«(Mu $!a)␤»
08:20 wamba joined
seatek m: class C { has $.a; }; my $c = C.new; say $c.^attributes; 08:20
camelia rakudo-moar 1c425f: OUTPUT«(Mu $!a)␤»
ifdog err,yes thats the difference
seatek yeppers :) 08:21
08:22 zakharyas joined 08:28 labster left, bjz left, bjz_ joined 08:29 bjz_ left, labster joined 08:30 ifdog left, ifdog joined, ifdog left
arnsholt m: my $a = 1; say($a.^attributes.map: { .name }) 08:35
camelia rakudo-moar 1c425f: OUTPUT«($!value)␤»
seatek yeah kinda an object ;) 08:36
arnsholt The problem was that integers are low-level enough that you start to run into implementation-level details
Attribute (the standard class for attributes) is a Perl 6 class. But to bootstrap things far enough up that we can construct the class, we need an interim attribute class 08:38
That's BOOTSTRAPATTR, which is in NQP, not Perl 6
seatek i've heard so many times about how everything's an object, and it's imaging stuff like that, that makes me insane. i don't know how it was managed to be done ;)
it seems so convoluted just to get a dam integer! :) 08:41
what's weird is, when you're going to say something like his $a... well, that's not an object - that's a variable. i mean, it's a lie. but it isn't. but it is. 08:43
08:47 wamba left 08:50 wamba joined 08:51 domidumont left 08:53 domidumont joined
masak aloha, #perl6 08:56
DrForr Mornin'. 08:57
08:57 El_Che_ joined, El_Che_ left
masak yesterday's success: removing a fossilized type from 007 08:57
you know that feeling when you look at some code and go "hm, this class doesn't actually *do* anything"? 08:58
08:58 ufobat joined
masak well, it was like that, except a lot of things still used the class and relied on it, despite it being useless 08:58
...six refactoring steps later... ta-daa!
ufobat good morning 08:59
DrForr yay!
arnsholt masak: Sounds like a yak well shaved! =) 09:03
09:03 TEttinger left
masak it was a remnant from the early days when 007 had first-class blocks. the idea went away, except not really on the type level. 09:04
El_Che refactoring: because we can! 09:06
:)
09:07 djbkd left, bjz joined 09:08 pdcawley left
brrt one of the fun bits of having a personal project :-) 09:08
masak one measure of success is "8 files changed, 50 insertions(+), 94 deletions(-)" -- that's a net 44 lines deleted.
09:08 pdcawley joined
El_Che s/# TODO: implement this better\n//g 09:09
fixed!
arnsholt masak: Oh, I love those patches! 09:10
El_Che do it 4 times and DigitalOcean sends you a free t-shirt! 09:11
09:11 ocbtec joined
arnsholt My advisor thought it was quite amusing that I was so happy about those 09:11
Let's just say we had differing opinions on the question of technical debt =)
DrForr Less code written means less code to read.
El_Che less bugs
DrForr That too.
09:12 brillenfux left 09:13 ufobat left 09:14 bjz left, bjz_ joined, slmyers joined 09:15 slmyers left, MARTIMM joined
MARTIMM o/ 09:18
09:19 jonas1 joined
MARTIMM I've a question about the range of numbers of type Num, (Fat)Rat Int etc. There is this method Range which shows -Inf..Inf most of the time. 09:20
[ptc] \o 09:21
MARTIMM Wondering what the highest number is below Inf and lowest above -Inf
09:23 hybris_ joined, tokomer joined
seatek i think Inf - 1 is still Inf... 09:24
[ptc] m: say(Inf - 1) 09:25
camelia rakudo-moar 1c425f: OUTPUT«Inf␤»
[ptc] looks that way
m: say(-Inf + 1) 09:26
camelia rakudo-moar 1c425f: OUTPUT«-Inf␤»
seatek m: say (-Inf + Inf);
camelia rakudo-moar 1c425f: OUTPUT«NaN␤»
seatek hehe
geekosaur you can check (on linux, chase down the insane includes from) <limits.h> for MIN_DBL and MAX_DBL 09:27
seatek oh that's the boring REAL answer ;)
El_Che if you asked last week I would have said "warm and sunny". I was in Rome :) 09:29
now it's back cold and rainy again :)
09:31 ufobat joined 09:32 rindolf left 09:34 hybris_ left 09:36 rindolf joined 09:38 El_Che left, El_Che joined 09:41 brillenfux joined 09:45 domidumont left 09:46 girafe left
masak MARTIMM: for the Num type, there's a highest representable number below Inf 09:46
MARTIMM: for the Int type, there isn't, since Int is arbitrary-precision
you can have as large an Int as your computer memory and available processing power will allow you -- there's no upper limit 09:47
m: say 1e308 09:49
camelia rakudo-moar 1c425f: OUTPUT«1e+308␤»
masak this is the largest Num below Inf I can get Rakudo to represent.
09:50 ChoHag joined, pierre_ left
geekosaur 1.7976931348623157081e+308 on x86_64 09:52
(and probably x86) 09:53
masak I expected it to be something like that, but the cutoff in Rakudo was at exactly 1.000e308 09:54
maybe some artificial limit has been put in somewhere for safety reasons
m: say 1.7976931348623157081e200 * 1e108
camelia rakudo-moar 1c425f: OUTPUT«1.79769313486232e+308␤»
masak a-ha :)
so Rakudo can represent them, just not with scientific-notation number literals 09:55
I... would be tempted to call that a bug.
09:57 labster left, pierre_ joined 10:00 pierre_ left, pierre_ joined 10:02 aborazmeh joined, aborazmeh left, aborazmeh joined 10:03 ufobat left, ufobat joined 10:16 pierre_ left 10:19 cyphase left 10:22 chee is now known as qx, qx is now known as chee 10:23 cyphase joined, chee is now known as nikcsrev 10:24 nikcsrev is now known as chee 10:31 mxco86 joined, mxco86 left, mxco86 joined 10:49 user9 joined, bjz_ left, bjz joined
MARTIMM *: thanks for your answers 10:50
masak: So for Rat and FatRat there isn't a limit either because they are made out of two Ints, am I right? 10:54
10:59 noganex_ left 11:00 noganex joined 11:02 pierre_ joined
MARTIMM m:Rat.new( 10**5000, 187234687234876) 11:03
m:say Rat.new( 10**5000, 187234687234876) 11:04
11:07 MARTIMM left 11:12 grondilu joined 11:13 wamba left 11:17 gregf_ joined, kp_ joined 11:20 kp_ left 11:23 seatek left 11:26 wamba joined 11:30 pmurias joined 11:32 kaare_ left
moritz m: say Rat.new( 10**5000, 187234687234876) 11:36
camelia rakudo-moar 0b9736: OUTPUT«5340890701227561299357289027605004527565167220236300467016449209056249687183787149829886005025103573269646201425906615230375330192692147612911271816155796606793222647803689480755564429779275081604740183281343828729828714287608208531273558371203898260609761…»
DrForr m: say [*] ^200 11:37
camelia rakudo-moar 0b9736: OUTPUT«0␤»
DrForr m: say [*] 2..200 11:38
camelia rakudo-moar 0b9736: OUTPUT«7886578673647905035523632139321850622951359776871732632947425332443594499634033429203042840119846239041772121389196388302576427902426371050619266249528299311134628572707633172373969889439224456214516642402540332918641312274282948532775242424075739032403212…»
masak submits the "can't represent 1.7e308 as a literal" rakudobug 11:46
[ptc] masak++ 11:47
11:49 domidumont joined
masak have to take the few-and-far-between chances nowadays to submit bugs :P 11:50
lizmat masak: do you miss the old days of 10+ bugs / day ? 11:51
masak I'd have to say "yes and no" to that :) 11:52
m: say all("yes", "no")
camelia rakudo-moar ce85ba: OUTPUT«all(yes, no)␤»
lizmat m: say "yes"&"no" 11:53
camelia rakudo-moar ce85ba: OUTPUT«all(yes, no)␤»
moritz German has a very nice word for that: "jein"
masak so does Swedish: "nja"
moritz and a somewhat popular song about it too: www.youtube.com/watch?v=tcV7VN3l3bY
11:54 domidumont left
lizmat ah, fettes brot :-) 11:54
masak but in Swedish it ends up taking on a meaning of "I suspect you wanted me to answer 'yes', so mixing the two words is my way of breaking it to you nicely that the answer is actually 'no'"
kind of similar to the "...about that" of The Office fame 11:55
11:56 domidumont joined
grondilu received a very nasty fishing attempt for my Yahoo! account. Be careful everyone. 11:58
masak phishing is scary, yes
grondilu This one almost got me as it was very short and simple. Kind of smart. 11:59
masak "Assuming they could solve the problem of the headers, the spam of the future will probably look something like this: 'Hey there. Thought you should check out the following: <url>' because that is about as much sales pitch as content-based filtering will leave the spammer room to make." -- www.paulgraham.com/spam.html 12:01
12:07 bjz left, luis joined 12:09 domidumont left
TimToady waves from LHR 12:09
12:09 tokomer left
grondilu "LHR"? 12:09
TimToady London Heathrow 12:10
grondilu ok
masak is there an actual row of heaths nearby?
TimToady on our way to .pt
sure looked like it on final :)
12:10 bjz joined
masak :) 12:10
grondilu are you there for hollidays or work/conference? 12:11
TimToady though I understand they've finally (after about 20 years of dithering) decided to tear up some of the heaths and rows to build a 3rd runway
Web Summit
not that I know much about either of those 12:12
moritz masak: re your spam quote, the other thing they need to convince me (at least) is a credible sounding sender name
12:12 sufrostico joined
grondilu talking about Web, what's your take on webassembly? Don't you think the team should look into it as an important potential target? 12:12
12:15 CIAvash left
masak grondilu: that would be something to talk to pmurias about, methinks. 12:15
12:15 araujo_ joined
masak grondilu: I think pmurias considered it, but decided not to, at least at present. 12:16
12:16 CIAvash joined
grondilu pmurias works on the javascript port, but really I believe webassembly should concern the MoarVM team. 12:17
12:17 araujo left
masak not sure I agree with that, but sounds interesting. maybe ask on #moarvm, then? :) 12:17
12:17 araujo_ left 12:18 araujo_ joined 12:19 wamba left 12:20 araujo_ left 12:21 araujo_ joined
grondilu I've talked about wasm with pmurias, I think he rejected it at a time wasm was still very tied to javascript. It's not anymore. There is a toolchain from C/C++ now. So it would make sense to have MoarVM target wasm directly. MoarVM would just have to ensure it can be compiled with the experimental branch of clang. 12:21
and apparently it can already be compiled with the main branch 12:22
masak last I read from pmurias, it's going well with the js backend. I'm still looking forward to be able to run Perl 6 in the browser in any form.
12:23 araujo_ left, araujo_ joined
grondilu it will be nice when the js backend works, but then some time will be spent to improve it. I'm afraid this time will be wasted. It may be best to focus on wasm asap. 12:24
moritz how well do wasm applications integrate with existing js applications and frameworks? 12:25
grondilu js will eventually also generate wasm, so different applications should be able to communicate well. 12:26
moritz that doesn't sound very concrete 12:27
grondilu are you asking how easy it would be for a wasm code to call a js application? If this js application can generate wasm, then it's easy, isn't it? 12:29
I mean I know there is "assembly" in "webassembly" but still it has things like "modules", which are "distributable, loadable, and executable" 12:31
webassembly.org/docs/modules/
so if your js application or framework generates a wasm module, you're good to go I presume. 12:32
12:37 CIAvash left
masak m: say -0e0 12:40
camelia rakudo-moar bb662f: OUTPUT«-0␤»
masak m: say 0e0 == -0e0; say 0e0 === -0e0
camelia rakudo-moar bb662f: OUTPUT«True␤True␤»
masak I think we have an RT open somewhere opining that the second one comparison ought to be False 12:41
12:41 rindolf left
masak which is funny, because it's the *opposite* of the expected behavior of NaN 12:41
m: say NaN == NaN; say NaN === NaN
camelia rakudo-moar bb662f: OUTPUT«False␤True␤»
masak ...which works already
12:49 aborazmeh left, randomuser02323 joined
randomuser02323 hello? 12:51
masak is this thing on?
*screeching feedback in loudspeakers*
randomuser02323 hi, how much of perl5 should one know before diving into perl6? 12:52
12:52 brrt` joined
El_Che randomuser02323: zero 12:52
masak randomuser02323: it's possible to start with zero prior Perl 5 knowledge
randomuser02323 cool :)
El_Che randomuser02323: however, learning perl 5 is never wasted
masak especially not if you're going to do Perl 5 development too ;) 12:53
randomuser02323: the languages are a bit confusingly named. they're more two (related) languages than versions 5 and 6 of one language.
12:54 brrt left
masak learning one might increase your understanding of the other -- it did for me -- but focusing on just one of them is totally fine, too 12:54
we're biased, but we recommend Perl 6 ;)
El_Che randomuser02323: I enjoy both. In some cases 1 is more appropiate to the situation than the other 12:55
randomuser02323: and as masak says, I conder them to be different languages of the same family.
masak "sister languages"
El_Che or "bro-laguages" if you're male chaivinistic :) 12:56
12:57 lichtkind joined
randomuser02323 masak, el_che, :) thanks! I'll start out with perl6 then! 12:59
masak randomuser02323: let us know how it goes! 13:00
pro tip: asking things on the channel has a lot of beneficial effects, both for $learner and for @crowd
DrForr Especially for those of us writing the reference material :) 13:01
randomuser02323 masak, sure
13:02 jast joined 13:06 nicq20 joined
nicq20 Hello \o 13:06
viki \o\
yoleaux 6 Nov 2016 12:14Z <tbrowder> viki: last chance to object to my module breakup/naming scheme at github.com/tbrowder/Misc-Utils-Perl6
13:11 ggoebel left, bjz left 13:15 ggoebel joined 13:19 wamba joined 13:21 domidumont joined, CIAvash joined
masak m: say <\\o o/ \\o\\ \\o/>.roll(5).join(" ") 13:24
camelia rakudo-moar e3e3fe: OUTPUT«\o\ \o/ \o/ \o \o/␤»
nicq20 It's like a party! 13:25
masak m: say Q<\o o/ \o\ \o/>.words.roll(5).join(" ")
camelia rakudo-moar e3e3fe: OUTPUT«\o o/ \o \o \o/␤»
TimToady m: say Qw<\o o/ \o\ \o/>.roll(5).join(" ") 13:27
camelia rakudo-moar e3e3fe: OUTPUT«o/ \o\ \o\ \o\ o/␤»
viki m: say Qw<\o o/ \o\ \o/>.roll(5) 13:31
camelia rakudo-moar 40704b: OUTPUT«(o/ o/ o/ \o\ \o\)␤»
masak m: say Qw<\o o/ \o\ \o/>.roll for ^5 13:33
camelia rakudo-moar 40704b: OUTPUT«o/␤\o\␤\o\␤\o␤\o\␤»
viki m: say Qw<\o o/ \o\ \o/>[rand * xx 5] 13:34
camelia rakudo-moar 40704b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ xx used at line 1␤␤» 13:35
viki :'(
masak .roll is there so you don't have to do rand() * .elems
yoleaux e.g. .roll 1d12
masak yoleaux: ...er, thanks.
masak looks funny at yoleaux 13:36
13:36 randomuser02323 left
viki .roll 1d20 13:37
yoleaux 20
masak Natural 20 :)
eythian looks pretty artificial to me 13:39
13:39 CIAvash left 13:50 nicq20 left, domidumont left 13:52 pierre_ left 13:54 brrt` is now known as brrt, brrt left, brrt joined 13:56 bstamour joined 13:57 wamba left 13:59 cdg joined 14:04 domidumont joined
pmurias grondilu: re running MoarVM on top of wasm isn't it a matter of compiling MoarVM with a modified C compiler and ripping out unsupporter libuv stuff? 14:05
* unsupported 14:11
stubbing those function would be better then ripping them out
viki ab5tract_: you around?
14:14 araujo_ left 14:16 bstamour left 14:19 skids joined
timotimo is also now looking at "checking for updates..." 14:21
at least 10 minutes now
also, "cleaning: windows update clean-up" apparently blocked on something else. or otherwise just ridiculously slow 14:24
brrt wonders if it would be possible to JIT compile wasm in a wasm environment 14:42
grondilu pmurias: it probably is, indeed. 14:43
lizmat would settle for faster JIT right now :-)
14:44 maybekoo2 left
brrt knows..... 14:44
14:45 n0xff joined
grondilu pmurias: (though to be honest I'm not qualified to give an informed answer) 14:49
arnsholt Some of you Perl 6 peeps have domains and stuff. Anyone know who's a reputable registrar these days?
viki arnsholt: I use 1and1.ca for personal stuff and 1and1.com for $work stuff and been fine with them for ~8 years 14:50
arnsholt: I also used active-domain.com.... Don't use them. Shoddy CS and security and they suck :)
grondilu also I don't think "running MoarVM on top of wasm" is a correct phrasing. wasm is not a emulation layer or anything. It's an architecture. So MoarVM targetting wasm makes as much sense as it targetting say x86 14:51
I suspect it would pretty damn fast 14:53
viki .tell ab5tract_ I had to revert your PR #911 as it broke 6.c-errata. See github.com/rakudo/rakudo/pull/911#...-258854543 14:56
yoleaux viki: I'll pass your message to ab5tract_.
jnap_ Active state seems to be expanding language support. Anyone reach out for supporting perl6? Any interest? 14:57
viki What would they be doing? 15:00
For P5 they offer Windows builds, but we do them ourselves... What else does AS do?
viki 's mental image of AS is "worse Perl 5 than Strawberry Perl with its own, package ecosystem that offers ancient versions" 15:01
lizmat viki: for better or worse, they provide business support for Perl 15:02
I think that's a nice thing to have
mst viki: Enterprise Support
which is its own bag of strange, and has to have its own priorities
15:03 domidumont left
lizmat what mst said :-) 15:03
mst if you don't understand why AS is useful, you're probably not their target market, and that's completely fine
viki Ah
mst note that it took me some years to switch to this position myself, starting from one much more like yours :)
viki :) 15:04
pmurias grondilu: targeting wasm seems to imply compiling down to wasm, which is something that might makes senses when wasm evolves a lot 15:05
brrt: you can jit compile wasm 15:06
15:06 iH2O joined 15:10 domidumont joined
pmurias brrt: fun fact, nqp-js/rakudo-js generates some JS at runtime for some things as an optimalization (for accessors and setting of default values for objects) 15:11
15:11 iH2O left 15:15 nicq20 joined 15:16 kurahaupo__ joined 15:17 rindolf joined
viki It's quite encouraging to see many positive comments on today's front-page P6 HN question ( news.ycombinator.com/item?id=12888784 ), especially from people I don't even recognize :) 15:23
15:24 wamba joined 15:25 gregf_ left
brrt pmurias: cool 15:26
pmurias do we have a measure of 'Is Perl 6 taking off?' 15:32
mst I don't think so, and I'm not sure we really need one yet
"are people having fun with perl6?" is probably more important at this stage
brrt yeah, what mst says... 15:33
it is not our time to care about the size of our conference hall just yet 15:34
that may happen in the future, and it might not
there are still people that come here as newbies, and from what I gather, the overall experience they have is still improving 15:35
15:35 smash left, Jonis left, Jonis joined, smash joined
brrt a from a system dynamics standpoint, the question is, how long are we retaining new users, and how much does the number of new users we get depend on the number of existing, active user 15:36
oh, and how much users do we get independently of our existing userbase
15:39 FROGGS joined
brrt the whole point is that languages are mostly popular because they are popular 15:39
FROGGS o/
brrt \o 15:40
now, if 'natural inflow' is large enough, you'll get users no matter what 15:41
e.g. google's go
15:41 chansen__ joined 15:42 rodarmor left, chansen_ left, chansen__ is now known as chansen_, notbenh_ left, edenc left, w4and0er96 left, isacloud left, peteretep left, SmokeMachine____ left, SmokeMachine____ joined
brrt not to say that didn't solve new problems, but i'd say that that the main reason it took off is that it being 'the google language' would be sufficient reason for many people to take a look 15:42
retention and transmission doens't have to be so high for it to be popular in that case 15:43
15:43 zacts left, ugexe left, mrsolo left, hoelzro left, zakharyas left, geekosaur left, domidumont left 15:44 mrsolo joined 15:45 w4and0er96 joined, parisba joined, isacloud joined, hoelzro joined, gregf_ joined 15:46 olinkl joined, sftp left 15:47 sftp joined, brillenfux left
brrt anyway </rant> 15:47
15:47 brrt left 15:48 rodarmor joined 15:51 peteretep joined, zostay joined 15:52 Khisanth left 15:53 edenc joined, pierre_ joined, neuraload left, notbenh_ joined 15:54 geekosaur joined, zakharyas joined, ugexe joined 15:57 Rawriful joined, domidumont joined 15:58 pierre_ left 15:59 abraxxa left
viki Yeah, I agree that there's no measure and probably shouldn't be measured anyway. 16:01
One take away for me from that thread is to write more about about Perl 6's async/conc/paralel stuff. 16:04
16:05 Khisanth joined
viki And another take away is to ignore all of this inflamatory stuff in the future: almost missed a bus in the morning replying to this on Facebook and now wasted an hour replying to comments on HN >_< 16:05
16:09 parisba left
DrForr Yep. I'm just glad that someone was able to resond politely; Talking about blah blah Perl is too complex blah blah why didn't they just do the compiler tightly optimized and perfect on release like every other language didn't because people have the memory of a goldfish and forget that *their* favoriate language had teething problems too, but it's easier to slag off someone else's hard work than it is to acknowledge their fave language's history. 16:12
16:13 parisba joined 16:16 chansen_ left
pmurias paste.debian.net/893344/ - should this pass in nqp? 16:16
16:17 mr-foobar joined
mst viki: btw, I'm not sure if this has occurred to you, but: even if somebody actually *is* being deliberately difficult, accusing them of it is almost never constructive 16:17
16:18 CQ joined
viki mst: sure, but I'm not always rational. Once in a while, I like to give it to my primal instincts, and lash out at random strangers on the Internet ;) 16:18
nqp: grammar ABC { token rad_number { $<radix> = [\d+] {} :my $r := ''~$<radix>; {ok($r eq '123')} } }; ABC.parse('123', :rule<rad_number>); 16:20
camelia nqp-moarvm: OUTPUT«ok 1␤»
viki pmurias: you need to insert an empty block ^ I was told this is a bug
mspo heh HN 16:21
16:21 chansen_ joined
mspo viki: best of HN is here: www.reddit.com/r/programmingcirclejerk/ 16:21
hey there's a p6 comment on there today
16:21 n0xff left
viki that URL doesn't look SWF :P 16:22
mspo just a lot of snark
timotimo "checking for updates"
16:22 Actualeyes left
mst argumate.tumblr.com/post/1528232921...n-argumate <- regexps and parse combinators 16:23
FROGGS pmurias: as viki said, you need a {} to force updating $/... that even happens in rakudo, and it is a bug
16:23 optikalmouse joined
FROGGS m: grammar ABC { token rad_number { $<radix>=[\d+] :my $r := ~$<radix>; {say "'$r' ||| '$<radix>'" } } }; ABC.parse('123', :rule<rad_number>); 16:25
camelia rakudo-moar 29a3fa: OUTPUT«Use of Nil in string context␤ in regex rad_number at <tmp> line 1␤'' ||| '123'␤»
pmurias the code is was taken from and minified from Perl6::Grammar
FROGGS m: grammar ABC { token rad_number { $<radix>=[\d+] {} :my $r := ~$<radix>; {say "'$r' ||| '$<radix>'" } } }; ABC.parse('123', :rule<rad_number>);
camelia rakudo-moar 29a3fa: OUTPUT«'123' ||| '123'␤»
viki ||| 0.o
pmurias line 3418
viki Oh, it's inside a string :) 16:26
FROGGS viki: just a visial separator
visual*
viki MS Visual Separator 6
pmurias github.com/rakudo/rakudo/blob/nom/....nqp#L3420
FROGGS m: grammar ABC { token rad_number { $<radix>=[\d+] <.unsp>? :my $r := ~$<radix>; {say "'$r' ||| '$<radix>'" } } }; ABC.parse('123', :rule<rad_number>);
camelia rakudo-moar 29a3fa: OUTPUT«No such method 'unsp' for invocant of type 'ABC'␤ in regex rad_number at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
FROGGS m: grammar ABC { token rad_number { $<radix>=[\d+] <[\s]>? :my $r := ~$<radix>; {say "'$r' ||| '$<radix>'" } } }; ABC.parse('123', :rule<rad_number>); 16:27
camelia rakudo-moar 29a3fa: OUTPUT«Use of Nil in string context␤ in regex rad_number at <tmp> line 1␤'' ||| '123'␤»
FROGGS weird...
viki m: grammar ABC { token rad_number { $<radix> = [\d+] <ws>? :my $r := ''~$<radix>; {ok($r eq '123')} } }; ABC.parse('123', :rule<rad_number>); 16:28
camelia rakudo-moar 29a3fa: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ ok used at line 1␤␤»
viki nqp: grammar ABC { token rad_number { $<radix> = [\d+] <ws>? :my $r := ''~$<radix>; {ok($r eq '123')} } }; ABC.parse('123', :rule<rad_number>);
camelia nqp-moarvm: OUTPUT«not ok 1␤»
viki fwiw, tokens used by unsp have {} in them, so that's prolly why it works 16:29
FROGGS we are 'lucky' then :S 16:30
timotimo when is "checking for updates" finished? 16:34
viki What are you updating? :)
timotimo windows
viki
.oO( well, THERE'S your problem... )
16:35
timotimo it's been going for like 2 hours now
viki 0.o
mst timotimo: reboot it, see if that helps
timotimo: if it doesn't, turn the machine completely off, then back on, and see if that helps 16:36
16:36 Actualeyes joined
mst timotimo: if it doesn't, back up your data, reinstall the OS, and see if that helps 16:36
windows troubleshooting loop: "next step is always 'turn it off and on again' except harder"
soon docker and the cloud will bring this troubleshooting approach to us all
nicq20 The time depends on what version of Windows you have. They range from ~1month ... Inf 16:37
16:37 ufobat left 16:38 jonas1 left
CQ timotimo: fresh windows 7 install? There were some huge bugs... and a series of patches to install manually to reduce it from days to hours. You'll find it if you google for it, but be sure to read at least 10 soutions, at some point they converge ;) 16:39
timotimo i can't believe this. i just want to play some unreal tournament 16:40
i *am* playing some unreal tournament 16:41
but still ...
mst I just came here to play some UT and honestly I'm feeling so attacked right now
timotimo windows >:( >:(
viki Play it on Linux :D 16:42
nicq20 \o/
timotimo viki: too lazy to figure out how to 16:43
mst: <3
nicq20 If I remember right this patch fixes the Updater. www.microsoft.com/en-us/download/d...x?id=49540 16:44
It's a bug with Sp1 in Win7
16:48 ale1ster joined, zakharyas left
viki m: my $x = 0; my $y = -20; say ($x||-∞) max ($y||-∞) 16:49
camelia rakudo-moar 764cfc: OUTPUT«-20␤»
viki Does this look sane to pretend 0 is not a value to consider?
pmurias Any idead why rad_number in rakudo actually works when the bug workaround is after the :my?
viki pmurias: because <.unsp> token has {} workarounds in it, maybe? 16:50
16:50 brrt joined
viki m: grammar ABC { token foo { 42 {} }; token rad_number { $<radix> = [\d+] <foo>? :my $r := ''~$<radix>; {ok($r eq '123')} } }; ABC.parse('123', :rule<rad_number>); 16:50
camelia rakudo-moar 764cfc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ ok used at line 1␤␤»
viki nqp: grammar ABC { token foo { 42 {} }; token rad_number { $<radix> = [\d+] <foo>? :my $r := ''~$<radix>; {ok($r eq '123')} } }; ABC.parse('123', :rule<rad_number>);
camelia nqp-moarvm: OUTPUT«not ok 1␤» 16:51
viki nqp: grammar ABC { token foo { {} }; token rad_number { $<radix> = [\d+] <foo>? :my $r := ''~$<radix>; {ok($r eq '123')} } }; ABC.parse('123', :rule<rad_number>);
camelia nqp-moarvm: OUTPUT«not ok 1␤»
viki Nope. No idea.
timotimo nicq20: i'm on windows 8.21
8.1*
nicq20 Oh, hmm. Sorry, never really messed with Win8. 16:52
16:53 CQ left
gfldex timotimo: the windows update server may be congested. It can take hours before the update continues. 16:54
16:54 tushar joined
timotimo wow. 16:56
17:01 zakame joined, ale1ster left 17:11 Juerd left, xinming left 17:13 xinming joined 17:18 brrt left 17:20 jarjarPHP joined
El_Che timotimo: support.microsoft.com/en-us/kb/3200747 17:23
timotimo: without that updates will take 24 hours on a fast pc, 48 on a slower one 17:24
viki 0.o holy crap 17:25
El_Che The part of my brain that is ruled by conspiracy theories puts forward the idea that is part of an evil plan to push you to windows 10 17:26
bbl
17:27 optikalmouse left 17:28 tushar left
viki I wouldn't be surprised. Windows 10 is super spyware that gives them all your data and you can't even disable updates on it :) 17:29
timotimo El_Che: dude i told you i'm on windows 8 17:31
17:31 zakame left
El_Che timotimo: missed that 17:33
however. Probably the same.
viki huggable: uni :is: «»×÷−∘≅πτ𝑒∞…‘’‚“”„「」⁺⁻¯⁰¹²³⁴⁵⁶⁷⁸⁹∘∅∈∉∋∌⊆⊈⊂⊄⊇⊉⊃⊅≼≽∪∩∖⊖⊍⊎ 17:34
huggable viki, Added uni as «»×÷−∘≅πτ𝑒∞…‘’‚“”„「」⁺⁻¯⁰¹²³⁴⁵⁶⁷⁸⁹∘∅∈∉∋∌⊆⊈⊂⊄⊇⊉⊃⊅≼≽∪∩∖⊖⊍⊎
japhb viki: Why that particular set? Is that actually the full set supported by Rakudo right now? 17:39
viki japhb: it's a copy/paste from docs.perl6.org/language/unicode_te...codepoints 17:40
It's my solution over trying to figure out how to set up compose sequences properly on my current box ^_^ 17:41
japhb WFM
I was going to suggest just putting that string in the topic, but then I realized the topic is longer than one line on my maximized terminal, so perhaps the topic needs some trimming/golfing first 17:42
17:45 xinming left, xinming joined 17:47 andrzejku joined 17:48 parisba left 17:52 parisba joined 17:53 pmurias left 17:54 pierre_ joined 17:56 girafe joined, telex left 17:58 cdg left, nicq20 left, telex joined 17:59 pierre_ left
viki So why did Karen step down as Pres of TPF? Or is that a secret? 17:59
( context: blogs.perl.org/users/shadowcat_mdk/...angin.html ) 18:00
lizmat viki: fwiw, I heard about it from the blog post 18:03
18:07 tushar joined, firstdayonthejob joined
viki hehe, it's funny how I saw the Perl 6 HN thread posted in r/perl and thought mojo folks likely having a kick out of it... Glance at channel log and sure enough, not only about Perl 6 by disecting Zoffix too :) 18:15
18:16 Actualeyes left 18:18 ufobat joined
mspo all things considered, perl6 is surprisingly popular 18:19
viki Yeah. And TBH I came to feel keeping the Perl brand had a benefit... for Perl 6 at least. 18:20
harmil_wk I updated that bug we talked about on Friday with a new test case demonstrating the defaults-setting issue with respect to library code: rt.perl.org/Ticket/Display.html?id=130020
viki Despite the need to tell people that P5 and P6 are different langs.
mspo if someone can magic up a few quasi-popular projects/frameworks I think it has a chance to do okay
18:20 kyclark joined
mspo viki: I disagree but <shrug> 18:20
a little late now ;) 18:21
viki Exactly :)
harmil_wk P5 and P6 are the same language. P6 just has a bit more outside of "use Inline::Perl5" ;-)
mspo I have a feeling p6 will have a story like golang
viki What's golang's story?
mst "because google" 18:22
mspo the story: "we expected a bunch of c++ programmers to jump on board but ended up getting all of the python people"
viki haha :)
mspo google is basically dropping python internally, so I'm told
in favor of doing stuff in go
kyclark I'm working on a new post for blogs.perl.org, and I'd like opinions on my code, specifically if there's anything I can use in P6 to make it cleaner and/or show off some cool P6 feature/syntax: pastie.org/10957667
18:23 firstdayonthejob left
mspo so perl6 will be like "we were expecting all of the old perl5 people to come over but it ended up being $somethingelse" 18:23
18:23 AlexDaniel joined
kyclark E.g., line 75 I want to create an array of Ball objects all at once (my Ball @balls = do for ^$balls { Ball.new(:rows($rows), :cols($cols)) };) Any better/cooler way to do that? 18:23
mst mspo: yeah, that's basically what I expect to happen
viki kyclark: you can write as submethod BUILD (PosInt :$!cols, PosInt :$!rows) { without a need for separate assignment in body 18:24
kyclark Also, line 78, how to I get all the balls to move better than [email@hidden.address]
mspo kyclark: make a blog showing really boring, idiomatic, non-utf8-source-code doing something super useful in a short number of lines :)
El_Che I've tried to like python. I failed. Go, on the other hand is pretty nice.
18:24 firstdayonthejob joined
mspo El_Che: yes 18:24
viki mspo: oh, right from when I started using Perl 6, I always felt the attempt to focus on bringing Perl 5 users over was... strange. Just due to vast differences in languages. 18:25
mspo if golang had phasers it would be really sweet ;)
being unable to safely bind to port 80 in go is just annoying
harmil_wk I think Perl 6 replaces an important role in the language space that Common Lisp used to hold: the example of what happens when you do all the things. Our challenge is in trying to find a way to use that lever to capture audience...
viki kyclark: actually, you don't seem to need submethod BUILD at all. Just write all of that stuff in the body when defining the attributes. 18:26
kyclark So then create a "method row" that sets it if not initialized? 18:27
viki kyclark: and another thing, you use $.vert-dir inside the class all over the code, but it's typical to use $!vert-dir, which is attribute access, while $. is a method call on top of it.
kyclark: um, no you'd just write has Int $!row is rw = (1..$!rows).pick; 18:28
And that shouild work IIRC
kyclark Ooo, pretty! 18:29
viki kyclark: and Ball.new(:rows($rows), :cols($cols)) can be written as Ball.new(:$rows, :$cols)
I'd write that entire line as this (but, it's just me): my Ball @balls = ^$balls .map: Ball.new: :$rows, :$cols; 18:30
18:30 cdg joined
viki whereas @balls.map(*.move); I'd write as .move for @balls; 18:31
viki shrugs
kyclark: looks good to me. kyclark++ writing things \o/ 18:32
"<jberger> I think the idea that there is no video of a cheering room and larry wall ceremonially uploading perl6-christmas (or whatever the damn version is) is a travesty" 18:36
TimToady!! You let us all down :D
m: class { has $.rows; has $.meows = (1..$!rows).pick; }.new(:42rows).meows.say 18:40
camelia rakudo-moar e10f76: OUTPUT«6␤»
viki m: class { has $.rows; has $.meows = (1..$!rows).pick; }.new(:42rows).meows.say
camelia rakudo-moar e10f76: OUTPUT«26␤»
viki Yup. Works.
18:42 canopus left 18:51 canopus joined 18:52 dha joined 18:53 Juerd joined, andrzejku left 18:56 xinming_ joined 18:59 xinming left
lizmat kyclark: looks like a link doesn't have a </a> ? 19:08
mst viki: news.ycombinator.com/item?id=12891489 # :D 19:10
viki seen it :P 19:14
lizmat kyclark: also, cutting and pasting your code into a script doesn't compile ?
mst viki: the edit was new to me and made me happy
viki mst: oh, I didn't notice the edit before :D 19:15
19:15 brillenfux joined 19:17 brillenfux left 19:18 andrzejku joined 19:20 maybekoo2 joined
Xliff m: enum IncompletelyDefined ( A => 1, B, C, D ); 19:21
camelia rakudo-moar e10f76: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared names:␤ B used at line 1␤ C used at line 1␤ D used at line 1␤␤»
Xliff m: enum CompletelyDefined ( A, B, C, D );
camelia rakudo-moar e10f76: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared names:␤ A used at line 1␤ B used at line 1␤ C used at line 1␤ D used at line 1␤␤»
RabidGravy boom!
Xliff m: enum CompletelyDefined <A B C D>
camelia ( no output )
Xliff WTF?
m: enum IncompletelyDefined ( A => 1, B => 2, C => 3, D => 4); 19:22
camelia ( no output )
Xliff OK, there's a problem here with compatibility with C-libs.
The first declaration is commonly used in C.
Is there a Perl6-ish equivalent?
FROGGS m: enum IncompletelyDefined ( A => 42, 'B', 'C', 'D' ); say +B 19:26
camelia rakudo-moar e10f76: OUTPUT«43␤»
Xliff FROGGS++ 19:27
As always.
vendethiel Xliff: enum CD <<:A(42) B C D>>; say +B;
m: enum CD <<:A(42) B C D>>; say +B;
camelia rakudo-moar e10f76: OUTPUT«43␤»
Xliff FROGGS: Any progress on XML::LibXML?
FROGGS Xliff: no :o(
not enough time...
Xliff I feel you man. 19:28
FROGGS m: enum IncompletelyDefined ( 'A' => 42, 'B', 'C', 'D' ); say +B # I'd call this a bug
camelia rakudo-moar e10f76: OUTPUT«1␤»
Xliff Yikes!
19:28 jarjarPHP left
gfldex FROGGS: it should at least warn that the Pair is meaningless in that spot 19:29
19:29 cdg left, Tonik joined
kyclark lizmat: Movable Type is killing my "enum" line 19:29
gfldex FROGGS: however, a colonpair is not the same thing as a Pair and would should educate better
kyclark it doesn't like the <> operator, and I'm trying to figure out a different way to write it that will satisfy both Perl and MT 19:30
lizmat kyclark: I guess you need to use &lt; for < and &gt; for ?
>
using that will copy/paste correctly afaik
kyclark It's in a <pre>, so I thought it would be safe
lizmat you can have <i> inside a <pre> so it isn't :-) 19:31
FROGGS gfldex: well... I dont like warnings. so it should either do what I meant, or it should parsefail 19:32
let me RT it
gfldex m: enum E ( 'A' => { say "foo" }, 'B' ); 19:34
camelia rakudo-moar e10f76: OUTPUT«Block object coerced to string (please use .gist or .perl to do that)␤ in any type_declarator:sym<enum> at gen/moar/m-Perl6-Actions.nqp line 4383␤»
viki kyclark: you can write it in Markdown. If you indent with 4 spaces, it should work fine. 19:35
gfldex FROGGS: IIRC enum values where ment to hold much more then just Int. So the Pair form does make sense, eventhough it doesn't work quite yet. 19:36
kyclark Ah, good to know. I also like the ``` for code that I use in Gitbook
Xliff m: use NativeCall; class A is repr('CStruct') { has A $.aa; has int32 $.bb; has A $.cc; } 19:37
camelia ( no output )
FROGGS gfldex: I dont see how the type of the value has anything todo how keys are handled? 19:38
gfldex: ohh hold on, I read 'doesnt', but you said 'does' :o)
gfldex: never mind then :o)
gfldex FROGGS: if the type is anything but Num literals the parser should enforce Pairs for every key/value 19:39
Xliff m: use NativeCall; class A is repr('CStruct') { has A $.next; has int32 $.bb; has A $.prev; }
camelia ( no output )
viki kyclark: I don't think the ``` for code will work on Movable Type, since it's not part of vanilla Markdown
FROGGS Xliff: the names do not matter
viki kyclark: oh, maybe it will. I may be misrememebering and it's the ```some-lang that you can use on GitHub that's not supported. 19:40
FROGGS : use NativeCall; class A is repr('CStruct') { has int8 $.a; HAS A $.b } # boom?
m: use NativeCall; class A is repr('CStruct') { has int8 $.a; HAS A $.b } # boom?
camelia rakudo-moar e10f76: OUTPUT«(signal SEGV)»
FROGGS hehe
FROGGS .oO( I knew it! :P )
Xliff O_o 19:41
Yeah. Compiler should catch that. Circular.
RT? 19:42
gfldex m: use NativeCall; class A {...}; class A is repr('CStruct') { has int8 $.a; HAS A $.b }
camelia rakudo-moar e10f76: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot change REPR of A now (must be set at initial declaration)␤at <tmp>:1␤------> 3lass A {...}; class A is repr('CStruct')7⏏5 { has int8 $.a; HAS A $.b }␤»
FROGGS Xliff: that wants RTing, yes 19:43
gfldex m: use NativeCall; class A is repr('CStruct') {...}; class A is repr('CStruct') { has int8 $.a; HAS A $.b }
camelia rakudo-moar e10f76: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot change REPR of A now (must be set at initial declaration)␤at <tmp>:1␤------> 3ruct') {...}; class A is repr('CStruct')7⏏5 { has int8 $.a; HAS A $.b }␤»
FROGGS m: use NativeCall; class A is repr('CStruct') {...}; class A { has int8 $.a; HAS A $.b } 19:45
camelia rakudo-moar e10f76: OUTPUT«(signal SEGV)»
FROGGS m: use NativeCall; class A is repr('CStruct') {...}; class A { has int8 $.a; has A $.b }
camelia ( no output )
19:48 Tonik left
Xliff gfldex: That's error is also something that might need rethinking. 19:52
Say I have module B that wants conditional support of module A and uses some of the classes defined in B. 19:53
Errr...
Say I have module B that wants conditional support of module A and uses some of the classes defined in B
Dammit...
Say I have module B that wants conditional support of module A and uses some of the classes defined in *A*
Class B will need to predefine those classes and define the repr.
The problem happens when class A is loaded and it's classes have placeholders that have already defined the repr. 19:54
I guess I should try and load A, first? 19:55
19:56 pierre_ joined
andrzejku hey guys 19:56
what do you think about javascript?
Juerd Useful but too much typing for how few language features it has. 19:57
viki andrzejku: it's fine, but DOM is annoying :) 19:58
andrzejku ohh
viki getDocumentByManyMoreCharacters.
andrzejku as from my side I see that javascript killed perl
viki haha 19:59
andrzejku: nah, it was still frowned upon when everyone was using PHP and ROR already
andrzejku :-) 20:00
well
20:00 pierre_ left
FROGGS Xliff: yes, sounds like you want to load A first 20:02
TimToady waves from Lisbon 20:04
viki \o
FROGGS waves from Kinderzimmer
20:08 domidumont left
timotimo don't wave the kid around like that! 20:09
FROGGS shhh! they're falling asleep! 20:11
20:13 javan joined
FROGGS btw, I enjoy JavaScript very much... 20:19
and it could be so much worse
masak yes, JavaScript is pretty nice
FROGGS think of a abap-in-browser or even php-in-browser language! /o\ 20:20
masak JavaScript has definitely killed Perl, but only in the sense that JavaScript has killed *all* languages, period.
20:20 javan left
masak the thing we joke around about sometimes, "everything is a just a dialect/slang of Perl 6", is literally true of all the languages that compile to JavaScript 20:21
Xliff Perl* >> JS
It is a decent language, but it has flaws.
I would prefer Perl.
El_Che FROGGS: shut up. We have a "responsive" app at work. The first screen on phone/tablet is the typical big-buttons. Once you click that you get a 90's abap interface 20:22
20:22 cgfbee left
FROGGS *g* 20:22
masak I'm not talking about language quality. I find many reasons to prefer Perl (5 and 6) to JavaScript. 20:23
just saying that JavaScript has already won.
El_Che: "Advanced Business Application Programming"? that's a new one to me.
awwaiid agreed here
20:23 jargan joined
masak El_Che: sounds like a not-so-subtle torture method. 20:23
FROGGS masak: never seen SAP under the hood?
masak no, only heard about it.
El_Che I was making fun of that at the coffee machine. The ABAP devs were there and they didn't find me as funny as the rest of the poeple :) 20:24
FROGGS masak: awww, good for you :o)
20:24 jast left, cgfbee joined
masak FROGGS: more luck than self-preservation, I'm afraid ;) 20:24
El_Che I wanted to do a Trump impression and talk about building a wall to stop ABAP interfaces, but a inner voice told me to stop 20:25
20:25 pierrot left, pierrot_ joined
timotimo should i read that hacker news thread, or is it just going to make me sad? 20:26
masak timotimo: it was a mixed bag.
awwaiid yes?
20:26 pierrot_ left, pierrot_ joined
viki timotimo: just gonna make you sad :) 20:26
masak timotimo: I think if you have to ask, then perhaps not. :) 20:27
El_Che mixed bag of poo and fire!
viki timotimo: well, no... it's a mixed bag, as masak says, but IMO there's no point reading it :)
El_Che (haven't read it yet)
viki (I regret reading it)
20:27 labster joined
masak timotimo: or perhaps the question can be rephrased into the simpler question "will HN tell me something meaningful about Perl 6?" :P 20:27
FROGGS masak: that highlights abap pretty well: rosettacode.org/wiki/Date_format#ABAP 20:28
btw, sy-datum+6(2) is a subtring, where sy-datum is the variable 20:30
masak FROGGS: looks like if COBOL and stored procedures had a secret love child.
FROGGS in fact, it is a substring shorthand... and no, you cant subtring from the end this way
masak FROGGS: at least dashes are valid in identifiers! :D
Xliff I'm still not used to that. 20:31
It makes sense in a language where identifiers are sigilized.
FROGGS IIRC the dashes are separators of structures and their fields
Xliff But just looks.... wrong
viki The Perl 6 version for that entry is missing out on core-only formatting features:
m: DateTime.now.yyyy-mm-dd.say
camelia rakudo-moar 62005f: OUTPUT«2016-11-07␤»
Xliff Ooooh! 20:32
Juerd viki: It's a wiki... :D
masak m: Date.today.say
camelia rakudo-moar 62005f: OUTPUT«2016-11-07␤»
Xliff m: DateTime.now.hh-mm-ss.say
camelia rakudo-moar 62005f: OUTPUT«No such method 'hh-mm-ss' for invocant of type 'DateTime'␤ in block <unit> at <tmp> line 1␤␤»
Xliff :W
:(
m: DateTime.now.yyyy-yyyy-dd-dd.say
camelia rakudo-moar 62005f: OUTPUT«No such method 'yyyy-yyyy-dd-dd' for invocant of type 'DateTime'␤ in block <unit> at <tmp> line 1␤␤»
Xliff Well crap.
viki Xliff: it's not voodoo
FROGGS viki: you can add it as an alternative
viki m: DateTime.now(:formatter{.year ~ "-" ~ .day}).say
camelia rakudo-moar 62005f: OUTPUT«2016-7␤»
Xliff Methods, not arbitrary formats. 20:33
Still. hh-mm-ss is a no-brainer and should be considered.
Maybe I'll PR that.
viki Juerd: FROGGS that's easy to say, but it needs an account... and an email... and confirming via email...
Xliff m: DateTime.now.mm-dd-yyyy.say
camelia rakudo-moar 62005f: OUTPUT«No such method 'mm-dd-yyyy' for invocant of type 'DateTime'␤ in block <unit> at <tmp> line 1␤␤»
Xliff ;O
FROGGS viki: shall I do it?
viki FROGGS: sure. FROGGS++ 20:34
m: DateTime.now.^methods(:local).say
camelia rakudo-moar 62005f: OUTPUT«(new now clone Instant posix offset offset-in-minutes offset-in-hours later truncated-to whole-second in-timezone utc local Date DateTime daycount day-of-month IO day-of-week days-in-month earlier week week-number is-leap-year week-year weekday-of-month yy…»
viki m: DateTime.now.^methods(:local).grep({.name ~~ /yy/).say
camelia rakudo-moar 62005f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3now.^methods(:local).grep({.name ~~ /yy/7⏏5).say␤ expecting any of:␤ statement end␤ statement modifier␤ statement modifier loop␤»
viki m: DateTime.now.^methods(:local).grep({.name ~~ /yy/}).say
camelia rakudo-moar 62005f: OUTPUT«(yyyy-mm-dd)␤»
viki hm
Xliff goes to fiddle.
viki Ah, it's given by Datish 20:35
FROGGS viki: hmmm, I guess it doesnt make sence to add that example since we cant fulfil the second print statement... 20:36
viki In fact, DateTime::Format would make more sense to provide various formatters instead of using a C-named function *sigh* :(
FROGGS: well, what does "%A, %B %d, %Y" give?
timotimo are there any actionable complaints from anyone who actually tried/used perl6 in that thread? 20:37
FROGGS viki: I thing I like moment.js's api
Xliff method yyyy-mm-dd() { sprintf '%04d-%02d-%02d',$!year,$!month,$!day }
/o\ --- I was expecting magic
viki heh
FROGGS Xliff: but magic is harder to debug
viki Ah, it gives Monday, November 07, 2016 20:38
FROGGS maybe I'll write a DateTime::MomentJS some day that exposes the identical API as moment.js
would be nice to have one formatting rule for front- and backend
20:38 harmil_wk left
viki FROGGS: yeah, for that it makes sense to use a module, but IMO it makes sense to include the core way for the first line, at least 20:39
Xliff FROGGS: Not if the magic is magic enough.
method mm-dd-yyyy() { sprintf '%02d-%02d-%02d',$!month,$!day,$!year }
Easy peasey.
viki Since it's just an argless method on the Dateish object
Xliff m: say DateTime.now 20:40
camelia rakudo-moar 62005f: OUTPUT«2016-11-07T21:40:14.055580+01:00␤»
Xliff PR submitted. 20:42
viki PR for what? 20:43
m: say DateTime.now(:formatter{ sprintf "%2d:%2d:%2d", .hour, .minute, .second }).say
camelia rakudo-moar 62005f: OUTPUT«21:43:45␤True␤»
Juerd You might want to make those %02d 20:44
viki Aye
masak Xliff: the one for $!year should be '%04d'
FROGGS viki: okay? rosettacode.org/wiki/Date_format#Perl_6
viki m: DateTime.now(:formatter{ sprintf "%02d:%02d:%02d", .hour % 12, .minute, .second }).say
camelia rakudo-moar 62005f: OUTPUT«09:44:52␤»
masak heh -- complain about lack of magic, and then introduce bugs in your own version :P
FROGGS *g* 20:45
viki FROGGS: good nuf. Thanks :D
Xliff Aaaand... another one. 20:46
viki :/
Xliff "Add hh-mm-ss to DateTime.pm"
viki Xliff: I don't see it
Xliff Just submitted.
viki Xliff: have you built it and ran the spectest :} 20:48
Xliff Nope.
I can do that now, though.
viki m: use MONKEY; augment class DateTime { method hh-mm-ss { sprintf "%02d:%02d:%02d", $!hour,$!minute,$!second; } }; DateTime.now.hh-mm-ss.say 20:49
camelia rakudo-moar 62005f: OUTPUT«21:49:00␤»
viki Xliff: merged, thanks. But in the future, yeah, it makes sense to run the stresstest.
Or spectest if your box isn't super-dupper-core-heavy 20:50
Xliff zoffixvikicollective: Will do that in the future.
(resistance is futile... you know you want to say it, ZoffixBorg!)
AlexDaniel the idea of adding dd-mm-yyyy method is just nonsense. See this: en.wikipedia.org/wiki/Date_format_by_country 20:52
viki Xliff: I take it you'll also submit docs and tests to roast, right? :) 20:53
masak AlexDaniel: I don't think anyone suggested that. :) 20:54
AlexDaniel masak: and what does that mean??
viki masak: there's actually a PR for it. But it looks like it's not going in. 20:55
viki & relocating
AlexDaniel well, I guess it means you don't have github notifications turned on…
masak guess so
viki Xliff: FWIW, All tests successful. Files=1200, Tests=130127, 149 wallclock secs (20.01 usr 2.92 sys + 2630.67 cusr 245.17 csys = 2898.77 CPU)
labster That's a fun PR. 20:56
AlexDaniel “looks like”, ha! This is just beyond … okay, I'll just move on…
viki (that's stresstest with your merged PR)
masak I wouldn't want us to merge a PR with dd-mm-yyyy in it, no
labster I'm going to suggest mm-yyyy-dd for my next PR!
masak the DateTime classes have been not-so-subtly ISO-8601-centric since they were last rebooted (many years ago). I think that's a winning trait.
of course, all is fair in whatever non-core DateTime modules people dream up. 20:57
labster I still need to write the Discordian date module. ddate.pl is a classic.
masak and gosh no, I don't have github notifications turned on :P
20:58 bjz joined
masak I think I would enjoy a Chinese lunar calendar module. 20:59
'night, #perl6
labster Good nigh, masak
AlexDaniel Cambodia – Short format: yyyy-mm-dd, Long format: dd-mm-yyyy
I wonder what does it mean…
FROGGS maybe there is another definition of long and short 21:00
Xliff In another universe, maybe
labster en.wikipedia.org/wiki/Mesoamerican..._calendar?
FROGGS gnight #perl6
21:01 FROGGS left
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/11/07/...t-a-boost/ 21:05
dha lizmat++ 21:07
21:09 cdg joined
viki lizmat++ good weekly 21:11
21:13 wamba left
bartolin yeah, lizmat++ 21:15
21:19 bjz_ joined
dha Huh. I may have missed a meeting, but is zef *supposed* to be failing to install things with an error of "No fetching backend available"? 21:21
21:21 bjz left, ChoHag left 21:23 cck0 joined, tushar left 21:24 cck0 left
dha In related musings, is the fact that panda bails if you try to install a module that's already installed supposed to be a feature or a bug? 21:24
AlexDaniel what happens when you do the same thing with zef? 21:25
“The logo is cute, I will say.” Wow! That's on Hacker News! 21:26
gfldex dha: since any module/program may require a module of a given version, just rushing in and installing a new version may fail. Versioning is not to well supported yet, hence the odd default. 21:27
dha Ah. Ok. So, feature, then. :-)
gfldex it would be nice to have a proper error message with version numbers displayed tho 21:28
dha I *think* in practice the problem is that there are times when a module's prereqs try to install even though they're already installed. 21:29
21:30 andrzejku left
RabidGravy nine, is the lexical module loading stuff good to test? I'll test and fix all my modules if so :) 21:30
dha For instance, if you try to install HTTP::UserAgent, it tries to install HTTP::Status, despite that being already installed, and that lead to panda bailing. 21:31
And the "No fetching backend available" I'm getting with zef, I totally don't understand.
But that may be module dependent. or something. :- 21:32
RabidGravy I thought panda didn't try to install the deps if they were already installed
dha /
RabidGravy - apparently that is not (always?) the case.
At least here. 21:33
gfldex dha: if your zef woes persist (could be a github timeout) please file a bugreport at github.com/ugexe/zef/issues 21:34
labster Thanks for the weeklies, lizmat++
AlexDaniel “I think that logo is really childish and weird looking.” okay, now it is balanced 21:35
dha Ta. Currently seems to be heisenbugging on me, but if I can actually figure out a working test case for failure, I'll do that.
RabidGravy dha, that could be a panda version thing as I've just installed HUA having checked that HTTP::Status was installed and it's fine 21:36
dha I thought my panda was up to date, but I could be wrong. 21:37
dha checks
21:38 bjz_ left
viki AlexDaniel, wait, wait... so is the logo approved by the crowds of Internet strangers or not? I need to decide whether to spend any more time with perl 6 21:42
lizmat
.oO( it's childish, so it appeals to children, so we will have the future muhaha )
21:43
[Coke] playing the long game!
DrForr Get 'em when they're young... 21:44
AlexDaniel viki: this thread does not seem to be very representative. But it seems that this logo is 20+ year old line noise, so you'd better spend your time on something else!
RabidGravy In the last week I've done Scala, Ruby, Perl 5 and Perl 6 - I'm fairly certain I know my preferences :-\ 21:47
AlexDaniel RabidGravy: soo… is it golang? :)
dha RabidGravy - so, APL? 21:48
RabidGravy I'll try and sneak both of them in foor the hell of it ;-)
vendethiel I'd love it if I could sneak in some APL at work... 21:52
Perl 6 is far easier to sneak in. Just write scripts for your colleagues and voila...
nine RabidGravy: yep. the branch is a couple days out of date but otherwise I'd consider it merge worthy 21:54
RabidGravy I'll build it tomorrow and see
fixing for the effects of lexical loading is backward compatible I guess :) 21:55
mspo not sure getting moar + all the stuff is so easy to "sneak" in 21:56
nine RabidGravy: yes. Considering that it's usually just adding an occasional use statement.
RabidGravy yeah 21:57
mspo, I mad a Vagrantfile to make a rakudo image on Friday in work :)
22:01 skids left
mspo RabidGravy: need perl6packer 22:05
RabidGravy It's all going to be great :) 22:06
22:10 RabidGravy left, leedo left
El_Che agh 22:17
trying out unity 8 on ubuntu
it feels like windows 8
bah
it's maid for people that love grease marks on their laptop screens 22:18
made
22:26 asdf_ joined 22:29 asdf_ left 22:32 maybekoo2 left 22:43 nicq20_ joined
nicq20_ Hello o/ 22:43
dha Hello 22:44
AlexDaniel 🙋 22:45
22:45 flaviusb left
DrForr Evenin'. 22:45
22:46 flaviusb joined 23:02 cpage_ left 23:03 rindolf left 23:10 kurahaupo__ left 23:13 dha left 23:16 imcsk8 left 23:23 ajr_ joined 23:25 Lucas_One left
ajr_ Does anyone know how much memory is needed for the first step in the make process? The error code I'm getting suggests the process was forcibly killed, and I suspect it was an OOM condition. 23:25
gfldex is this still on arm?
ajr_ Yes
gfldex can't tell then :) It's about 1GB here locally 23:26
there is no JIT for arm in moarvm so it's going to take ages in any case
ajr_ Time doesn't matter much, I can set it going and leave it, but it's difficult to do much about memory. 23:27
AlexDaniel what distro are you using? 23:28
gfldex consider the arm port to be untested
AlexDaniel I'm asking because if it is anything debian-based, you can simply install it from debian testing repos 23:31
and that will take almost no time an no memory
23:32 firstdayonthejob left 23:35 espadrine joined 23:36 cpage_ joined 23:37 seatek joined 23:39 ufobat left
ajr_ Installing from a debian repo feels like cheating. I'm trying to debug the install process. 23:39
timotimo ajr_: what makes you think of the first step in the make process? 23:44
0.06user 0.01system 0:00.07elapsed 98%CPU (0avgtext+0avgdata 27744maxresident)k
the first step in the make process takes only about 27 megabytes of ram, and finishes in about 0.07 seconds 23:45
23:46 geekosaur left
timotimo gfldex: i'm not sure jit makes such a big difference for the rakudo build process, tbh. arm still gets spesh, which is definitely quite valuable 23:46
23:48 lichtkind left, geekosaur joined
gfldex it takes more then 2 hours to build rakudo. I know because the debian build infrastructure got a 2h timeout on the build of a single package. 23:49
timotimo oh, and it doesn't finish?
gfldex they must have changed something because there are arm64 packages for rakudo 23:50
timotimo mhm
PerlJam moritz++ and Zoffix++ for prodding people towards the advent calendar 23:52
ajr_ timotimo - Comparing the commands with a make -n's output. 23:55
timotimo /home/timo/perl6/install/bin/nqp-m tools/build/gen-cat.nqp moar src/vm/moar/ModuleLoaderVMConfig.nqp src/Perl6/ModuleLoader.nqp > gen/moar/m-ModuleLoader.nqp
that's the first line it spits out
ajr_ I think that's it; unfortunately, it's inconvenient to get the Pi and WiFi connections together. 23:57
23:57 nicq20_ left 23:58 ChoHag joined