Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-01-20

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:02 vendethiel joined #perl6
00:02 MadcapJake It's still too early to use but I thought I'd post my progress: https://github.com/MadcapJake/p6dx
00:03 MadcapJake The completions are generating, but I still need to write the multi MAIN that searches through all the available completions.
00:04 MadcapJake Since it's really close to being ctags, I think I'll add a flag to generate ctags too.
00:10 n0tjack joined #perl6
00:28 silug joined #perl6
00:31 sortiz joined #perl6
00:31 sortiz hi #perl6
00:31 vinnix joined #perl6
00:34 BenGoldberg joined #perl6
00:36 skids o/
00:41 bjz joined #perl6
00:45 vinnix o/
00:49 eternaleye joined #perl6
00:52 n0tjack joined #perl6
00:54 Actualeyes joined #perl6
00:55 pierre-vigier joined #perl6
00:58 M-matthew joined #perl6
00:58 M-Illandan joined #perl6
00:58 pierre-vigier joined #perl6
01:02 yeahnoob joined #perl6
01:13 n0tjack joined #perl6
01:53 bpmedley joined #perl6
01:56 xpen joined #perl6
02:02 avs_ joined #perl6
02:03 pierre-vigier joined #perl6
02:24 vendethiel joined #perl6
02:40 kaare_ joined #perl6
02:41 FreezerburnV joined #perl6
02:41 FreezerburnV Is @*INC not supposed to be available in a BEGIN block in 6.c anymore?
02:46 zamolxes joined #perl6
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:48 M-matthew joined #perl6
02:52 geekosaur I don't think it's available at all?
02:53 FreezerburnV When did that change? I used to be able to modify it in a previous version. Hm
02:53 geekosaur with the switch to CompUnitRepos, shortly before 6.c release
02:54 FreezerburnV I want to have perl6 search the directory a script is being run from for modules
02:54 FreezerburnV Gotcha
02:54 FreezerburnV What's the correct way to do what I just said in 6.c then?
02:54 FreezerburnV And what's a CompUnitRepo?
02:54 geekosaur http://design.perl6.org/S22.html#Distributions%2C_Recommendations%2C_Delivery_and_Installation
02:55 * geekosaur does not know the answer to your questions, sadly
02:57 FreezerburnV I don't think I have the mental capacity to read through and actually understand all that right now, too tired
02:58 FreezerburnV If someone has a quick example of adding a directory to search for perl6 modules, I would appreciate it. Otherwise I'll have to work on this later
03:03 geekosaur this is usually the wrong tome of day, I'm afraid; many of the key folks are in Europe
03:03 geekosaur *time of day
03:04 FreezerburnV Ah, gotcha
03:07 MadcapJake FreezerburnV: my @files = find( :dir('.'), :type('file'), :name(rx!(\.pm6?)$!) )».IO.flat.list;
03:10 FreezerburnV MadcapJake: I might have phrased my request badly. I want to tell perl6 a new directory to search for modules when useing them
03:10 FreezerburnV Currently it does not seem to search '.', sadly
03:11 FreezerburnV (which seems odd, considering that one of the most common cases is possibly that you'll be useing your own modules...?)
03:11 MadcapJake You're right, it doesn't search `.` it only searches the locations given in the error.
03:12 MadcapJake You could try `use lib '.'`  don't know if that will work
03:13 FreezerburnV That works, thanks! Don't remember that being documented anywhere, but I haven't done anything with perl6 for a bit, so I don't know if documentation has been updated or not
03:13 FreezerburnV What is that doing?
03:18 skids FreezerBurnV: "use lib" sets the search path, but only inside the current lexical scope.
03:18 FreezerburnV Ah, interesting. Duly noted
03:18 FreezerburnV Thanks
03:23 FreezerburnV Also: How do I build a .moar version of a perl6 module ahead of time? (or whatever the windows version uses, I think I saw a different file ending when compiling with rakudobrew)
03:23 FreezerburnV (I could be completely wrong considering moar is the underlying vm...)
03:25 MadcapJake don't know anything about that but i think you're just thinking of moarvm's files.
03:25 AW3i joined #perl6
03:25 skids On the latest version they are compiled and stored compiled automatically.  So just using it once should do it.  You'll notice the first run after touching a file is slower.
03:26 FreezerburnV Ah, yeah, ok I'm seeing that now
03:26 aigan joined #perl6
03:26 FreezerburnV Sorry, used to a previous version where it didn't do that and I had to manually do that if I wanted to run a script in less then 30 seconds :)
03:26 FreezerburnV Looking forward to the future when compilation is faster!
03:28 MadcapJake Some are quite fast already! But definitely looking forward to more speed improvements.
03:29 FreezerburnV Native modules, at least, seem to take quite some time. SDL2::Raw takes greater than 10 seconds or so
03:29 MadcapJake oh wow
03:29 FreezerburnV Don't remember if the wrapper I'm working on was taking a decent chunk of time or not
03:30 FreezerburnV I'm excited to figure out more about perl6 though, so I can (theoretically) make a really nice wrapper around SDL2 and OpenGl in a good perly style. I know little enough that I'm sure anything I make write now will seem somewhat barbaric at first
03:31 FreezerburnV Hopefully I can actually get it done, put it out there, and have people who are much smarter than me whip it into much nicer shape
03:31 MadcapJake Perl 6 is great in that a beginner can write nice clean code.  Then everyday you learn something new that streamlines or condenses your code.  It's actually quite fun to grow with!
03:32 avs_ joined #perl6
03:32 arlenik joined #perl6
03:32 FreezerburnV That's what I seem to be seeing, and it's really exciting
03:33 awwaiid FreezerburnV: use lib '.'; # works for me
03:33 awwaiid oh, I didn't read that far ahead in the backlog, you got htat already
03:33 FreezerburnV On a totally unrelated note: Do you know if there are plans to be able to package perl6 applications to be standalone in some way and deployable to someone who does not have it?
03:33 FreezerburnV awwaiid: Yep, thanks though!
03:34 awwaiid FreezerburnV: there are no immediate plans, but I think it is a wishlist item for sure
03:34 awwaiid as in, I don't know of any particularly progressed examples of it
03:34 MadcapJake well since rakudo is a compiler, i'm sure it's possible, just perhaps down the line somewhere
03:34 FreezerburnV awwaiid, MadcapJake: Sweet
03:34 awwaiid also w/ jvm backend a .jar might be nice for some cases
03:35 MadcapJake yeah that would be awesome too
03:35 FreezerburnV I was assuming it wasn't available now, but knowing my rate of progress, by the time I want to deploy something I'm sure somethign will be available to package the end result
03:35 FreezerburnV awwaiid: Fair enough
03:35 avs__ joined #perl6
03:35 FreezerburnV awwaiid: Though I'm pretty sure the JVM backend isn't as fully-developed as the MoarVM one...?
03:36 MadcapJake Clojure and Ceylon both create war files that can be dropped into java servers very easily.  that would be really neat to see Perl 6 capable of doing too.
03:37 FreezerburnV MadcapJake: That would be neat, though I'm much more interested in gamedev-type stuff. A war file would be much easier than that, I would assume
03:37 arlenik Does anyone know what % of the people who have worked on Perl6 in the last decade or so were paid to work on it?
03:39 skids There's a grant process that keeps records.  As far as I know, it is a very small number (but those that were were among the most productive, so a larger number by LOC or other metrics)
03:39 MadcapJake FreezerburnV: btw did you see there are two SDL modules already http://modules.perl6.org/#q=sdl
03:40 FreezerburnV MadcapJake: Yep! one of them uses the old SDL 1.2, which I have no real interest in due to SDL2. The other is a "raw" (and incomplete!) wrapper around SDL2. Meaning it is literally a giant set of definitions for native functions along with the structs necessary to use them
03:41 FreezerburnV I'm adding missing functions to the raw one, along with a nicer wrapper around the raw native code
03:41 MadcapJake FreezerburnV: ahh yeah, well the raw one could at least give you a headstart in wrapping the bindings
03:42 MadcapJake Also this might be useful: https://github.com/Skarsnik/gptrixie
03:42 FreezerburnV I need to go get my modified Raw module off my other computer, actually. My current code doesn't work due to only having the version on github
03:43 FreezerburnV MadcapJake: Huh, that looks useful
03:44 FreezerburnV Though right now I'm going the slightly masochistic route so that I can learn NativeCall better, as well as general syntax of perl better (there seems to be multiple ways to define enums, which I forget the differences)
03:44 FreezerburnV (the current Raw bindings use at least two of them)
03:45 FreezerburnV Also I find it weirdly satisfying to write FFI code
03:47 noganex joined #perl6
03:47 MadcapJake alrighty then! I've been wanting to write a wrapper for allegro someday, I might try using that gptrixie tool on that
03:48 FreezerburnV Probably a good idea. Allegro is likely a lot bigger than SDL2
03:48 MadcapJake Also I was a good chunk of the way through a set of FluidSynth bindings, but to me it gets boring trudging through tons of functions that I don't even know how (or want) to use.
03:49 FreezerburnV Fair enough
03:49 FreezerburnV I have an odd laziness where I would rather trudge through writing the code than setting up the thing that would autogenerate the code
03:49 FreezerburnV Even if it would take several days less
03:50 MadcapJake well i know what you mean, not saying it's a bad thing, but after a while, my mind just wanders :P
03:50 FreezerburnV haha
03:50 FreezerburnV It's relaxing writing code that takes no effort while watching youtube or something
03:51 hobbs joined #perl6
03:51 Actualeyes joined #perl6
03:51 MadcapJake FreezerburnV: good on ya then! That's determination :)
03:52 Ben_Goldberg joined #perl6
03:52 MadcapJake Well you might've just convinced me to at least finish one of my two unfinished binding projects this way!
03:52 FreezerburnV "You write some code that didn't take incredible focus. It fills you with determinations."
03:52 FreezerburnV MadcapJake: Yay!
03:52 FreezerburnV More libraries for perl6 is good!
03:53 luis joined #perl6
03:54 moritz joined #perl6
03:54 musca joined #perl6
03:59 erdic joined #perl6
04:00 ZoffixWin joined #perl6
04:00 ZoffixWin joined #perl6
04:02 Calibell_ joined #perl6
04:02 ZoffixWin .
04:02 Zoffix .
04:02 yoleaux 15 Jan 2016 03:45Z <skids> Zoffix: I pushed some ramblings to user-experience
04:02 yoleaux 17 Jan 2016 11:37Z <jdv79> Zoffix: absolutely nothing.  i fell off the grid for two weeks.  sure, i can move them over.
04:04 Calibellus joined #perl6
04:06 Zoffix m: my \u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; my \l = 'abcdefghijklmnopqrstuvwxyz'; say join '', (u.comb Z l.comb)
04:06 camelia rakudo-moar 770d10: OUTPUT«AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz␤»
04:06 Zoffix m: my \u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; my \l = 'abcdefghijklmnopqrstuvwxyz'; say (u.comb Z l.comb).join: ''
04:06 camelia rakudo-moar 770d10: OUTPUT«A aB bC cD dE eF fG gH hI iJ jK kL lM mN nO oP pQ qR rS sT tU uV vW wX xY yZ z␤»
04:06 Zoffix Kinda weird the results are different :/
04:06 Zoffix How come?
04:10 MadcapJake m: my \u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; my \l = 'abcdefghijklmnopqrstuvwxyz'; say (u.comb Z l.comb)
04:10 camelia rakudo-moar 770d10: OUTPUT«((A a) (B b) (C c) (D d) (E e) (F f) (G g) (H h) (I i) (J j) (K k) (L l) (M m) (N n) (O o) (P p) (Q q) (R r) (S s) (T t) (U u) (V v) (W w) (X x) (Y y) (Z z))␤»
04:10 MadcapJake weird that the pairings are correct here, join is where it's failing
04:10 MadcapJake m: my \u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; my \l = 'abcdefghijklmnopqrstuvwxyz'; say (u.comb Z l.comb).flat.join
04:10 camelia rakudo-moar 770d10: OUTPUT«AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz␤»
04:11 MadcapJake that works Zoffix ^
04:11 Zoffix I'm more curious why the one that doesn't doesn't :)
04:11 skids Zoffix: the sub form of join must be flattening, is why.
04:12 Zoffix skids, that still leaves the problem for why it's joining in a such a weird way: "A", "aB"... etc
04:12 skids because:
04:12 Psyche^_ joined #perl6
04:13 skids m: ("A","a").Str.say
04:13 camelia rakudo-moar 770d10: OUTPUT«A a␤»
04:13 * Zoffix doesn't follow
04:13 Zoffix Ah
04:13 Zoffix K, I get it
04:14 Zoffix m: my \u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; my \l = 'abcdefghijklmnopqrstuvwxyz'; say ((u.comb Z l.comb).join: '').elems
04:14 camelia rakudo-moar 770d10: OUTPUT«1␤»
04:14 skids (("A","a"),("B","b")).join joins ("A","a").Str with ("B","b").Str
04:15 MadcapJake m: ((('a','b','c'),('d','e','f')),(('g','h','i'),('j','k','l'))).join
04:15 camelia rakudo-moar 770d10: ( no output )
04:15 MadcapJake m: ((('a','b','c'),('d','e','f')),(('g','h','i'),('j','k','l'))).join.say
04:15 camelia rakudo-moar 770d10: OUTPUT«a b c d e fg h i j k l␤»
04:16 skids m: (('a','b','c'),('d','e','f')).Str.say
04:16 camelia rakudo-moar 770d10: OUTPUT«a b c d e f␤»
04:17 MadcapJake interesting that the three layer tuple i posted, it only joins f and g but not c and d or i and j
04:18 skids Each list at the top level gets .Str'd.  There are two such lists.  .Str, apparently, flattens lists.
04:19 MadcapJake oh ok, so it isn't actually calling str on each tuple since the first two are being flattened via .Str
04:19 MadcapJake m: ((('a','b','c'),('d','e','f')).join,(('g','h','i'),('j','k','l')).join).join.say
04:19 camelia rakudo-moar 770d10: OUTPUT«a b cd e fg h ij k l␤»
04:19 skids FSVO "first".  Each of the ones iterated by .join is.
04:20 MadcapJake right, poor word choice :P
04:22 pierre-vigier joined #perl6
04:45 Actualeyes joined #perl6
04:49 avs_ joined #perl6
05:03 linuxuser9000 joined #perl6
05:05 n0tjack joined #perl6
05:08 ELBeavers joined #perl6
05:09 molaf joined #perl6
05:12 vendethiel joined #perl6
05:18 Zoffix Ahhh... I love being naughty: http://blogs.perl.org/users/zoffix_znet/2016/01/python-is-the-new-write-only-linenoise-language.html
05:18 laz78 joined #perl6
05:19 gfldex you forgot __init__
05:21 bartolin joined #perl6
05:22 quester joined #perl6
05:26 vendethiel- joined #perl6
05:36 quester m: say (1...63).hyper.map({sleep .1*rand;.is-prime ??  $_ !! ()}).flat;
05:36 camelia rakudo-moar 770d10: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61)␤»
05:36 quester m: say (1...64).hyper.map({sleep .1*rand;.is-prime ??  $_ !! ()}).flat;
05:36 camelia rakudo-moar 770d10: OUTPUT«()␤»
05:36 quester m: say (1...64).race.map({sleep .1*rand;.is-prime ??  $_ !! ()}).flat;
05:36 camelia rakudo-moar 770d10: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61)␤»
05:36 quester m: say (1...250).race.map({sleep .1*rand;.is-prime ??  $_ !! ()}).flat;
05:37 camelia rakudo-moar 770d10: OUTPUT«(193 197 199 211 223 227 229 233 239 241 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61)␤»
05:37 quester m: say (1...250).hyper.map({sleep .1*rand;.is-prime ??  $_ !! ()}).flat;
05:37 camelia rakudo-moar 770d10: OUTPUT«()␤»
05:38 quester Hmm.  Is it just me, or does it seem like hyper is acting strangely lately?
05:40 leedo joined #perl6
05:43 MadcapJake joined #perl6
05:47 cpage_ joined #perl6
05:49 Cabanossi joined #perl6
05:57 laz78 joined #perl6
05:59 mre joined #perl6
05:59 garu joined #perl6
06:00 pierre-vigier joined #perl6
06:07 maslan joined #perl6
06:10 pierre-vigier joined #perl6
06:15 abaugher joined #perl6
06:19 pierre-vigier joined #perl6
06:24 crux joined #perl6
06:24 pierre-vigier joined #perl6
06:29 pierre-vigier joined #perl6
06:47 pierre-vigier joined #perl6
06:52 samb1 joined #perl6
06:52 gfldex m: my \u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; my \l = 'abcdefghijklmnopqrstuvwxyz'; for (u.comb Z l.comb) -> $e { $e.Str.say }
06:52 camelia rakudo-moar 770d10: OUTPUT«A a␤B b␤C c␤D d␤E e␤F f␤G g␤H h␤I i␤J j␤K k␤L l␤M m␤N n␤O o␤P p␤Q q␤R r␤S s␤T t␤U u␤V v␤W w␤X x␤Y y␤Z z␤»
06:52 gfldex Zoffix: ^^^
06:56 pierre-vigier joined #perl6
06:58 ambs joined #perl6
07:02 avs__ joined #perl6
07:04 vendethiel joined #perl6
07:04 pierre-vigier joined #perl6
07:09 domidumont joined #perl6
07:09 _mg_ joined #perl6
07:11 pierre-vigier joined #perl6
07:12 dayangkun joined #perl6
07:14 domidumont joined #perl6
07:15 salva joined #perl6
07:21 gfldex m: sub infix:<|Z>(List:D \l, List:D \r){ gather for l Z r -> [\re, \le] { take re; take le; } }; dd (1,2,3) |Z <a b c d>;
07:21 camelia rakudo-moar 770d10: OUTPUT«(1, "a", 2, "b", 3, "c").Seq␤»
07:22 gfldex it might be sensible to introduce slippy versions of some operators
07:25 domidumont1 joined #perl6
07:26 sjoshi joined #perl6
07:32 domidumont joined #perl6
07:32 Calibellus joined #perl6
07:36 avs_ joined #perl6
07:36 yeahnoob joined #perl6
07:37 domidumont1 joined #perl6
07:44 firstdayonthejob joined #perl6
07:44 CIAvash joined #perl6
07:49 moritz or | as a meta operator
07:49 nakiro joined #perl6
07:51 El_Che hi perl6 people
07:53 FROGGS joined #perl6
07:55 FROGGS o/
07:57 bjz_ joined #perl6
08:08 xpen joined #perl6
08:08 Ven joined #perl6
08:09 RabidGravy joined #perl6
08:09 nakiro joined #perl6
08:10 vendethiel joined #perl6
08:10 abraxxa joined #perl6
08:12 darutoko joined #perl6
08:14 pierre-vigier joined #perl6
08:17 kjs_ joined #perl6
08:18 Averna joined #perl6
08:19 n0tjack joined #perl6
08:23 nadim joined #perl6
08:25 ely-se joined #perl6
08:30 zakharyas joined #perl6
08:31 abaugher joined #perl6
08:35 sno joined #perl6
08:36 vendethiel joined #perl6
08:37 * TimToady waves from Waikoloa
08:38 RabidGravy wherever that is
08:38 * ely-se ate an Hawaiian sandwich yesterday
08:38 RabidGravy sounds a long way from anywhere
08:39 RabidGravy I worked for a company based in Hawaii for a while a few years ago
08:43 sjoshi joined #perl6
08:50 cfloare joined #perl6
08:53 masak TimToady: oh haikoloa!
08:55 cgfbee joined #perl6
08:55 cfloare joined #perl6
08:55 vendethiel- joined #perl6
08:56 masak good morning, #perl6
08:57 abraxxa hi!
08:57 RabidGravy marnin!
08:58 quester left #perl6
09:04 cc9989 joined #perl6
09:04 ely-se where can I find exactly how multimethod candidates are selected?
09:05 masak I think S12 has a complete algorithm
09:05 masak ely-se: if there's anything in particular you're wondering about...?
09:05 ely-se dankeschon
09:05 ely-se masak: no, I just like knowing things
09:06 cgfbee joined #perl6
09:06 cfloare joined #perl6
09:07 rindolf joined #perl6
09:07 masak you're in the right channel ;)
09:08 masak (I mean, there's plenty of us here)
09:08 RabidGravy has anyone got something that can do some simulcrum of "test coverage" down the back of the sofa?
09:08 Ven masak: dozens!
09:09 masak ely-se: there's a section in S12 called "Multisub Resolution"
09:09 luiz_lha joined #perl6
09:09 masak Ven: dozens, nay scores, nay tens of us!
09:10 gfldex m: say 345 div 12;
09:10 camelia rakudo-moar 770d10: OUTPUT«28␤»
09:11 esh joined #perl6
09:11 daxim joined #perl6
09:11 masak m: say 345 divmod 12
09:11 camelia rakudo-moar 770d10: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4ZZF0BQgrR␤Two terms in a row␤at /tmp/4ZZF0BQgrR:1␤------> 3say 3457⏏5 divmod 12␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        s…»
09:11 masak m: sub infix:<divmod>($l, $r) { $l div $r, $l % $r }; say 345 divmod 12
09:12 camelia rakudo-moar 770d10: OUTPUT«(28 9)␤»
09:12 gfldex m: say 345 div o mod 12
09:12 camelia rakudo-moar 770d10: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0lRpGebjKP␤Undeclared routines:␤    mod used at line 1␤    o used at line 1␤␤»
09:13 gfldex m: my &divmod = &infix:<mod> o &infix:<div>;
09:13 camelia rakudo-moar 770d10: ( no output )
09:14 masak gfldex: ya can't `o` operators
09:14 masak wrong grammatical category
09:14 gfldex doesn't make sense, but nice to know that I could do that
09:14 secwang joined #perl6
09:17 cgfbee joined #perl6
09:18 moritz m: say (&[div] o &[mod)(345, 12)
09:18 camelia rakudo-moar 770d10: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yKDkGiFlYy␤Unable to parse expression in infix noun; couldn't find final ']' ␤at /tmp/yKDkGiFlYy:1␤------> 3say (&[div] o &[mod7⏏5)(345, 12)␤»
09:18 moritz m: say (&[div] o &[mod])(345, 12)
09:18 camelia rakudo-moar 770d10: OUTPUT«Cannot call infix:<div>(Int); none of these signatures match:␤    (Int:D \a, Int:D \b)␤    (int $a, int $b --> int)␤  in block <unit> at /tmp/OgdtLqbrbZ line 1␤␤»
09:18 moritz and iirc infix:<o> only works for single-argument functions, or something
09:19 ely-se m: grammar G { rule TOP { <r:sym<b>> }; proto rule r {*}; rule r:sym<a> { '1' }; rule r:sym<b> { '2' } }; G.parse('1').perl.say
09:19 camelia rakudo-moar 770d10: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new((:r(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "1", to => 1, from => 0)))), orig => "1", to => 1, from => 0)␤»
09:19 ely-se This does not fail to parse, surprisingly. Is that by-design?
09:19 gfldex you would have to .assume one of them
09:20 [Tux] csv-ip5xs       17.953
09:20 [Tux] test            22.251
09:20 [Tux] test-t          12.192
09:20 [Tux] csv-parser      50.003
09:21 cfloare joined #perl6
09:22 masak [Tux]: only one column of values today?
09:22 [Tux] I shortened the report to have less questions and automatically update http://tux.nl/Talks/CSV6/speed4.html and http://tux.nl/Talks/CSV6/speed5.html
09:22 masak [Tux]++
09:23 masak yes, that's more immediately understandable. nice
09:23 [Tux] the last column was somewhat meaningless here and if the 50000 column was wrong, then I would have started complaining before posting the timings
09:23 [Tux] speed5 is now automatically sorted
09:24 kjs_ joined #perl6
09:26 gfldex i just told Typesafe::XHTML::Writer how not to .indent. Bechmark went from 42.4298 s to 5.0526 s . So .indent seams kinda slow.
09:27 gfldex .indent is called 7891 times
09:28 gfldex m: for 1..7891 { my $s = "abc"; $s.=indent(0); }; say now - BEGIN now;
09:28 camelia rakudo-moar 770d10: OUTPUT«0.3533741␤»
09:28 gfldex m: for 1..7891 { my $s = "abc"; $s.=indent(2); }; say now - BEGIN now;
09:28 camelia rakudo-moar 770d10: OUTPUT«3.92408711␤»
09:29 gfldex if you _really_ have to indent use .indent(0) :->
09:30 moritz uhm, yes, .ident is regex based
09:30 moritz no wonder it's slow
09:31 * gfldex drops .indent like it's hot
09:31 moritz gfldex: if you simply want to indent with spaces, prepending ' ' x $indent is much faster
09:33 sammers joined #perl6
09:36 gfldex m: for 1..7891 { my $s = "abc"; $s = ' ' x 0 ~ $s }; say now - BEGIN now;
09:36 camelia rakudo-moar 770d10: OUTPUT«0.0238222␤»
09:36 gfldex m: for 1..7891 { my $s = "abc"; $s = ' ' x 2 ~ $s }; say now - BEGIN now;
09:36 camelia rakudo-moar 770d10: OUTPUT«0.02447584␤»
09:38 RabidGravy speedy
09:38 ely-se BEGIN now seems silly. CHECK now seems more appropriate.
09:38 moritz well, to be fair you'd have to .lines().map({ ' ' x 2 ~ $_ }).join("\n")
09:38 moritz m: say (CHECK now) - (BEGIN now)
09:38 camelia rakudo-moar 770d10: OUTPUT«0.03176252␤»
09:39 masak if I may bikeshed for just a bit about naming in the code, I think "outdent" is a too-clever neologism which seems to represent a negative indentation level, and "deindent" is much clearer, and means "reducing the indent level"
09:39 masak I can slip in a renaming patch, unless there's an uproar of protest
09:39 leont joined #perl6
09:40 * masak .oO( or a brouhaha )
09:40 gfldex you could ack the ecosystem for outdent
09:40 * moritz was about to do that
09:41 ely-se Python calls it "dedent" but that reminds me too much of tooth extraction.
09:41 gfldex @c>>.Str>>.indent($indent).join(NL) <-- .indent fits in there nicely, ' ' x 2~ not so much
09:41 RabidGravy :)
09:41 moritz moritz@hack:~/p6/perl6-all-modules$ git grep -l  --word outdent
09:41 moritz azawawi/farabi6/lib/Farabi6/files/assets/3rd-party/semantic-ui-v1.11.4/components/icon.min.css
09:41 moritz azawawi/farabi6/lib/Farabi6/files/assets/3rd-party/semantic-ui-v1.11.4/semantic.min.css
09:41 moritz so, only in .css files :-)
09:41 masak ely-se: Python seems keen on dropping letters. vide "elif"
09:41 moritz perl too :-)
09:41 moritz elsif
09:42 * masak goes ahead and spectests a rename
09:42 masak moritz: indeed.
09:42 masak by analogy, it'd made more sense if we called it "deident" :P
09:43 moritz ident?
09:43 moritz deident is like, logging out?
09:44 masak "outdent" sounds a bit like punching someone's teeth out
09:44 El_Che weird error msg: Cannot find method 'STORE' in method...
09:45 ely-se undent
09:45 El_Che masak: :)
09:45 kanishka joined #perl6
09:46 * masak .oO( "could you redent this code? someone predented it while I was metadenting it, and now it's all semidented" )
09:46 ely-se indon't
09:47 * masak .oO( my bastard coworker maldented my code! )
09:47 ely-se I like "unindent"
09:47 espadrine joined #perl6
09:48 masak that sounds like "to indent level 0" to me
09:48 moritz want to meet other denters? let's get cross-denting!
09:49 * masak .oO( <coworker> I'm sorry, misindenting wasn't my intent! )
09:49 * gfldex .oO( .negadent(2) )
09:51 ely-se yummy, yeast
09:52 El_Che any idea where "Can not find method "STORE"" can come from?
09:52 RabidGravy a proxy, which Proxy depends on what you were doing
09:52 moritz from... code?
09:53 ely-se El_Che: from somebody who is bad at English.
09:54 gfldex m: my @a = "abc", "def"; say @a>>.Str>>.&infix:<~>(' ' x 2).join("\n"),
09:54 camelia rakudo-moar 770d10: OUTPUT«abc  ␤def  ␤»
09:54 gfldex wrong way around
09:55 masak gfldex: that's because the "invocant" becomes the left-hand operand when you call an &infix like that
09:55 ely-se "Unknown string encoding: 'ebcdic'" :(
09:55 gfldex m: sub indent(\r){ ' ' x 2 ~ r }; my @a = "abc", "def"; say @a>>.Str>>.&indent.join("\n"),
09:55 camelia rakudo-moar 770d10: OUTPUT«  abc␤  def␤»
09:55 masak (incidentally what it'd have been if operators were actually methods)
09:56 sjoshi joined #perl6
09:56 masak m: my &indent = ' ' x 2 ~ *; my @a = "abc", "def"; say @a>>.Str>>.&indent.join("\n")
09:56 camelia rakudo-moar 770d10: OUTPUT«  abc␤  def␤»
09:57 ely-se Is there a variable containing a set of available encodings?
09:58 masak for my baseline spectest, t/spec/S17-supply/syntax.t dies after test 54
09:58 masak all the tests succeed up until that point
09:58 masak when I run the test file directly with `perl6`, the whole file succeeds
09:59 RabidGravy that sucks
10:00 dakkar_ joined #perl6
10:00 masak well, I'm more curious why that happens
10:00 masak is there something particularly interesting going on after test 54?
10:01 masak # multiple whenevers with channels
10:01 gfldex m: my @a = "abc", "def"; say @a>>.Str>>.&(' ' x 2 ~ *).join("\n"),
10:01 camelia rakudo-moar 770d10: OUTPUT«  abc␤  def␤»
10:01 gfldex :o
10:01 El_Che aha. Found my bug. Silly typo. $.var in method signature instead of $var.
10:01 gfldex $idiom++
10:01 moritz masak: try executing it when your system load is high?
10:01 masak gfldex: wow. cute.
10:01 moritz I think I prefer map :-)
10:01 masak moritz: how do I artificially raise my system load?
10:02 moritz masak: like, run a spectest with TEST_JOBS=8 and then start the test manuall in another console?
10:02 masak moritz: note, it fails under `make t/spec/S17-supply/syntax.t`, which shouldn't have that high a system load
10:02 moritz masak: oh
10:03 masak moritz: hm
10:03 moritz masak: that runs perl t/harness --fudge --moar --kep-exit-code t/spec/S17-supply/syntax.t
10:03 moritz masak: so that's what you can try next, plus maybe adding a --verbose
10:03 masak moritz: running it with `perl6` a few times while the spectest suite was running: it ran to completion all the way to 60 four or five times
10:03 masak moritz: then I ran it again, and then it got *stuck* after 54
10:03 masak moritz: now it just sits there
10:03 * masak ^C
10:04 masak ran it six more times to completion, then it got stuck again.
10:04 masak I think this is cause for quaranteening that test
10:05 gfldex masak: sudo aptitude install stress; stress --help
10:05 masak gfldex: ooh. neat.
10:05 masak gfldex++ # guessing correctly what platform I'm on
10:07 gfldex nice thing about stress is that you can tell it to have RAM stress only
10:08 * masak often has RAM stress :)
10:09 masak spectesting the rename, I get a "dubious" in t/spec/S32-io/IO-Socket-Async.t -- gonna ignore that 'cus IO::Socket::Async
10:09 masak IMO, that test file also belongs in quarantine
10:11 lnrdo joined #perl6
10:12 dalek rakudo/nom: 775271d | (Carl Masak)++ | src/core/Str.pm:
10:12 dalek rakudo/nom: rename s/outdent/de-indent/
10:12 dalek rakudo/nom:
10:12 dalek rakudo/nom: See bikeshedding discussion at
10:12 dalek rakudo/nom: http://irclog.perlgeek.de/perl6/2016-01-20#i_11912864
10:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/775271dfa9
10:12 masak this has been your daily non-semantic commit. let's see if I can make at least one today that actually improves something, too
10:15 jnthn Wait, when did outdent get added?
10:15 yoleaux 19 Jan 2016 23:10Z <b2gills> jnthn: wouldn't Seq.Numeric always be the same as Seq.elems?
10:15 jnthn .tell b2gills I'd hope so...
10:15 yoleaux jnthn: I'll pass your message to b2gills.
10:16 moritz jnthn: probably as an implementation detail of ident with a negative indent
10:16 moritz in auld lang syne
10:16 jnthn Oh, it's a lexical sub
10:17 jnthn No probs then :)
10:17 masak jnthn: yeah, I also did a bit of a double take before noticing it was lexical-only :)
10:17 masak aha, you know what I'd like to implement for Rakudo? -i
10:18 lnrdo joined #perl6
10:18 avs_ joined #perl6
10:18 jnthn Yeah, I don't have to smite you for back-compact violation thanks to the wonder of lexical scoping. \o/
10:18 masak it's probably the biggest reason I sidegrade to `perl` oneliners these days
10:18 masak but (a) I'm not at all sure exactly how the "safely overwrite the input file" magic works in Perl 5, and how to do that in Perl 6
10:19 masak and (b) I'm not sure I completely understand how the passing of the argument to -i works, or if it has support in NQP's argument parser
10:19 masak for example, `perl --help` says, "-i[extension]", but I don't think I've ever been able *not* to give it an extension
10:19 * masak tries
10:20 moritz masak: safely overriding input file is usually implemented by writing to a temp file first, and moving it to the new location later
10:20 masak well, I'll be
10:20 masak that was easy :)
10:21 masak moritz: I think I'm going to try to hunt down the implementation of that in Perl 5
10:21 masak (it's probably in toke.c) :P
10:21 masak just so that we don't implement it *worse* and then have to hang our heads in shame over something obvious
10:21 moritz I wonder if that'll be fun or "fun" :-)
10:23 Woodi "moving files" is traditional *nix/POSIX "atomic op" :)
10:23 avs__ joined #perl6
10:24 moritz Woodi: be careful; linux offers rename(), but that doesn't work across mount points
10:24 masak Woodi: also note that we're doing more here than just that atomic op
10:24 moritz (and /tmp/ being the traditional place for temp files can often be on its own file system)
10:25 masak Woodi: we're writing new file contents, and then moving the file
10:25 Woodi moritz: right
10:25 masak moritz: yeah, it's for reasons exactly like that I want to check prior Perl 5 art
10:25 masak (and maybe Python and Ruby if they do this too. do they? probably Ruby but not Python)
10:26 Woodi masak: that's a idea: create file.new then move to file so system prevents symlinks attacks
10:27 masak Woodi: what's a symlink attack?
10:27 * masak .oO( we also want to prevent updog )
10:28 Woodi masak: when you remove file and create new one someone can put symlink to /etc/shadow :)
10:28 masak hm, there was also a TheDamian module that did this...
10:28 masak ah, yes: https://metacpan.org/pod/IO::InSitu
10:29 masak I should look at that one, too
10:29 moritz masak: I'd trust p5p more than TheDamian with cross-platform, safe IO
10:30 masak 'sooth
10:32 kjs_ joined #perl6
10:33 vendethiel joined #perl6
10:34 brrt joined #perl6
10:34 ELBeavers joined #perl6
10:37 AlexDaniel joined #perl6
10:37 brrt ohai #perl6
10:40 AlexDaniel a quick note: -i is not implemented in Perl 6 (unfortunately!), so you have to use 「sponge」 in order to do that…
10:40 DrForr Morgen.
10:40 DrForr o/'
10:40 AlexDaniel or deal with tempfiles yourself if you don't want to rely on 「sponge」
10:40 brrt good morning DrForr
10:41 AlexDaniel and by not implemented in perl 6 I mean not implemented in rakudo… gah
10:42 AlexDaniel honestly it is pretty hard to talk about those two independently until we actually have some other implementation that actually works…
10:42 masak AlexDaniel: the discussion is about implementing it in Rakudo
10:43 AlexDaniel anyway, the one who implements -i in rakudo will get big ???????? from me
10:43 jnthn "not yet in Perl 6" is prefectly fine though...means "not in the specification of any version of Perl 6" :)
10:44 masak jnthn: but it is in S19, so... :)
10:44 masak probably not spectested, though
10:44 AlexDaniel anyway, just wanted to note that you can use 「sponge」 as workaround for now. Have to run now o/
10:45 jnthn masak: That's design, not spec(test) :)
10:46 masak AlexDaniel: that's good to know. thanks. :)
10:46 masak maybe `sponge` is another bit of prior art to look at
10:46 andrewalker joined #perl6
10:48 masak yup. it is.
10:49 RabidGravy yay!
10:49 masak "It  also creates the output file atomically by renaming a temp file into place, and preserves the permissions of the output file if it already exists.  If the output file is a special file or symlink, the data will be written to it."
10:49 masak from the man page
10:49 masak I knew there were things I hadn't thought of! :)
10:49 FROGGS joined #perl6
10:49 RabidGravy masak++
10:50 masak and there's a git repository
10:52 gfldex .indent can't be replaced with ' ' x $indent ~ * because .indent actually checks how much indentation is already there. What I need for my usecase as I don't recurse around.
10:52 gfldex my method indent(){ my $index = 0; $index += 2 while self.subst-eq('  ', $index); $indentor = '  ' x $index+2; }
10:52 gfldex that works for me and is 20% faster in my benchmark
10:53 masak far from a general solution though
10:54 gfldex sadly
10:54 masak I'm thinking whoever goes in and replaces those regexes in `method indent` to make it faster, might want to keep the regexes as comments
10:54 masak actually, this sounds like a good topic for a blog post, with benchmarks before and after
11:03 Ven joined #perl6
11:09 airomega joined #perl6
11:10 ChoHag joined #perl6
11:10 sjoshi joined #perl6
11:14 El_Che yeah. My OpenLDAP::DataConsistency app is done (first draft anyway). Let put it in production, clean it up and push it to the ecosystem
11:20 _mg_ joined #perl6
11:21 Zoffix joined #perl6
11:21 Zoffix joined #perl6
11:23 jdrab joined #perl6
11:28 Alina-malina joined #perl6
11:28 vendethiel joined #perl6
11:29 bjz joined #perl6
11:32 Zoffix Aristotle++ catching and fixing my awful mistake on http://blogs.perl.org/users/zoffix_znet/2016/01/python-is-the-new-write-only-linenoise-language.html
11:33 Alina-malina left #perl6
11:33 Zoffix I'm so glad the fix is still so simple :) So my article is still valid :)
11:34 yqt joined #perl6
11:37 masak Zoffix: I liked the post -- except for the tongue-in-cheek joshing parts ;)
11:37 Zoffix masak, the YouTube video linked at the end of it makes my blood boil... the Pythonists are lucky they only got the joshing :P
11:39 Zoffix or rather, that channel making a whole series of ridiculously ignorant Perl attack videos :) https://www.youtube.com/playlist?list=PLEK36Lo5sNhwkIA10kxd7PNyK-crDBycD
11:43 pierre-vigier joined #perl6
11:43 avs_ joined #perl6
11:44 vytas` joined #perl6
11:45 pierre-vigier joined #perl6
11:48 pmurias joined #perl6
11:51 vendethiel joined #perl6
11:53 kaare_ joined #perl6
11:59 pmurias Zoffix: is the Perl 6 version with Z and comb more readable to someone who knows neither Perl 6 or Python?
12:06 masak pmurias: also, relatedly, how much should a language cater to the group of people who doesn't know how to read it?
12:07 cc9989 joined #perl6
12:07 pmurias masak: I suspect it's mostly similiarity to whatever else is popular
12:10 Zoffix pmurias, I don't think that has much relevance. At least from the point of view of my article, the programmer group in question is the one who regularly reads/writes in the language. But, analyzing the two, I can argue the Perl 6 is still more readable than Python version: for Perl 6 one will need to look up "wtf Z is" and the method .comb. The join ... is more or less self explanatory, but we can count it too: that's 3 things to look up. In python
12:10 Zoffix version, we need to look up what zip() does, in particular to strings, then we need to figure out how 'in' behaves, then we need to figure out what math operations on strings do (which can be guessed) and then there's still a question of what a join method on an empty string does.
12:10 * Zoffix never found "readability for someone who doesn't know the language" a viable argument.
12:11 Zoffix Is Chinese an easy language to understand for someone who doesn't speak Chinese?
12:11 Zoffix looks like "linenoise" to me, but I'm sure people who speak related languges will disagree
12:11 * Zoffix runs to catch the bus
12:14 * brrt wonders if there are significant related languages to chinese
12:15 masak brrt: Mandarin and Cantonese are related. both are "Chinese languages"
12:16 masak brrt: Tibetan is probably the closest one outside of that group
12:16 timotimo Zoffix: we don't have to "calling it on an empty trying"!
12:16 timotimo (obviously using autocorrect or swype or something, eh?)
12:17 brrt masak: of course... i was simplistically thinking chinese was one language
12:17 timotimo also ... "viola! result." is hilarious :D
12:17 nowan joined #perl6
12:19 masak brrt: it's usually presented in that way (with Mandarin and Cantonese being "dialects") for some inscrutable reason
12:19 masak the reason probably being "a language is a dialect with an army and a navy" :)
12:19 vendethiel joined #perl6
12:21 timotimo Zoffix: i really don't understand the problem stated in that stackoverflow post. it says "every nth element of final list is from list 2", but then the 3rd is x, the 6th is y and the 9th is ... g?!?
12:22 brrt haha yeah...
12:22 masak Zoffix: also, pro tip based on experience: try to avoid things on the intertubes (whether comments, or YouTube videos, or YouTube comments) that make your blood boil
12:22 ZoffixMobile joined #perl6
12:23 ZoffixMobile timotimo, yeah, because second list only has 2 elements, x and y
12:23 timotimo i find the description of the problem very lacking.
12:23 kid51 joined #perl6
12:23 pmurias masak: I guess another commonly used readability metric would be "how readable it is to someone who sort of knows the language but doesn't care enough to learn it fully"
12:24 * brrt can second masaks comment on blood-boiling intertube contents
12:25 masak Don't Read the Comments™
12:25 timotimo that's indeed always good advice
12:25 masak pmurias: I'm wary of catering to people who don't care in various ways. I don't mind designing the language for people who can be bothered.
12:25 RabidGravy joined #perl6
12:25 ZoffixMobile pmurias, I often follow the "how many elements I have to parse" rule of thumb. a postfix for loop with two variables inside a method call is certainly eyebrow-raising to me than using a weird operator
12:28 ZoffixMobile masak, re blood boiling: https://xkcd.com/386/ :)
12:29 masak absolutely.
12:29 masak but the undertone even of that comic is that life is too short for that
12:30 timotimo i don't think that comic is trying to advocate preventing people from being wrong on the internet by spending time on that particular problem
12:31 brrt also, too many people will be wrong about too many things
12:31 masak right, the comic is about the futility of trying to prevent people from being wrong on the Internet
12:32 brrt in fact, i would probably find many things arguable about things $younger-self said
12:32 Skarsnik joined #perl6
12:32 masak " You should regard anything from 2001 or earlier as having been written by a different person who also happens to be named “Eliezer Yudkowsky”. I do not share his opinions." -- Eliezer Yudkowsky
12:33 Skarsnik Hello
12:33 masak hello, Skarsnik
12:33 brrt hi Skarsnik
12:36 tadzik masak: hah, that's a nice way of saying "it... it was a phase mom :("
12:36 tadzik I should write it down, may prove useful some day :P
12:37 * pmurias misses new hpmoar updates
12:37 tadzik reminds me of my english teacher, who once said "oh, Ted, you're young, you're allowed to say stupid stuff"
12:37 llfourn joined #perl6
12:37 tadzik in retrospect, I did indeed
12:42 lucs Can I get the PID of a started Proc::Async instance before it terminates?
12:42 Ulti fairly sure its ok to say stupid stuff all the way into old age too :3 at least thats the defacto standard
12:42 lucs s/ok/typical/
12:44 bowtie joined #perl6
12:45 brrt hmmm
12:45 brrt if we couldn't say stupid stuff anymore, that would be quite restrictive indeed
12:46 ely-se joined #perl6
12:46 * tadzik hums "forever young"
12:47 Actualeyes joined #perl6
12:47 Ulti it means people would just silently think stupid stuff without giving you the chance to correct them :S
12:47 timotimo especially given that "stupid stuff" should be judged by humanity's future shared understanding of the world
12:47 tadzik well, there're things universally stupid, and there's things to be judged by generations to come
12:48 masak pmurias: there's supposed to be one final update (an epilogue) later this year
12:49 ely-se nooooo
12:50 xpen joined #perl6
12:50 ely-se from 1.0 onwards it can only get worse :(
12:51 pmurias ely-se: you mean from hpmor 1.0 onwards?
12:52 ely-se no
12:53 masak nooooo
12:54 tadzik http://www.nooooooooooooooo.com/
12:54 masak DO NOT WANT
12:55 ely-se doc.perl6.org still says "Please note that *ALL* deprecated features will be removed at the release of Perl 6.0.0 (expected sometime in 2015)."
13:02 ely-se the documentation of DEPRECATED in particular
13:11 dalek doc: 569a7da | (Zoffix Znet)++ | doc/Type/Routine.pod:
13:11 dalek doc: Update the message displayed when DEPRECATED trait is used
13:11 dalek doc: review: https://github.com/perl6/doc/commit/569a7da164
13:13 stmuk damm you Zoffix! you are faster! :)
13:16 kjs_ joined #perl6
13:19 Skarsnik brrt, did you find the cause of my weird sigseg? x)
13:19 brrt no, not yet
13:19 brrt i'm not terribly familiar with the moarvm gc things
13:27 vendethiel joined #perl6
13:30 dalek perl6-roast-data: d45411f | coke++ | / (2 files):
13:30 dalek perl6-roast-data: today (automated commit)
13:30 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/d45411f62e
13:30 dalek perl6-roast-data: 4388063 | coke++ | / (2 files):
13:30 dalek perl6-roast-data: today (automated commit)
13:30 dalek joined #perl6
13:31 abraxxa dalek: IPv6 baby!
13:31 abraxxa dalek: botsnack!
13:31 Skarsnik x)
13:32 g4 joined #perl6
13:32 g4 joined #perl6
13:35 tadzik \o/
13:37 DrForr o/
13:38 llfourn joined #perl6
13:41 dfcarpenterak joined #perl6
13:45 [Coke] .
13:46 ZoffixWin_ joined #perl6
13:46 Xor_ joined #perl6
13:46 timotimo ×
13:46 ZoffixWin_ joined #perl6
13:47 pochi_ joined #perl6
13:47 yurivish_ joined #perl6
13:47 pmqs_ joined #perl6
13:47 colomon_ joined #perl6
13:47 noganex_ joined #perl6
13:47 pdcawley_ joined #perl6
13:48 bapa1 joined #perl6
13:48 jevin_ joined #perl6
13:49 ggoebel8 joined #perl6
13:49 jameslen_ joined #perl6
13:50 peter3 joined #perl6
13:51 mathw joined #perl6
13:51 Brock joined #perl6
13:51 nine_ joined #perl6
13:51 Mouq joined #perl6
13:51 pjcj joined #perl6
13:51 bhm_ joined #perl6
13:51 moritz_ joined #perl6
13:51 zacts_ joined #perl6
13:51 garu_ joined #perl6
13:51 jdv79_ joined #perl6
13:51 El_Che_ joined #perl6
13:51 BooK_ joined #perl6
13:51 atta_ joined #perl6
13:51 au_ joined #perl6
13:51 KotH_ joined #perl6
13:51 mls_ joined #perl6
13:51 psch_ joined #perl6
13:51 cfloare_ joined #perl6
13:51 cxreg2 joined #perl6
13:51 squain_ joined #perl6
13:51 decent_ joined #perl6
13:51 tinita_ joined #perl6
13:51 Rotwang_ joined #perl6
13:51 perlpilo1 joined #perl6
13:51 Ulti_ joined #perl6
13:51 jferrero_ joined #perl6
13:51 masak_ joined #perl6
13:52 cosimo_ joined #perl6
13:52 xenu_ joined #perl6
13:52 shmibs_ joined #perl6
13:53 [particle]1 joined #perl6
13:54 itz2 joined #perl6
13:54 sjohnson` joined #perl6
13:54 moznion joined #perl6
13:55 emdashcomma_ joined #perl6
13:55 rafl_ joined #perl6
13:55 skaji_ joined #perl6
13:55 yeltzooo9 joined #perl6
13:56 Celelibi_ joined #perl6
13:56 M-eternaleye joined #perl6
13:56 vike1 joined #perl6
13:56 Bucciarati joined #perl6
13:56 johan joined #perl6
13:57 sjohnsen joined #perl6
13:58 Amnez777 joined #perl6
13:58 ab5tract joined #perl6
13:59 kaare_ joined #perl6
13:59 stmuk joined #perl6
14:00 Amnez777 joined #perl6
14:00 bowtie joined #perl6
14:01 brrt netsplits!
14:01 moritz better the nets split than the nets spit :-)
14:02 felher joined #perl6
14:02 |Tux| joined #perl6
14:02 xdbr joined #perl6
14:02 RabidGravy joined #perl6
14:02 tadzik joined #perl6
14:02 DrPete_ joined #perl6
14:02 FROGGS joined #perl6
14:02 vytas joined #perl6
14:03 PerlJam joined #perl6
14:03 mtj_ joined #perl6
14:03 * masak .oO( there was a rent in the reticulum! )
14:03 ingy joined #perl6
14:03 masak everyone still with us? good, good.
14:03 retupmoca joined #perl6
14:03 raydiak joined #perl6
14:04 moritz those that aren't can't protest :-)
14:04 risou joined #perl6
14:04 raiph joined #perl6
14:05 charsbar__ joined #perl6
14:05 gfldex #perl6: Total of 342 nicks
14:05 hippie1 joined #perl6
14:05 autarch joined #perl6
14:05 gfldex so many intarwebs friends!
14:06 bowtie joined #perl6
14:07 Skarsnik why do I always have the weirdest probably ungolfable bug? x)
14:08 gfldex you like nativecall very much?
14:09 Skarsnik I don't use nativecall
14:10 hoelzro morning #perl6
14:11 [Coke] hoelzro: hio
14:11 hoelzro I wrote up a blog post about some experiences writing a Pod:: module for DOC INIT time, if anyone's curious: http://hoelz.ro/blog/getting-eod-pod-and-declarative-pod-to-play-nice
14:11 hoelzro o/ [Coke]
14:13 Skarsnik like how to explain: https://gist.github.com/Skarsnik/2ce915ed020db8fb91fb
14:16 bpmedley joined #perl6
14:17 skids joined #perl6
14:23 brrt RT #127308
14:23 brrt how toget a link?
14:24 Skarsnik the bot for that is not here I thik x)
14:24 timotimo oh, damn
14:24 timotimo tadzik: synopsebot was yours, right?
14:26 vendethiel joined #perl6
14:28 [Coke] it's https://rt.perl.org/Ticket/Display.html?id=127308 - I added a chrome search backend for RT, so I go to the omnibox, type "RT<TAB>" and then the number to get there.
14:28 ely-se synapsebot
14:28 diakopter m: say 2**74_207_281-1
14:28 camelia rakudo-moar 775271: OUTPUT«(timeout)»
14:29 gfldex m: say (2**74_207_281-1).is-prime
14:29 moritz rakudo-moar 775271: OUTPUT«(timeout)»
14:29 diakopter rotfl XD
14:29 camelia rakudo-moar 775271: OUTPUT«(timeout)»
14:29 moritz here, I'm faster than camelia
14:30 moritz diakopter: well, it only does a statistical test
14:30 diakopter say (2**74_207_281-1).is-mersenne
14:32 brrt what i would give to find all instances of 'old os x' and.. dispose of them
14:33 brrt os x and the apple pretty hardware may be one of the most powerful regressive forces in OSS today
14:33 [Coke] ?
14:33 uruwi joined #perl6
14:33 tadzik timotimo: originally, yes. It was later ported to perl6 by [Coke], I think
14:33 timotimo ah
14:34 brrt if i must, i will elaborate :-)
14:34 tadzik or colomon?
14:34 timotimo were you running it on some server or something?
14:34 timotimo since it's not running any more, apparently, why not run it on p6c infrastructure
14:34 tadzik I was running the perl 5 version years ago
14:34 tadzik I don't remember who was hosting the p6 version
14:34 brrt apple will happily sell you a laptop which is almost, but not quite, a capable developers machine
14:34 [Coke] tadzik: doesn't sound familiar.
14:34 * colomon has nothing to do with synopsebot
14:34 timotimo well, if you have no reason to use opengl ever ...
14:35 [Coke] brrt: I have a work mactop that is pretty servicable...
14:35 brrt because people confuse it for a capable developers machine, they expect development to just work
14:35 tadzik huh
14:35 nadim joined #perl6
14:35 brrt however, the apple ecosystem itself is not hackable per se
14:35 [Coke] brrt: "install xcode; install xcode command line tools". done.
14:35 brrt yes
14:35 brrt and apple gives you a set of tools which are almost, but not quite, workable
14:35 tadzik silly people! Development is because things don't "just work" :)
14:35 [Coke] with that and macports, I've yet to be annoyed.
14:35 [Coke] brrt: what is driving this complaint?
14:36 brrt too much stress in general :-)
14:36 * tadzik hugs brrt
14:36 brrt the RT ticket, in particular
14:36 nemo xcode has caused me so much pain over the years
14:36 nemo but it has gotten more usable lately
14:37 brrt the simple and dumb fact that we're quite unable to get a VM, a text-based VM, that's all I ask, of 'darwin' and associated build tools to test our stuff on
14:37 timotimo 2015-04-10 17:32:03     <--     synopsebot (~synopsebo@2001:780:101:ff00::2:9) has quit (Remote host closed the connection)
14:37 timotimo isn't that on our servers?
14:38 moritz it is
14:38 Fleurety joined #perl6
14:38 timotimo yeah, that's the p6c.org ip space
14:38 [Coke] the problem with jim's config is probably that it's PPC, and we're probably trying to compile JIT. that's my not-even-looking guess. :) His system is very old.
14:38 brrt the process is this: people hack stuff on linux, bsd, and expect stuff to work on os x, because apple tells you 'os x is just bsd', and then it isn't, and then we have to find a developer with time and care who will test it on one of the many, many comically fragmented os x 'platforms'
14:38 brrt this is a bad state of affairs
14:38 [Coke] I think if we do as FROGGS suggested and give him some diagnostic output, he can probably fix it.
14:39 nemo brrt: OSX + macports is "just BSD" ?
14:39 [Coke] brrt: no one really expects that.
14:39 [Coke] Certainly not jim.
14:39 brrt i kind of expect that
14:39 brrt nemo: try libuv
14:39 kjs_ joined #perl6
14:39 timotimo the only mentions of synopsebot in hack's "locate" database are under /home/duff or /home/tadzik
14:39 timotimo who is jsduff on irc again?
14:39 moritz timotimo: duff is PerlJam
14:40 brrt nemo: your reply is what i mean with 'almost, but not quite' :-)
14:40 [Coke] .seen kid51
14:40 yoleaux I saw kid51 16 Jan 2016 13:36Z in #perl6: <kid51> I ask because I'm about to start a Perl6 study group in NYC and, for the people likely to participate in this group, I've been advised that Rakudo Star will be a better bet.
14:40 timotimo thanks
14:41 nemo brrt: heh. I'm not a huge OSX user really. just out of necessity for iOS dev
14:41 [Coke] brrt: kid51 is the PPC mac guy, btw.
14:41 tadzik ah, PerlJam
14:41 nemo brrt: but, yeah, take freeciv's "OSX support" page http://freeciv.wikia.com/wiki/Install-MacOSX
14:41 tadzik seems I was almost correct geographically at least :P
14:41 nemo you get to pick which of 3 complete unix-y package management env you get to install first before compiling on your own
14:42 timotimo moritz: irc.p6c.org; is that the host that we give to people for having irc sessions?
14:42 timotimo it seems strange that it doesn't ipv6
14:43 brrt [Coke]: MoarVM assumes darwin == clang, and of course, we don't have the clang toolchain on aged os x instances
14:43 moritz timotimo: it's the host I offered for that matter; but I've shut it down after a few weeks, because nobody used it.
14:43 nemo that seems a silly assumption
14:44 Skarsnik I say people wanting old plateform support, just write it x)
14:44 brrt all this would not matter if apple was open about their toolchain and let hackers.. hack it, but no
14:44 timotimo ah, ok. so no use looking if synopsebot was set up there
14:44 brrt nemo: welcome to the MoarVM configuration system
14:44 moritz timotimo: correct
14:45 moritz timotimo: the IP is bound to eth0 on hack
14:45 n0tjack joined #perl6
14:45 moritz up /sbin/ifconfig eth0 inet6 add 2001:780:101:ff00::2:9/64
14:45 moritz # from /etc/netwwork/interfaces
14:46 timotimo ah, i should have looked there
14:46 TEttinger joined #perl6
14:47 timotimo if i were to set up a new instance of synopsebot, would i create a new user for that?
14:47 * timotimo tries running synopsebot locally first
14:48 moritz timotimo: yes, new user
14:48 moritz timotimo: and ideally write a systemd service file
14:48 moritz timotimo: so that it's automagically started on reboot
14:48 timotimo right
14:48 moritz timotimo: see /etc/systemd/system/dalek-irc.service for example; it's no magic :-)
14:48 jnthn The MoarVM configuration system will only change notably if somebody with experience of building such things for a bunch of less common platforms steps up to do it.
14:49 timotimo i see that perlpilot has a bunch of commits in his repository that haven't been merged into tadzik/, but there's been two pullrequests merged since they both diverged
14:49 jnthn In reality, if you handle Windows + most standard Linux + modern OSX, then you're already covering around 99% of potential users.
14:50 jnthn Plus it handles a bunch of BSDs too.
14:50 * brrt nods in agreement
14:50 jnthn Anything else is a fraction of a percent, and it's just not cost effective to spend time on that when it could be spent on making, say, performance and stability better for the > 99%.
14:51 brrt and adds that we're kind of limited by 3rd party libraries like libuv, which are very much platform-bound
14:51 jnthn (Noting that we have very limited resources.)
14:51 xpen joined #perl6
14:51 jnthn So I'm *all* for work to extend the range of platforms, but it won't happen without somebody volunteering.
14:52 bowtie joined #perl6
14:53 ely-se say "Install Gentoo"; exit 1;
14:53 _ramix_ joined #perl6
14:53 [Coke] I think the trick here is to give kid51 a pointer on how to fix it himself, make the config probe smart enough to complain the right stuff to him.
14:53 [Coke] (and that'll help for others with weird platforms)
14:54 jnthn Yes, being better at knowing when we don't know may well help.
14:54 kjs_ joined #perl6
14:55 [Coke] if he comes back and says "oh, now libuv is busted", he's on his own. :)
14:56 sufrostico joined #perl6
14:58 mspo what if you pass CC= ?
15:00 synopsebotimo joined #perl6
15:00 timotimo let's see if this works
15:01 prammer joined #perl6
15:01 timotimo 152641    [Coke] │ it's https://rt.perl.org/Ticket/Display.html?id=127308 - I added a chrome search backend for RT,
15:01 araujo joined #perl6
15:01 araujo joined #perl6
15:02 [Coke] RT #127308
15:02 synopsebotimo Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127308
15:02 timotimo um ...
15:02 [Coke] RT #FOOLEDYOU
15:02 timotimo yeah :)
15:02 timotimo i didn't see your line before the synopsebotimo line and i thought it just took almost a minute to react
15:03 timotimo with one simple patch to IRC::Net::Bot it seems to work again
15:03 avenj joined #perl6
15:03 tadzik \o/
15:04 timotimo it probably asplodes if b0rked utf8 gets sent to a channel, though
15:05 timotimo because it uses $connection.Supply.lines
15:05 timotimo maybe we should have a way to pass an encoding there?
15:05 moritz +1
15:05 Ven joined #perl6
15:06 timotimo jnthn: does that sound insane?
15:06 timotimo $connection.Supply(:encoding<utf8-c8>)
15:06 kubrat joined #perl6
15:06 jnthn timotimo: Should support that, yeah.
15:07 jnthn timotimo: But probably going to implement it a bit differently than it's done today
15:07 timotimo http://doc.perl6.org/routine/Supply  -  um, what is this about?
15:07 timotimo m: say &zip
15:07 camelia rakudo-moar 775271: OUTPUT«sub infix:<Z> (| is raw) { #`(Sub+{<anon|68739552>}+{Precedence}|43410160) ... }␤»
15:08 timotimo this is about a method on Supply, but why is it under routine/?
15:08 jnthn That looks...odd
15:08 TEttinger joined #perl6
15:08 lestrrat joined #perl6
15:08 moritz timotimo: all methods or subs show up under /routine/
15:09 timotimo oh
15:09 timotimo well, fair enough
15:09 jnthn Yes, but sould http://doc.perl6.org/routine/Supply not show methods called Supply?
15:09 moritz it should
15:09 timotimo whoa
15:09 pmurias joined #perl6
15:10 moritz like http://doc.perl6.org/routine/zip does, for example
15:10 timotimo github now puts a very visible link to CONTRIBUTING.md at the top of the "new issue" page
15:10 timotimo :+1:
15:10 moritz seems somebody read the open letter to github, and decided to implement the simplest thing quickly :-)
15:10 _Vi joined #perl6
15:11 timotimo i don't remember seeing that open letter you're refering to
15:11 moritz timotimo: https://github.com/dear-github/dear-github
15:13 timotimo https://github.com/perl6/doc/issues/357  -  does my complaint seem sensible?
15:14 moritz yes
15:14 moritz a different color for the selection would help
15:14 [Coke] timotimo: yup. I got no feedback when I added categories.
15:14 moritz like yellow or blue or so
15:14 masak "low contrast" is basically the issue
15:14 [Coke] so you got whatever I had in my testbed. :)
15:14 moritz or even a light red
15:15 [Coke] should be pretty easy to change with a style.
15:15 timotimo [Coke]: the categories are super helpful, imo
15:16 _nadim joined #perl6
15:16 timotimo does someone have an irc client that can send raw mojibake to the network?
15:16 [Coke] timotimo: danke!
15:17 timotimo no, danke you!
15:17 [Coke] ok, fine, bitte.
15:17 timotimo :3
15:17 [Coke] YOU WIN OK IS THAT WHAT YOU WANTED?
15:17 [Coke] :)
15:17 timotimo :D
15:17 breinbaas joined #perl6
15:18 * sjn has had some issues with doc.perl6.org too, lately :-\
15:18 sjn e.g. searching for "..." and then going to the resulting page gives a 404 not found :-\
15:18 sjn (resulting URL is <http://doc.perl6.org/routine/...>
15:18 nadim joined #perl6
15:19 timotimo aye, we have trouble with "funny" urls :(
15:19 mspo add .html
15:19 kjs_ joined #perl6
15:19 * sjn would love that the resulting URL already had .html added :3
15:19 moritz please don't
15:19 moritz what's the use?
15:20 moritz the problem is that . and / have special meanings in paths
15:20 mspo it makes the page load?
15:20 mspo http://doc.perl6.org/routine/....html
15:20 timotimo with an ACTION, the bot already gets a weird character
15:20 mspo I mean, assuming the page actually loading is important
15:20 * timotimo tests
15:20 moritz mspo: that helps in that particular case, but we need a genral fix
15:20 sjn moritz: in that case, there's an issue about escaping here
15:21 moritz sjn: could very well be
15:21 timotimo m: $*OUT.write(buf[int8].new(^66))
15:21 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dgOh8Sb1rY␤Undeclared routine:␤    buf used at line 1␤␤»
15:21 timotimo m: $*OUT.write(Buf[int8].new(^66))
15:21 timotimo okay. is synopsebot okay?
15:21 timotimo seems to still run fine
15:21 moritz RT#1234
15:21 timotimo RT #127308
15:21 synopsebotimo Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127308
15:21 mspo moritz: I think most of them would work as a query param instead of a path url
15:22 timotimo not bad indeed.
15:22 mspo moritz: although & and ? and # would still be broken
15:22 moritz mspo: right, but that needs a different backend
15:22 moritz mspo: it's all static pages right now
15:22 gtodd joined #perl6
15:22 mspo the static page generator can have a list of "broken" things to render in a different way
15:23 [Coke] there is a suggestion to have files like "." be renamed to something like "period"
15:23 moritz mspo: patches welcome
15:23 moritz [Coke]: also patches welcome :-)
15:23 mspo it's in the docs repo?
15:23 moritz mspo: yes
15:24 moritz iirc STD.pm6 has a list of names for characters
15:24 [Coke] you can build the site, but it's incredibly slow, fyi.
15:24 timotimo if we translate . to period, what happens to an actual "method period"? :)
15:24 prammer joined #perl6
15:25 timotimo clearly we need a similar approach to "punycode" :P
15:25 moritz timotimo: we can translate . to @dot and there are no @ in method names
15:25 mspo why is it slow?
15:25 moritz there's still potential conflicts with operators
15:25 mspo or is that redundant? :)
15:26 timotimo m: sub infix:<@>($a, $b) { say "haha!" }; 1 @ 2
15:26 camelia rakudo-moar 775271: OUTPUT«haha!␤»
15:26 moritz the "proper" solution is to have some dynamic backend
15:26 mspo what powers the search?
15:26 moritz timotimo: as long as it's not infix:<@dot> it's all good
15:26 moritz mspo: client-side JS
15:27 moritz mspo: htmlify.p6 creates some JSON document that contains an index of documents and key words/symbols, iirc
15:27 * sjn sees that just adding .html to the end of the URL would be enough to make the ... doc page work
15:27 moritz sjn: but it won't work for $/ for example :-)
15:27 moritz or for //
15:29 mspo the browsers might not all do the same thing when requesting things like //
15:31 sjn hm
15:31 sjn ok, so URL-encoding those don't work (the browser just "fixes" the URL)
15:31 timotimo aye, the url-encoding part is a layer too "high"
15:32 timotimo or low, depending on your view point
15:32 mspo sjn: it's probably still sending url-encoding but showing you //
15:32 sjn if we use another encoding character than %, we just move the problem
15:32 mspo chrome does that, anyway
15:32 timotimo it'll probably reach the server without the server being able to tell a difference
15:32 mspo you can't type XSS into the bar anymore; it's annoying
15:32 moritz huh? does it encode < ?
15:33 sjn we could just generate URL with our custom encoding (e.g. @40 instead of %40)
15:33 Zero_Dogg joined #perl6
15:33 mspo moritz: yes
15:33 mspo I think firefox started doing the same thing recently
15:33 sjn as long as it's internally correct, and all characters can be represented (including the escape character), it should work fine
15:34 sjn @ is perhaps a bad URL escape character...
15:34 uruwi joined #perl6
15:34 sjn ¤? ‰? -?
15:34 * perigrin worked on a project that used @@ delimited text.
15:35 perigrin talk about hard to read data files.
15:35 mspo mojo uses @@ I think in __DATA__
15:35 timotimo we should use `, as that's "the one" character perl6 doesn't use anywhere internally
15:35 timotimo (not seriously)
15:35 sjn hehe
15:35 sjn let's escape with \0 :)
15:36 sjn that's make things interesting
15:36 timotimo "how to find b0rked software"
15:36 DrForr perigrin: Try : and * for your delimiters :)
15:36 perigrin if only uniocde were better supported on filesystems ... ???? delimited filenames so people could finally say "where'd it install that crap?"
15:36 timotimo reminds me of when fedora named their release "Schrödinger's Cat"
15:36 sjn that'll*
15:38 prammer joined #perl6
15:38 cdg joined #perl6
15:38 moritz timotimo: did they? including the single quote?
15:38 moritz "what could possibly go wrong?"
15:39 timotimo i'm not sure about the single quote actually
15:39 jast well there are lots of benefits to typographical apostrophes ;)
15:39 marmay left #perl6
15:40 * sjn suggests using "-" as an internal escaping character, since it's one of the characters in URL incoding that _don't_ get a custom treatment (meaning, it'll always come across the wire as a -)
15:40 timotimo which one is the right one? ’ or ‘ ?
15:40 perigrin It had a 50% chance of both installing and not installing cleanly ... and only when you ran the installer did it collapse into a observable state.
15:40 timotimo perigrin: nah, not 50-50.
15:40 jast ’ from what I can tell with this font
15:40 timotimo .u ‘’
15:40 sjn having a file for the minus operator would then be /-2D.html
15:40 yoleaux U+2018 LEFT SINGLE QUOTATION MARK [Pi] (‘)
15:40 yoleaux U+2019 RIGHT SINGLE QUOTATION MARK [Pf] (’)
15:40 moritz 50+1i %
15:40 timotimo jast: seems like both are wrong?
15:41 sjn . would give -2E.html
15:41 jast right single quotation mark is visually identical to apostrophe
15:41 sjn // would give -2F-2F.html
15:41 jast "This is the preferred character to use for apostrophe according to the Unicode standard. "
15:42 jast http://unicode.org/Public/UNIDATA/NamesList.txt search for 2019
15:42 timotimo ugh.
15:42 sjn and we'd only have to encode funny characters like / .. and - :)
15:42 jast though there's also
15:42 Skarsnik hm, does someone has a suggestion on how I should handle excluding header in gptrixie (like to not display stuff from stdlib.h or 'internal' header)
15:42 jast .u ʼ
15:43 yoleaux U+02BC MODIFIER LETTER APOSTROPHE [Lm] (ʼ)
15:43 timotimo they put a paired quotation mark thing in, but then decided to suggest using that for apostrophe ?!?
15:43 FROGGS joined #perl6
15:43 jast I guess that's a combining character, though?
15:43 Skarsnik I mean, should I use a config file, some argument to the binary
15:43 hahainternet hey guys/gals, so i've been chatting with a friend about object orientation
15:43 masak ok
15:43 hahainternet and one thing he said stuck out at me, that when you have $obj.method, your methods are tied to that object explicitly
15:44 timotimo Skarsnik: do it just like mplayer and friends to it with their config. interpret the config file contents as commandline flags
15:44 hahainternet even though the method itself might be useful as a function elsewhere, without $obj or replacing $obj explicitly
15:44 hahainternet but as far as i know in perl6, self is implicit and there's no way of having a bare function that's also a method? or maybe i'm dumb :D
15:45 timotimo you can export methods that turn into subs "on the outside" of the class
15:45 Skarsnik method are special sub I think
15:45 hahainternet timotimo: can you give me an example or somewhere to read please?
15:45 sjn https://tools.ietf.org/html/rfc3986#section-2 is the relevant RFC to look at for reserved characters in URIs
15:45 timotimo m: class Frob { method nozzle is export { say self } }; Frob.new.nozzle; nozzle(new Frob); nozzle();
15:45 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VOOmccpl0r␤Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax␤at /tmp/VOOmccpl0r:1␤------> 3lf } }; Frob.new.nozzle; nozzle(new Frob7⏏5); nozzle();␤»
15:45 timotimo m: class Frob { method nozzle is export { say self } }; Frob.new.nozzle; nozzle(Frob.new); nozzle();
15:45 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/94hrJgU8fI␤Undeclared routine:␤    nozzle used at line 1␤␤»
15:45 timotimo hum.
15:45 FROGGS m: class Frob { method nozzle is export { say self } }; import Frob; Frob.new.nozzle; nozzle(new Frob); nozzle();
15:45 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/X5aviyNopo␤Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax␤at /tmp/X5aviyNopo:1␤------> 3t Frob; Frob.new.nozzle; nozzle(new Frob7⏏5); nozzle();␤»
15:46 FROGGS m: class Frob { method nozzle is export { say self } }; import Frob; Frob.new.nozzle; nozzle(Frob.new); nozzle();
15:46 camelia rakudo-moar 775271: OUTPUT«Frob.new␤Frob.new␤Too few positionals passed; expected 1 argument but got 0␤  in method nozzle at /tmp/7PY2LyjNep line 1␤  in block <unit> at /tmp/7PY2LyjNep line 1␤␤»
15:46 timotimo ah, needs the import, of course
15:46 timotimo the error is to be expected ^
15:46 jnthn And need to pass something for the invocant
15:46 FROGGS aye
15:46 jnthn Which is really just an argument
15:46 Skarsnik method have extra parameters yes x)
15:46 FROGGS m: class Frob { method nozzle is export { say self } }; import Frob; Frob.new.nozzle; nozzle(Frob.new); nozzle("something");
15:46 camelia rakudo-moar 775271: OUTPUT«Frob.new␤Frob.new␤Type check failed in binding <anon>; expected Frob but got Str␤  in method nozzle at /tmp/w7gkxayHlR line 1␤  in block <unit> at /tmp/w7gkxayHlR line 1␤␤»
15:46 jnthn Perl 6 believes that pretty deeply
15:46 FROGGS :o)
15:46 andreoss joined #perl6
15:46 jnthn m: class C { method m($a) { } }; C.m
15:46 hahainternet FROGGS: that's what worries me a little bit
15:46 camelia rakudo-moar 775271: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in method m at /tmp/rYqP36KmpQ line 1␤  in block <unit> at /tmp/rYqP36KmpQ line 1␤␤»
15:46 FROGGS jnthn: something doesnt work :o)
15:46 jnthn Note the "expected 2, got 1"
15:46 hahainternet could that be made more generic
15:46 andreoss m: say -v
15:46 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_L6I3JGBCw␤Undeclared routine:␤    v used at line 1␤␤»
15:46 hahainternet or is it tied implicitly to Frob?
15:47 jnthn FROGGS: :P
15:47 FROGGS m: class Frob { method nozzle(Any:) is export { say self } }; import Frob; Frob.new.nozzle; nozzle(Frob.new); nozzle("something");
15:47 camelia rakudo-moar 775271: OUTPUT«Frob.new␤Frob.new␤something␤»
15:47 FROGGS hahainternet: ^^
15:47 andreoss >Bytecode validation error at offset 166, instruction 25:
15:47 jnthn hahainternet: You can...what FROGGS showed UP
15:47 jnthn oops
15:47 jnthn s/UP/:)/
15:47 andreoss what does this mean?
15:47 hahainternet aah very nice, so it's the method signature
15:47 hahainternet that is excellent
15:47 jnthn andreoss: Potentially corrupted bytecode, in practice usually version skew between MoarVM and your NQP/Rakudo.
15:48 Skarsnik timotimo, na I don't want all the option in a config file. It just I want to exclude stuff from stdlib (and co) but I also want the user to be able to change it ~~
15:48 abraxxa joined #perl6
15:48 timotimo that sounds like you just want to distribute a default config with your program? and also offer a negative version of every switch
15:49 timotimo BBL
15:50 andreoss http://paste.debian.net/366799/
15:50 perigrin /w 28
15:51 FROGGS andreoss: what's moar --version ?
15:51 andreoss > This is MoarVM version 2015.12 built with JIT support
15:51 FROGGS hmmmm, weird
15:51 FROGGS bbiab
15:52 jme` joined #perl6
15:52 andreoss it's v6.c, at least rakudobrew says so
15:52 jnthn Very odd. Here I just get "Undeclared routine: a used at line 1"
15:55 andreoss ok, will try to rebuid
15:56 masak hahainternet: still there_
15:56 masak hahainternet: still there?
15:57 Ulti_ andreoss: get undeclared routine here on OSX for what it's worth
15:57 hahainternet masak: i am
15:57 masak m: my $m = method { say self.name }; class Employee { has $.name }; my Employee $e .= new(:name<Albert>); $e.$m()
15:57 camelia rakudo-moar 775271: OUTPUT«Albert␤»
15:57 masak hahainternet: you can have methods unconnected with a class, as above.
15:57 sftf joined #perl6
15:58 hahainternet masak: indeed, i half expected someone in here to say "oh that's a weird requirement, i'm not sure"
15:58 hahainternet but instead, instant perfect answer
15:58 hahainternet that is coherent and kinda beautiful
15:58 hahainternet damn you perl 6! :D
15:58 andreoss left #perl6
15:58 masak hahainternet: but I hasten to add that I wouldn't want to write many of my methods like that, since most of my methods (that aren't just syntactic sugar for other methods further down) would touch private state of the object
15:58 masak and you can't do that if you're outside a class
15:58 hahainternet masak: that's fine, this was a discussion about the downsides of methods vs plain functions
15:59 ELBeavers joined #perl6
15:59 hahainternet and my friend was saying how methods are just crappy functions that have mandatory arguments and become worthless without them
15:59 masak hahainternet: basically, what we're (implicitly) making use of here is that if you dig deep enough into Perl 6, method calls are "actually" function calls
15:59 hahainternet wheras here as usual, perl6 has the best of both worlds
15:59 masak hahainternet: and the invocant `self` is "actually" passed as a hidden first argument
15:59 hahainternet masak: yeah that's pretty normal elsewhere too, method(obj, args) ~~ obj.method(args)
15:59 RabidGravy I love this two bugs for one deal I just got
15:59 Skarsnik hm, why method have 2 arg at compile time btw?
15:59 hahainternet but that's a smart model, because it allows complex behaviour like this, which is very nice
15:59 masak hahainternet: in your friend's defense, I've seen a lot of OOD where your friend is right in all ways that matter
16:00 masak hahainternet: but when you do OOD right, your friend is wrong, IMO
16:00 hahainternet masak: he is a functional programmer, so i try to learn from his perspective
16:00 moritz lv
16:00 moritz sorry, wrong window
16:00 hahainternet and his issue is more with languages which make assumptions in this regard i believe, so Python lol
16:00 masak hahainternet: the one thing that FP people have over OOP people is that FP *is* grounded in something formal and well-specified. OOP isn't.
16:01 hahainternet masak: indeed, but i was going through his particular hates and trying to understand them more
16:01 abaugher I'm having trouble getting an exitcode from Proc.run.  The process does return an exitcode of 1 in the shell, and the error is returned on the :err pipe, but the .exitcode method always gives me zero.  Any ideas?  The code: https://nopaste.me/view/c40aed69
16:01 hahainternet i have found that any time i have any programming issue that is down to syntax or mechanisms or similar, perl6 has the best solution
16:01 masak hahainternet: another thing that Perl 6 largely fixes is the objection "why is there always only *one* invocant?"
16:01 hahainternet and what a shock, here too the best of both worlds remain
16:01 masak CLOS fixes that one too
16:01 hahainternet hell it took me no more than a few seconds to make sub whatever is Atomic {...} work
16:02 moritz abaugher: the exit code is only available when the program has exited
16:02 masak with multimethods, you can put all the arguments on exactly the same footing
16:02 moritz abaugher: so you need to read everything from $err first
16:02 abaugher moritz, ah, ok, thanks
16:03 abaugher So the Proc is waiting for me to read that pipe because I said I wanted it.  I guess that makes sense.
16:03 Skarsnik m: trait_mid:<is>(Routine $p, :$hello) { say $p.signature.params.elems}; class A { method foo is hello(Str $s) {}};
16:03 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Qkyw6pEt8V␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/Qkyw6pEt8V:1␤------> 3trait_mid:<is>(Routine7⏏5 $p, :$hello) { say $p.signature.params.␤    expecting any o…»
16:04 moritz abaugher: I'm not sure it works then, but I'm pretty sure it can't work without it :-)
16:04 Skarsnik m: trait_mod:<is>(Routine $p, :$hello!) { say $p.signature.params.elems}; class A { method foo is hello(Str $s) {}};
16:04 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4dgtk9jnel␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/4dgtk9jnel:1␤------> 3trait_mod:<is>(Routine7⏏5 $p, :$hello!) { say $p.signature.params␤    expecting any o…»
16:04 Skarsnik hm
16:05 jnthn Skarsnik: You need the signature before the is hello
16:05 jnthn Skarsnik: At the moment it's parsing the (Str $s) as an argument to the trait, which is then malformed
16:05 Skarsnik m: trait_mod:<is>(Routine $p, :$hello!) { say $p.signature.params.elems}; class A { method foo (Str $s) is hello {}};
16:05 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/l0TwlSAUt3␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/l0TwlSAUt3:1␤------> 3trait_mod:<is>(Routine7⏏5 $p, :$hello!) { say $p.signature.params␤    expecting any o…»
16:05 ta0 joined #perl6
16:06 ruoso joined #perl6
16:06 hahainternet are you missing sub
16:06 moritz or better "multi"
16:06 Skarsnik m: multi trait_mod:<is>(Routine $p, :$hello!) { say $p.signature.params.elems}; class A { method foo (Str $s) is hello {}};
16:06 camelia rakudo-moar 775271: OUTPUT«3␤»
16:06 Skarsnik why multi?
16:06 Skarsnik and why 3 params x)
16:07 hahainternet the method is just 'is'
16:07 PerlJam Skarsnik: *%_
16:07 moritz Skarsnik: because there are already existing trait_mod:<is> candidates, and you're overriding them
16:07 hahainternet multi is required to select which implementation based on 'hello' i think?
16:07 hahainternet kk sweet, i got a question rightish!
16:07 Skarsnik *%_?
16:07 PerlJam Skarsnik: ignore me.  I'm not fully awake :)
16:08 jnthn m: class C { method m($x) { } }; say C.^lookup.signature
16:08 camelia rakudo-moar 775271: OUTPUT«Too few positionals passed; expected 3 arguments but got 2␤  in any lookup at gen/moar/m-Metamodel.nqp line 531␤  in block <unit> at /tmp/nf0mwIsLzC line 1␤␤»
16:08 PerlJam Well ... I'm fully awake ... except for my brain
16:08 jnthn m: class C { method m($x) { } }; say C.^lookup('m').signature
16:08 camelia rakudo-moar 775271: OUTPUT«(C $: $x, *%_)␤»
16:08 Skarsnik why only on method?
16:08 jnthn That's the 3. The invocant, the $x, and the thing that swallows up unknown named args for interface consistency.
16:08 jnthn Because subs don't have invocants and don't participate in inheritance so have no need to solve the interface consistency problem.
16:09 Skarsnik it bothered me when I wrote the sanity type check routine in NC x)
16:10 b2gills I ask because it currently isn't backed by the same code
16:10 yoleaux 10:15Z <jnthn> b2gills: I'd hope so...
16:11 abaugher moritz, that didn't do it either. Thanks anyway; time for me to dig into the source!
16:12 jnthn b2gills: Indeed. Interesting.
16:15 xinming joined #perl6
16:16 _mg_ joined #perl6
16:17 uruwi joined #perl6
16:22 mohae joined #perl6
16:28 musiKk joined #perl6
16:28 khw joined #perl6
16:31 tony-o !
16:32 jnthn tony-o!!! :)
16:32 tony-o !! time to revamp my modules to use some of the new cool stuff people have done, specifically web::scrape
16:36 greem joined #perl6
16:37 average joined #perl6
16:37 average http://blogs.perl.org/users/zoffix_znet/2016/01/python-is-the-new-write-only-linenoise-language.html
16:37 average this was funny..
16:37 kjs_ joined #perl6
16:37 dfcarpenterak joined #perl6
16:42 masak average: you can write very readable Perl. you can write very unreadable Python. it's all a bit of a silly debate, really. ;)
16:43 average masak: it is very silly, yes
16:43 alpha123 masak: well the post is a bit tongue-in-cheek
16:43 average Sayre's law all over the place https://en.wikipedia.org/wiki/Sayre%27s_law
16:43 average "In any dispute the intensity of feeling is inversely proportional to the value of the issues at stake."
16:44 alpha123 lol
16:44 alpha123 that's a good one
16:44 rindolf joined #perl6
16:44 average so the Perl vs. Python debate is intense because it matters very little
16:45 masak indeed
16:45 masak the best any Perl or Python programmer can do is to think about the similarities between the two languages, and between programs written in each
16:46 masak in fact, in many situations, Perl and Python are *ridiculously* similar
16:47 alpha123 i would say the idiomatic way of doing things is rather different in each though
16:47 average I like PLEAC a lot  http://pleac.sourceforge.net/
16:47 masak alpha123: sometimes, I guess
16:47 average I would like to see Perl6 in PLEAC
16:48 alpha123 average: hey thanks, that's a good resource for language design
16:48 alpha123 average: are you familiar with https://rosettacode.org ?
16:48 average yes
16:49 masak agreed, it would be nice to be on PLEAC
16:53 [Coke] j
16:53 [Coke] `~.
16:54 RabidGravy there,  four of the six RabbitMQ tutorial examples work with Net::AMQP
16:55 jnthn RabidGravy++
16:56 vendethiel joined #perl6
16:59 ashleydev joined #perl6
16:59 average left #perl6
16:59 Skarsnik what is RabbitMQ?
16:59 Skarsnik and nice job x)
17:01 alpha123 so is there any way to set a value in a list and return a modified list instead of mutating it
17:03 alpha123 like haskell lenses kind of
17:03 * jnthn would first thing of doing it with slicing
17:03 jnthn *think
17:03 jnthn @a[^3], new-value, @a[4..*]
17:04 jnthn m: my @a = 1..10; say flat @a[^3], 42, @a[4..*]
17:04 camelia rakudo-moar 775271: OUTPUT«(1 2 3 42 5 6 7 8 9 10)␤»
17:04 ratagin joined #perl6
17:04 nemo joined #perl6
17:05 jnthn m: my @a = 1..10; say (flat .[^3], 42, .[4..*] given @a) # if you don't want to repeat @a
17:05 camelia rakudo-moar 775271: OUTPUT«(1 2 3 42 5 6 7 8 9 10)␤»
17:05 Xor_ joined #perl6
17:05 RabidGravy Skarsnik, it's an AMQP messaging broker made in erlang
17:06 lichtkind joined #perl6
17:06 perigrin the API for the Perl6 RabbitMQ APIs made me grumpy compared to the python examples in teh RabbitMQ tutorials / docs.
17:06 perigrin sorry Perl5
17:06 lichtkind what the best way o get a deep copy of a data sructure?
17:07 perigrin RabidGravy: I look forward to seeing where you ended up :)
17:07 lichtkind i tried clone but got spooky action
17:08 ab6tract joined #perl6
17:08 jnthn Yes, clone is only shallow. What is the data structure? If it's some class of your own you can override clone.
17:10 kjs_ joined #perl6
17:13 lichtkind array of array
17:13 lichtkind nothing special
17:13 lichtkind but if its an object attribut and i clone obj then i get full?
17:14 uruwi joined #perl6
17:14 jnthn Not unless you override clone to make that happen, no
17:14 lichtkind thanks
17:14 jnthn Hm, I'm surprised nothing on modules.perl6.org that does deep clone yet
17:16 lichtkind like said it the first time i seriously use perl 6
17:16 perl6newbee joined #perl6
17:17 lichtkind but out libs grows nicely
17:19 masak lichtkind: if you know the structure beforehand, you can just call clone on all the parts.
17:19 masak lichtkind: otherwise, write your own deep-clone function
17:20 lichtkind i currently do so
17:20 lichtkind masak i think you will enjoy Mathmatrix, we already have choleki and the 10 most important properties 5 norms etc
17:21 lichtkind growing fast
17:21 ely-se joined #perl6
17:21 lichtkind curently banging my head against wall how to make a octave like pretty print for matrices in perl6
17:22 lichtkind currently working title for this method is table
17:23 lichtkind but currently one line will do since we have only AoA
17:25 RabidGravy perigrin, imo the P6 one that retupmoca started is much nicer than the python one,  I've just been fixing it up so it will do everything that the tutorials need
17:31 SCHAAP137 joined #perl6
17:32 perigrin RabidGravy: interesting.
17:33 AlexDaniel joined #perl6
17:34 virtualsue joined #perl6
17:35 dalek perl6-most-wanted: 74c6805 | (Herbert Breunung)++ | most-wanted/modules.md:
17:35 dalek perl6-most-wanted: Update modules.md
17:35 dalek perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/74c68051e1
17:35 lichtkind i added deep clone to https://github.com/perl6/perl6-most-wanted/blob/master/most-wanted/modules.md
17:37 ab6tract o/ RabidGravy :)
17:38 ab6tract was going to point out my bug report, but you've already added a label :D
17:41 RabidGravy to be honest if they are the only tests that are failing then it is likely that it will actually work, but that it does point to something weird with int sizes
17:42 ab6tract RabidGravy: my use case is pretty simple
17:42 ab6tract i'd like to write a script which monitors a few directories in which audio files will be generated by my audio software
17:43 ab6tract then spins off worker threads to create FLAC backup copies and store them in a centralized location
17:43 ab6tract since it is easy to lose track, more or less, of musical output when it is spread across different DAWs and projects
17:44 molaf joined #perl6
17:44 ab6tract in the long run i'd like to turn it into a web app designed to triage this process, where i can listen to the changed/new files, rename them, tag them, ignore them, etc. then hit a 'process' button
17:45 ab6tract but the watch-and-convert script seems like a nice blog post waiting to happen
17:46 ab6tract .seen bluebear94
17:46 yoleaux I haven't seen bluebear94 around.
17:47 maslan joined #perl6
17:47 ELBeavers joined #perl6
17:48 RabidGravy strangely I was going to make a similar example for Tinky
17:49 [Coke] Tinky Winky?
17:50 jnthn haha...is that a play on POE? :)
17:50 RabidGravy https://github.com/jonathanstowe/Tinky
17:51 RabidGravy it is actually named after the tellytubbie :)
17:52 [Coke] HEE!
17:54 ab6tract RabidGravy: we should  coordinate the posts
17:55 ab6tract yours could be a "an even easier way"
17:58 ab6tract i might forego Audio::Sndfile for the time being as well and try out Proc::Async
17:58 Actualeyes left #perl6
17:59 ab6tract since it is extremely cool that we get IO.watch for free in core, and likewise Proc::Async. so the first case of this example can be a ecosystem-free version
18:00 FROGGS joined #perl6
18:01 ab6tract RabidGravy: By the way, I began to suspect we might have convergingly similar use cases for Perl 6 code when you wrote Audio::Sndfile to begin with :)
18:03 domidumont joined #perl6
18:09 kjs_ joined #perl6
18:10 RabidGravy well my long term intention is to be able to make a radio station application that can replace Airtime
18:12 RabidGravy the Audio::* stuff is for the media management and playout parts
18:12 leont joined #perl6
18:13 bowtie joined #perl6
18:13 noganex joined #perl6
18:15 Rotwang joined #perl6
18:15 smash_ joined #perl6
18:15 zengargo1le joined #perl6
18:15 johan_ joined #perl6
18:16 domm__ joined #perl6
18:16 flussenc1 joined #perl6
18:16 b2gills1 joined #perl6
18:17 ruoso_ joined #perl6
18:17 mkz_ joined #perl6
18:17 Shozan joined #perl6
18:17 petercom1and joined #perl6
18:17 ChoHag_ joined #perl6
18:17 tony-o_ joined #perl6
18:18 bjz_ joined #perl6
18:18 xiaomiao joined #perl6
18:19 RabidGravy perigrin / anyone else who might be interested https://github.com/jonathanstowe/Perl6-RMQ-Examples is the first four examples
18:19 bowtie joined #perl6
18:20 timo joined #perl6
18:20 sm0x_ joined #perl6
18:20 boegel|quassel joined #perl6
18:22 yossarian joined #perl6
18:22 sjohnsen joined #perl6
18:22 luiz_lha joined #perl6
18:24 adhoc_ joined #perl6
18:24 haircode joined #perl6
18:24 burnersk joined #perl6
18:27 bowtie joined #perl6
18:28 leat joined #perl6
18:28 AW3i joined #perl6
18:28 tadzik joined #perl6
18:28 anshin joined #perl6
18:28 Grauwolf joined #perl6
18:28 _mg_ joined #perl6
18:31 DrPete_ joined #perl6
18:32 lokien_ joined #perl6
18:37 DrPete_ joined #perl6
18:37 burnersk joined #perl6
18:37 haircode joined #perl6
18:38 prammer joined #perl6
18:45 lichtkind yay
18:48 DrPete_ joined #perl6
18:48 burnersk joined #perl6
18:48 haircode joined #perl6
18:50 spider-mario joined #perl6
18:53 RabidGravy boom!
18:54 tony-o_ pow!
18:54 lichtkind :)
18:56 masak zowie!
18:56 mls joined #perl6
18:57 M-eternaleye joined #perl6
18:57 raiph joined #perl6
18:58 ab6tract joined #perl6
18:58 firstdayonthejob joined #perl6
18:59 lokien_ joined #perl6
18:59 laz78 joined #perl6
19:00 mspo m: say "hello"
19:00 camelia rakudo-moar 775271: OUTPUT«hello␤»
19:06 sjn r: say "oh noes"
19:06 camelia rakudo-jvm 6c0f93, rakudo-moar 775271: OUTPUT«oh noes␤»
19:12 ab6tract m: say "net".comb.splice(*)
19:12 camelia rakudo-moar 775271: OUTPUT«Method 'splice' not found for invocant of class 'Seq'␤  in block <unit> at /tmp/4jfclYGxJU line 1␤␤»
19:12 ab6tract m: say "net".chars.splice(*)
19:12 camelia rakudo-moar 775271: OUTPUT«Method 'splice' not found for invocant of class 'Int'␤  in block <unit> at /tmp/uqXWO5Npx5 line 1␤␤»
19:12 ab6tract ah well :)
19:13 ab6tract m: say "net".comb.split('e') # there we go
19:13 camelia rakudo-moar 775271: OUTPUT«(n   t)␤»
19:20 prammer joined #perl6
19:21 leont joined #perl6
19:25 uruwi joined #perl6
19:27 dalek perl6-most-wanted: 89cfc7a | pmqs++ | most-wanted/modules.md:
19:27 dalek perl6-most-wanted: Added Archive-SimpleZip
19:27 dalek perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/89cfc7a8ed
19:27 dalek perl6-most-wanted: 0d5daf9 | (Zoffix Znet)++ | most-wanted/modules.md:
19:27 dalek perl6-most-wanted: Merge pull request #13 from pmqs/patch-2
19:27 dalek perl6-most-wanted:
19:27 dalek perl6-most-wanted: Added Archive-SimpleZip WIP
19:27 dalek perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/0d5daf98d2
19:28 mspo ab6tract: chars returns the number of elements
19:28 marmay_ joined #perl6
19:31 alber joined #perl6
19:32 TimToady hahainternet: the basic point to stress to your friend is that functions and methods really are unified within Perl 6, and that the primary distinction (apart from a bit of syntactic sugar for implicit self) is in the dispatchers
19:33 hahainternet TimToady: i'm continually impressed with the thought that's gone into Perl 6. My only concerns are that optimization will be long and hard and difficult to do
19:34 [Coke] hahainternet: actually, the architecture was designed to make them easier to implement.
19:34 moritz it has taken decades for Javascript to become fast :-)
19:34 [Coke] We'll find out in the next year or so if that holds up.
19:34 hahainternet [Coke]: i have heard this said, but my knowledge is not exensive enough to know anything about it really
19:35 hahainternet and moritz the difference is that javascript is unfortunately all but mandatory, not that i want to throw any doubts. I'll continue using 6 regardless
19:35 [Coke] no one told you? Perl 6 is also mandatory. :)
19:35 ELBeavers joined #perl6
19:36 * TimToady goes out to buy grandkids beach sandals...
19:36 timotimo RT #12345
19:37 n0tjack joined #perl6
19:37 Skarsnik :'
19:37 timotimo is synopsebot on the other side of a split or something?
19:38 boegel joined #perl6
19:39 uruwi joined #perl6
19:39 mspo once moar doesn't take 90MB to run hello world, you'll be onto something
19:40 uruwi joined #perl6
19:40 moritz but 89MB is OK?
19:40 uruwi joined #perl6
19:40 mspo moritz: something along the perl5 memory usage would be nice
19:40 mspo lower, even
19:41 moritz mspo: well, lots of things would be nice, but aren't a requirement for success
19:41 timotimo "lower" is kind of improbable
19:41 uruwi joined #perl6
19:41 mspo moritz: a definition of "success" would be a good start if you're going to say stuff like that ;)
19:41 moritz mspo: like, most java programs take up much more space just to start the VM, and yet java is wildly successful
19:42 moritz mspo: to me, sustained grows of the community and ecosystem is success
19:42 moritz *growth
19:42 uruwi joined #perl6
19:42 mspo java proves that you can do anything if you're willing to type enough :)
19:43 timotimo mspo: fwiw, rakudo-moar currently takes less than 70 mb of ram to run hello world
19:43 mspo timotimo: I must be a little out of date, then
19:43 uruwi joined #perl6
19:43 timotimo potentially
19:43 masak would it be possible to map out where those 90 MB go at the moment?
19:43 timotimo seems like perl5 is at 4.5 megabytes of ram for hello world
19:43 masak maybe that could give a clue to what could be optimized away, if anything?
19:44 uruwi joined #perl6
19:44 masak or loaded lazily, or whatever
19:44 mspo run hello world in a loop and gcore it?
19:44 moritz masak: I'm only guess right now, but loading the setting is likely a big chunk of it
19:44 mspo setting?
19:44 skids What size do the GC arenas start at?
19:44 moritz also, most successful dynamic languages have a slower interpreter startup than perl5
19:44 timotimo well, i've looked over the things it lazily deserializes when it does hello world and a big chunk of objects - though not necessarily a big chunk of ram - is arrays that belong to our NFA objects for our grammar
19:44 uruwi joined #perl6
19:45 timotimo skids: the nursery starts at 4 megabytes
19:45 moritz mspo: the setting is all the built-in types and code
19:45 timotimo er. the nursery is always at 4 megabytes
19:45 timotimo it could be we keep around the other space always, since we'd otherwise just end up re-allocating it every few miliseconds anyway? i'm not sure.
19:46 _Vi joined #perl6
19:46 timotimo if somebody wants to lend us a hand for better ram usage at startup, there's branches that start implementing an op called "nfatostatelist", which would make these NFA arrays superfluous - they could then be created on-demand from the NFA objects themselves
19:46 timotimo but lifetime handling of those objects is a tiny bit hairy
19:46 mspo what was the command to manually compile?  moar --dump ?
19:47 timotimo no, compiling stuff manually needs "perl6 --target=moar" or something
19:47 musiKk joined #perl6
19:47 timotimo =moar or =mbc or whatever
19:47 * skids wonders if there is now such a thing as a page-table-backed lazy chunk alloc.
19:49 mspo perl6 --target=moar -o hello.pl6.moarvm hello.pl6 didn't work
19:49 [Coke] define "didn't work"
19:49 Hotkeys is there a way to uninstall a package with panda?
19:49 moritz last I looked, it only worked with modules
19:50 moritz but that was pre-autoprecomp, even
19:50 mspo Cannot dump this object; no dump method
19:50 moritz --target=mbc
19:51 mspo ame
19:51 mspo same
19:51 jdv79 do we have a post xmas r* and an msi?
19:51 yoleaux 18 Jan 2016 16:27Z <ugexe> jdv79: is it possible to bring the elastic search back up for your metacpan fork? its returning `Could not connect to '127.0.0.1:9200': Connection refused`
19:51 timotimo yes, it will only work with modules. however, every script is also a module
19:51 [Coke] jdv79: nope
19:51 lnrdo joined #perl6
19:51 timotimo so all you have to do is tell perl6 to load that script as if it was a module and supply a -e '' empty program to "use" the module with
19:51 jdv79 ugexe: sorry.  ill fix it tonight.
19:51 timotimo RabidGravy: hey, have you seen synopsebot?
19:52 jdv79 [Coke]: why not?
19:52 RabidGravy nah
19:52 timotimo because the last thing synopsebot saw was a message from you about making a radio station application that can replace airtime
19:52 moritz jdv79: because 2015.12 wasn't R*able, so we're waiting for 2016.01
19:52 timotimo hm. after that, there's only one ping/pong. so something must have gone wrong anyways
19:52 jdv79 we should probably do something more reliable with the metacpan instance soon.
19:53 [Coke] jdv79: lack of volunteers.
19:53 jdv79 ok.  well, we kinda want that for a study group that might meet on 2/6.
19:54 jdv79 i guess i could try to gen something if official isnt out by then.
19:54 [Coke] there is a partial effort (nine++) at getting a safe release of 2016.01 that avoids any backward compatibility issues; once that is released, an R* based on that can be cut.
19:55 jdv79 ok
19:55 [Coke] Anyone wants to help, test out his branch, make sure it's clean against the 6.c branch in roast, see if there are other commits that are safe to pull from nom...
19:55 [Coke] TL;DR - teh first release post christmas is -hard-. please be patient.
19:56 [Coke] the first release with non-backwards compatible stuff also hard.
20:04 prammer joined #perl6
20:06 _mg_ joined #perl6
20:07 firstdayonthejob joined #perl6
20:08 rindolf are backticks/qx the same as in perl 5?
20:09 rindolf because they are not mentioned here - http://doc.perl6.org/language/5to6-nutshell
20:09 prammer joined #perl6
20:09 Brock rindolf: nope, no backticks
20:10 awwaiid rindolf: my $result = shell("shell stuff", :out).out.slurp-rest
20:10 jnthn qx/shell stuff/
20:10 rindolf awwaiid: ah.
20:10 Hotkeys I'm getting this error when running perl 6 with linenoise on windows 7 http://pastebin.com/qK2F2Qcj
20:10 Hotkeys any ideas what's wrong?
20:11 Hotkeys or rather how I can fix it
20:11 awwaiid oh right. I can't remember why I used the shell slurp setup instead of qx
20:11 jnthn Yeah, the qx way is a lot shorter for the common case. Which is why it's there. :)
20:11 rindolf awwaiid: thanks, so the document needs to be revised.
20:11 timotimo so, i was wondering about module installation and multi-version-at-same-time stuff
20:12 timotimo do we need to have some way to allow module writers to just "use My::Other::Module" without having to specify the exact version, api, authority in the module code?
20:12 awwaiid Hotkeys: I don't know much about windows, but what command are you executing there?
20:12 Hotkeys 'perl6'
20:12 timotimo like, if we load a module from a specific distribution, perhaps we could set a compile-time variable to hold info like "what's the current authority, version, ..." and also "what other modules are part of this same distribution"
20:13 Hotkeys which runs perl6.bat I believe
20:13 Hotkeys or perl6-m.bat
20:13 awwaiid Hotkeys: hmm interesting. Did you by chance explicitly install linenoise? ala 'panda install linenoise'
20:13 timotimo so that a "use My::Other::Module" will resolve to the exact same version, authority, api, ... as the one that the use statement is in if that Other::Module is part of the same distribution?
20:13 Hotkeys awwaiid: Yep
20:13 b2gills jnthn: we can't have Seq.Numeric doing the same thing as Seq.elems because the [Bag|Mix|Set] spec tests require that it be cached :(
20:13 awwaiid Hotkeys: cool. welp... you've reached the end of my knowledge here. quickly too. :(
20:13 Hotkeys awwaiid: it was telling me that I should so I did
20:14 timotimo because otherwise if you install versions 1 and 2 and you don't precompile version 1 before precompiling version 2, you could end up with version 1 use-ing modules from version 2 by accident
20:14 Hotkeys that or Readline
20:14 Hotkeys which i can't do on windows
20:14 Hotkeys no libreadline
20:14 timotimo unless the module author puts version info every-whooping-where in the source
20:14 timotimo bread line!
20:15 skids timotimo: A distribution affinity like that would only work if the module author locksteps all the modules -- though I guess if they are unversioned and in the same distro that would be the case.
20:15 b2gills rindolf: some think that qq:x// should be discouraged in favor of shell() and run()
20:15 Hotkeys I'm gonna try doing a reinstall of all the things
20:15 jnthn b2gills: Ah...that may be a sensible distinction then
20:15 Hotkeys maybe that'll fix linenoise
20:16 jnthn b2gills: I'd mis-read and not realized we didn't cache in the other case
20:16 timotimo i think i was using wrong words here
20:16 timotimo what i really mean is modules from the same git repository
20:16 timotimo things that get installed together when you "panda install ASingleThing"
20:17 b2gills jnthn: I think it is LTA though that +permutations(10) takes a long time, but permutations(10).elems returns instantly
20:17 hoelzro Hotkeys: that looks like the error FROGGS and I found when trying linenoise on Windows
20:17 hoelzro let me know if a re-install fixes it
20:17 skids timotimo: if :version took an ordered list of preferences, then maybe a preference for same-distro could be pushed on the front of unversioned "use" statements.
20:17 Hotkeys alright
20:18 DrPete_ joined #perl6
20:18 burnersk joined #perl6
20:18 haircode joined #perl6
20:18 b2gills .oO( perhaps there should be a 「sub prefix:<+> ( PermutationSeq $seq ) { $seq.elems }」 )
20:18 Hotkeys PermutationSeq?
20:19 b2gills currently it is an anon Seq
20:19 Hotkeys ah
20:19 timotimo first of all i want to know if this is really a problem or if i'm just imagining things
20:19 timotimo does this belong in a different perl6 sub-irc-channel?
20:20 rindolf how do I specify a type for a paramter in rakudo perl6 / moar?
20:20 skids timotimo: e.g. 'use "Foo"'; in a distro that was "v1.0" in the META would mean use "Foo" :ver(v1.0,*).  But then we might want to restrict that to only apply to modules supplied by that distro.
20:20 moritz m: sub rindolf(Str $x) { say $x }; rindolf('foo')
20:20 camelia rakudo-moar 775271: OUTPUT«foo␤»
20:21 rindolf moritz: ah, thanks.
20:21 * hahainternet just noticed the type graph on the Exception doc page, it's truly something to behold
20:21 timotimo yes, only modules from that distro. otherwise things will get VERY strange
20:22 hahainternet http://doc.perl6.org/images/type-graph-Exception.png is also a little unusable
20:22 jnthn b2gills: Well, the point of Seq was not to have a proliferation of *Iter types in userspace :)
20:22 b2gills Actually it might make sense for there to be a role that permutations/combinations/Range sequence that declares that you can call .count-only() on it without modifying it
20:23 jnthn b2gills: Maybe. But I think we can live with it for now.
20:23 b2gills It would of course add a requirement that you have to implement that method
20:23 timotimo hahainternet: yeah, mostly due to the way roles are interconnected in there, i think
20:23 timotimo hahainternet: if you can help us embed some interactive graphviz viewer or scrollable in-line image thing that doesn't suck, please go ahead
20:24 timotimo or a better alternative
20:24 hahainternet timotimo: if there exists an interactive graphviz viewer or something like that that doesn't suck i would love to know about it :(
20:24 skids hahainternet: that's only going to get bigger over time, too.
20:25 hahainternet i wish i had a good solution i'm afraid
20:25 * skids wonders how a PCB layout utility would do with something like that
20:27 moritz skids: I'm only speculating, but most big layouts seem to have arrays of same or similar components lined up, so I guess there are some manual steps that allow you align them
20:27 timotimo hahainternet: i've searched a few things, but nothing amazed me enough
20:27 moritz also most modern layouts are dominated by a few pieces with monstrously many pins, which dictate most of the layout
20:28 hahainternet moritz: few people use the autorouter to do everything
20:28 skids moritz: oh for sure, but "monstrously many pins" does kinda describe some of those ovals. :-)
20:28 hahainternet and honestly, autorouters aren't really what you'd want i don't think
20:28 hippie1 left #perl6
20:29 hahainternet well, on that note i'm also going to make my way off while freenode collapses a little more
20:29 moritz timotimo: around 2007 or so I even installed an online map viewing software to allow people to browse my network of GPG signatures. It still sucked.
20:29 timotimo ;(
20:29 buharin joined #perl6
20:29 buharin hello
20:29 buharin :)
20:29 vendethiel hi
20:29 moritz timotimo: though things might have improved since then :-)
20:29 timotimo potentially
20:29 buharin I wonder know why Perl6 get less users than Swift?
20:29 timotimo nowadays, building usable user interfaces in javascript isn't as terrible of a task as it used to be
20:30 timotimo buharin: because larry wall isn't steve jobs
20:30 Skarsnik Switft is backed up by Apple x)
20:30 moritz buharin: probably because swift had a pre-made niche to which all alternatives (objective C) more or less sucked
20:30 timotimo also, you can use swift already to build apps for iOS, which makes you dollars "immediately"
20:31 skids My experience with such problems is they keep making progress in academic papers but as they do so they use even more esoteric symbology to the point where people that wouls actually care to apply it are too busy putting their eyes back in their sockets to start coding.
20:31 timotimo perl6 doesn't yet have a way onto phones to develop apps with
20:31 buharin with perl6 you will be always poor?
20:31 skids (that was, WRT routing/mapping/data categorization)
20:32 moritz buharin: there are already people making money with Perl 6; it's just not such a straight and mapped-out route as with iOS apps
20:32 skids (and half the papers are just proofs that "indeed, this problem is NP hard and/or complete")
20:33 mst also, the iOS ecosystem is a pretty terrible way to make a living at this point if you're directly selling things too
20:33 timotimo no, no. you don't sell things on mobile platforms
20:33 mst but, yeah, for the moment perl6 is more likely to be your secret weapon than a CV asset
20:33 masak buharin: what you should be asking is about the various ways Swift is playing catch-up with Perl 6 (which is still ahead) :)
20:34 timotimo you give your app away for free, show a big amount of advertisements and if you can get the users to accept your privileges on android also grab information about installed apps and such and relay that to other companies for money
20:34 moritz or use the app for presenting teaser content, and then making the money from selling the actual content through in-app purchases
20:35 masak buharin: but features are only interesting if you use them, and something tells me you haven't written your first Perl 6 program yet ;)
20:35 masak m: say "hi, buharin!"
20:35 camelia rakudo-moar 775271: OUTPUT«hi, buharin!␤»
20:35 masak now's your chance.
20:35 buharin masak, I write Perl5 programs
20:35 buharin even last time
20:35 buharin but I used to swift
20:35 masak ok, so no Perl 6 yet. got it.
20:36 masak I for one hope you try it! you'll be surprised.
20:36 buharin masak, thats not problem :D because I like it
20:36 RabidGravy it's going to be great
20:36 buharin but got a long story :P
20:36 buharin masak, if you want to know ;) maybe you can advice me smh
20:38 RabidGravy well apart from a small amount of Perl 5, C and the language that Liquidsoap uses I wrote almost exclusively Perl 6 last year
20:38 masak RabidGravy++
20:38 buharin sure thats greate
20:41 buharin I program C++ then C then Python now I am Yocto recipe scripture in my job ;P and my cousin said me go learn swift it will be greate you will be rich etc. so I think about future and buy iMac start learn swift, and as I can tell you doing interfaces for iOS in some visual designers is so boring to me always some strange problem I got and I start thinking about Linux and Perl etc. but where can I get job in it?
20:41 buharin thats a problem
20:41 buharin money are killing good open source ppl
20:41 masak doesn't look that way from here
20:42 Ulti m: say 'a'.split('').perl
20:42 camelia rakudo-moar 775271: OUTPUT«("", "a", "")␤»
20:42 moritz buharin: if you find something you like doing, and are good at it, somebody will want to pay you for doing it for them. Then it's just a matter of finding them
20:42 buharin moritz, I think you are true
20:42 DrPete_ joined #perl6
20:42 burnersk joined #perl6
20:42 haircode joined #perl6
20:42 Ulti why would anyone want the start and end empty strings?
20:42 buharin in 100%
20:42 moritz buharin: if you like Perl programming, for example, go to a Perl conference, and be surprised by how many companies are hiring
20:43 masak also, I find that money and open source have good ways nowadays to stay in symbiosis
20:43 RabidGravy yeah, that's my way of looking at it, too
20:43 buharin moritz, there are no Perl conference in my country
20:43 gensym joined #perl6
20:43 moritz buharin: where are you located?
20:43 buharin Perl is very unpopular here
20:43 buharin in Poland
20:43 moritz buharin: there's a Polish Perl Workshop
20:43 buharin w8 I will check
20:43 RabidGravy nah, there are loads of people here from Poland
20:44 moritz buharin: at least there are were in 2013 and 2014
20:44 masak I've been to two Polish Perl Workshops. they were great
20:44 buharin masak, thanks ;-)
20:44 moritz buharin: also, there's YAPC::EU each year, which attracts folks from all over Europe
20:44 buharin masak, because last time I write a perl script in my company
20:45 Hotkeys Speaking of geography, any canadians here?
20:45 buharin and I told it is multitool I write smh like tool for things which I repeat during dev many times
20:45 masak buharin: you should try to find other Perl people (or other open-source people) in your local area
20:45 moritz buharin: I was at YAPC::EU 2013 in Kiev, and it became a running gag that nearly every speaker concluded his or her talk with "and by the way, we're hiring"
20:45 buharin and the guy said me ask someone here who like perl
20:45 masak moritz: that gag spilt over a little to the subsequent YAPC::Europes too
20:46 buharin and he said if no-one says yes then stop writing in perl because it will be unmaintainable
20:46 Hotkeys are you saying I should move to europe if I want a perl 6 job
20:46 RabidGravy this year I am going to persuade a company that they want to use Perl 6
20:47 buharin RabidGravy, how to do it?
20:47 buharin I talk with guy in my company and he says that perl is unreadable
20:47 buharin no-one want to learn it
20:47 buharin better write perl
20:47 buharin shell is better then perl
20:48 Hotkeys Perl 6 is less line noise than perl 5 I've heard
20:48 Hotkeys although I never really used perl 5
20:48 alpha123 perl5 wasnt really linenoisey unless you made it that way
20:48 moritz buharin: for every language out there, there are people bashing it. PHP? Ugly, unsafe. Perl? Read-only. JS? don't even get me started. Haskell? Academia only. And so on
20:48 buharin moritz, I don't like PHP too
20:49 alpha123 yeah, the only language that's worthy of real bashing is PHP
20:49 buharin but supporting only main companies languages is worse
20:49 buharin you know for example D lang
20:49 moritz buharin: the best thing you can do is write software that gets things done, and let the haters hate
20:49 buharin no-one head about it till one guy start to promote it
20:49 alpha123 remember when D was relevant?
20:49 alpha123 yeah me neither
20:50 ely-se joined #perl6
20:50 buharin and what else sucks in os x
20:50 masak at our company, we have been using Perl 6 for years
20:50 moritz I don't like PHP either, but I acknowledge that some of most widely used blogging and general web platform is written in PHP
20:50 buharin I use it first time but I can't run iOS dev on another platform
20:50 masak it's one of our (no-so-secret) business advantages
20:50 moritz I'd love to see something comparable in Perl 6 :-)
20:51 alpha123 also 90% of the web's security vulnerabilities normalized for language deployments are written in PHP!
20:51 SmokeMachine___ m: my %a; my @b = 1, 2, 3; %a{||@b} = True; say %a.perl
20:51 camelia rakudo-moar 775271: OUTPUT«{"1" => Bool::True, "2" => Any, "3" => Any}␤»
20:51 buharin and I got right now iMac and I cant install Linux here some strange problems
20:51 ely-se PHP is my favourite dynamically typed programming language, because it doesn't allow for abominations like monkey patching.
20:51 buharin why the fuck ppl like these systems
20:51 SmokeMachine___ shouldn't it be {1 => {2 => {3 => Bool::True}}} ?
20:52 * buharin confused
20:52 nowan joined #perl6
20:52 masak buharin: I can only speak for myself, but I find Linux very nice and easy to work with. it's the system that frustrates me the least
20:52 masak buharin: then again, I'm not trying to run it on an iMac :P
20:52 moritz m: my %a; my @b = (1; 2; 3;); %a{||@b} = True; say %a.per
20:52 camelia rakudo-moar 775271: OUTPUT«Method 'per' not found for invocant of class 'Hash'␤  in block <unit> at /tmp/AX0UgLK9lO line 1␤␤»
20:52 moritz m: my %a; my @b = (1; 2; 3;); %a{||@b} = True; say %a.perl
20:52 camelia rakudo-moar 775271: OUTPUT«{"1" => Bool::True, "2" => Any, "3" => Any}␤»
20:53 awwaiid I heard there is a new mersenne prime. Unfortunately this is taking a while to run: say "YEP!" if (2⁷⁴²⁰⁷²⁸¹-1).is_prime
20:53 buharin masak, yeah but I got Linux notebook but I do a shit and buy iMac now I got nothing
20:53 buharin masak, that way I listen my million cousin to make a cash
20:53 buharin :]
20:54 buharin masak, he said me you use vim emacs you are linux conservator
20:54 xpen joined #perl6
20:55 buharin only on Xcode only on iMac you can do a big money so I am poor at the moment quite I listen him ;s
20:55 buharin and right now I think thats a shit
20:56 Hotkeys hmm
20:56 moritz buharin: you can make money by providing value to others, and charging money for that. iOS isn't the only platform by far that allows that
20:56 Hotkeys rakudobrew couldn't install the latest build for some reason
20:56 Hotkeys just restarted lets see if that fixes
20:56 buharin moritz, I event not earning 1k$ here in poland
20:57 buharin cause the companies that come here pay us less than in US or UK etc.
20:57 buharin so I think thats a problem
20:57 huf yes. but they go there *because* they can pay less
20:58 buharin not that I want to keep open source
20:58 masak buharin: it's partly a matter of familiarity as well. I'm very familiar with the Linux toolset, from bash to vim/Emacs to LaTeX to Perl. this helps me solve problems quickly. other platforms approximate but do not quite reach that level of convenience
20:58 SmokeMachine___ moritz: should be {1 => {2 => {3 => Bool::True}}}, right?
20:59 moritz SmokeMachine___: possibly; I'm not very confident in this area
21:00 buharin masak, do you think I can turn back my career?
21:00 buharin and start learn Perl on iMac?
21:00 SmokeMachine___ https://design.perl6.org/S09.html#Multidimensional_arrays
21:00 skids A lot of multidim is still yet to be implemented.
21:00 masak buharin: sure, why not
21:00 masak buharin: "turn back" sounds too drastic, though
21:01 SmokeMachine___ m: my @a = 1, 2, 3; my @b; @b[||@a] = True; @b.perl.say
21:01 camelia rakudo-moar 775271: OUTPUT«[Any, Bool::True, Mu, Mu]␤»
21:01 masak buharin: think of it as learning new skills, and finding out which tools you like
21:01 SmokeMachine___ same "problem" with array...
21:01 buharin masak, I play with many things
21:02 SmokeMachine___ m: my @a; @a[1;2;3] = True; @a.perl.say
21:02 camelia rakudo-moar 775271: OUTPUT«[Any, [Any, Any, [Any, Any, Any, Bool::True]]]␤»
21:02 masak SmokeMachine___: that last one looks right to me
21:02 buharin masak, from web dev in Java to some Go simple website C, C++, iOS even a bit android
21:02 RabidGravy buharin, I learn new things all the time, I've been programing for a living for some twenty five years and have learned maybe twenty languages
21:02 SmokeMachine___ masak: the@a[1;2;3] one?
21:02 jnthn The || interpolator didn't make it into 6.c
21:02 buharin the one thing which I omit it is a game dev
21:02 buharin xD
21:03 buharin RabidGravy, ya like me
21:03 SmokeMachine___ jnthn: that explains the problem!
21:03 buharin RabidGravy, but I don't feel really good in one
21:03 masak SmokeMachine___: no, the `my @a = 1, 2, 3; my @b; @b[||@a] = True` one
21:03 buharin RabidGravy, even in my work I do multiple things
21:03 SmokeMachine___ but using it don't throw a error either...
21:03 moritz buharin: maybe you should stop focusing on tools so much, and learn more about the techniques?
21:04 SmokeMachine___ masak: I don't think that response was correct...
21:04 buharin moritz, what do you mean?
21:04 moritz buharin: algorithms, architecture, design patterns
21:04 buharin moritz, I think about it last time
21:04 moritz buharin: best practise, the fundamentals of your infrastructure, how the protocols work that you use (TCP, DNS, HTTP, ...)
21:04 buharin moritz, what exactly I think it was to learn well techniques with some language which I really love
21:05 hankache joined #perl6
21:05 rindolf thanks for your help , everyone.
21:05 moritz buharin: yes, an environment you love really helps
21:05 Hotkeys hmm
21:05 SmokeMachine___ jnthn: is there any idea in what version will it be implemented?
21:05 RabidGravy and develop a personal pattern book of architectural stereotypes that work will in real world applications
21:05 Hotkeys lets see if i can build 2015.12 or if this is a me problem
21:06 buharin moritz, as about TCP DNS .. and so on what you mean?
21:07 moritz buharin: if you develop for the web, all those protocols are used; it can help immensely if you know how they work
21:07 buharin what about perl is it only for web?
21:07 jnthn SmokeMachine___: That and partially dimensioned views are something I'd hope to get into 6.d
21:07 moritz buharin: no
21:07 buharin but as I look for job only web was
21:07 SmokeMachine___ jnthn: thanks!
21:08 hankache good evening #perl6
21:09 Hotkeys jnthn: if you get partially dimensioned views in I will love you forever
21:09 hoelzro Hotkeys: did Linenoise end up working for you?
21:09 Hotkeys hoelzro: I'm currently having trouble just installing p6
21:09 hoelzro =/
21:09 Hotkeys so i'm diagnosing that now
21:10 Hotkeys I'm going home soon so I'll see if it's a machine issue or a windows issue
21:10 Hotkeys (I'll try building on my desktop)
21:10 hoelzro ok
21:10 Hotkeys but I'm currently building 2015.12
21:10 Hotkeys to see if it's a recent issue
21:10 Hotkeys or just a me issue
21:10 geraud joined #perl6
21:13 Hotkeys if it's a recent issue that isn't on my end then I get to do the fun thing where I try every build in between systematically to find where the problem is
21:13 Hotkeys yep
21:13 cdg joined #perl6
21:13 Hotkeys 2015.12 worked fine
21:13 lokien_ joined #perl6
21:14 Hotkeys gonna head home now though, I'll start the fun in half an hour or so
21:14 hoelzro good luck Hotkeys
21:16 cxreg2 did pl6anet recover a backup?
21:18 AlexDaniel Ulti: dunno. But if you don't want those then just use comb?
21:18 AlexDaniel m: say ‘,one,two,three,’.split: ‘,’
21:18 camelia rakudo-moar 775271: OUTPUT«( one two three )␤»
21:19 AlexDaniel m: ‘,one,two,three,’.split(‘,’).perl.say
21:19 camelia rakudo-moar 775271: OUTPUT«("", "one", "two", "three", "")␤»
21:19 AlexDaniel Ulti: it kinda just makes sense. You have an empty string before your string and after it, so therefore you get these elements. Just like in this case ↑
21:21 AlexDaniel oh nice, completely numeric commit hash
21:26 maslan joined #perl6
21:34 leont S05 mentions a «<it($threshold)>» regex syntax, but doesn't explain how/if you can define rules that take arguments. Anyone have pointers?
21:36 SmokeMachine___ how can I declare a variable of type Pair where the key will be a Array of Str and the Value will be a Str?
21:37 addison joined #perl6
21:39 hoelzro leont: Perl6::Grammar does it quite a bit
21:39 hoelzro rule it($threshold) { ... } should do the trick
21:39 ely-se SmokeMachine___: I think you have to make a subset of Pair.
21:39 ely-se Pair isn't a parameterised role
21:41 SmokeMachine___ ely-se: :(
21:42 ely-se m: subset StrsToStr of Pair where { .key ~~ Array && .value ~~ Str }; my StrsToStr $p = ["a", "b"] => "c";
21:42 camelia rakudo-moar 775271: ( no output )
21:42 ely-se don't know how to do they "array *of strings*" part
21:42 b2gills SmokeMachine___: you mean 「my Pair $v where :( Array :key($), Str :value($) );」
21:42 jme` joined #perl6
21:42 ely-se so many sad smileys
21:43 timotimo you have to either force the user to declare the array as Array[Str] or you have to match all(.key.list) ~~ Str
21:44 SmokeMachine___ b2gills: does that do the trick?!
21:44 b2gills m:  my Pair $v where :( Array[Str] :key($), Str :value($) ) =  Array[Str]( [''] ) => ''; say $v
21:44 camelia rakudo-moar 775271: OUTPUT«[] => ␤»
21:45 SmokeMachine___ m:  my Pair $v where :( Array[Str] :key($), Str :value($) ) =  [<bla bye bli>] => 'test'; say $v
21:45 sno joined #perl6
21:45 camelia rakudo-moar 775271: OUTPUT«Type check failed in assignment to $v; expected <anon> but got Pair␤  in block <unit> at /tmp/OGwOqmqIaX line 1␤␤»
21:46 SmokeMachine___ m:  my Pair $v where :( Array[Str] :key($), Str :value($) ) =  Array[Str]([<bla bye bli>]) => 'test'; say $v
21:46 camelia rakudo-moar 775271: OUTPUT«[bla bye bli] => test␤»
21:46 b2gills SmokeMachine___:  you have to coerce in that case, or accept any Array
21:46 SmokeMachine___ b2gills: that looks great! thanks!
21:47 nowan joined #perl6
21:47 colomon joined #perl6
21:47 DrPete_ joined #perl6
21:49 b2gills SmokeMachine___: I don't know if the Signature :(…) version is more or less performant than 「my Pair $v where .key ~~ Array[Str] and .value ~~ Str;」
21:52 SmokeMachine___ b2gills: thanks!
21:52 leont How can I store a method in a variable?
21:53 lnrdo joined #perl6
21:53 SmokeMachine___ m:  my Pair $v where :( Array[Str(Any)] :key($), Str :value($) ) =  [<bla bye bli>] => 'test'; say $v
21:53 camelia rakudo-moar 775271: OUTPUT«Type check failed in assignment to $v; expected <anon> but got Pair␤  in block <unit> at /tmp/vciYX2DpTs line 1␤␤»
21:54 SmokeMachine___ m:  my Pair $v where :( Array[Any(Str)] :key($), Str :value($) ) =  [<bla bye bli>] => 'test'; say $v
21:54 camelia rakudo-moar 775271: OUTPUT«Type check failed in assignment to $v; expected <anon> but got Pair␤  in block <unit> at /tmp/wIm9JZMDU_ line 1␤␤»
21:56 SmokeMachine___ m: sub f(Str(Any) $a){$a.WHAT.say} f("bla")
21:56 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dVba70qZJM␤Strange text after block (missing semicolon or comma?)␤at /tmp/dVba70qZJM:1␤------> 3sub f(Str(Any) $a){$a.WHAT.say}7⏏5 f("bla")␤    expecting any of:␤        infix␤        infix st…»
21:56 SmokeMachine___ m: sub f(Str(Any) $a){$a.WHAT.say}; f("bla")
21:56 camelia rakudo-moar 775271: OUTPUT«(Str)␤»
21:56 SmokeMachine___ m: sub f(Str(Any) $a){$a.WHAT.say}; Any $b = "test"; f($b)
21:56 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pWP0CMmM9F␤Two terms in a row␤at /tmp/pWP0CMmM9F:1␤------> 3sub f(Str(Any) $a){$a.WHAT.say}; Any7⏏5 $b = "test"; f($b)␤    expecting any of:␤        infix␤        infix stopper␤        state…»
21:56 SmokeMachine___ m: sub f(Str(Any) $a){$a.WHAT.say}; my Any $b = "test"; f($b)
21:56 camelia rakudo-moar 775271: OUTPUT«(Str)␤»
21:58 prammer joined #perl6
22:01 burnersk joined #perl6
22:01 haircode joined #perl6
22:01 Ulti AlexDaniel by that logic though you would expect 'ab'.split('') to have an empty string delimited by empty strings in the middle of a and b but there isn't
22:02 AlexDaniel m: say ‘a,,,b’.split(‘,’).perl.say
22:02 camelia rakudo-moar 775271: OUTPUT«("a", "", "", "b")␤True␤»
22:02 colomon joined #perl6
22:02 AlexDaniel Ulti: correct, but then it would be an infinite amount of empty strings…
22:02 Ulti exactly
22:02 Ulti thats why I dont like it
22:02 Ulti '' is a special case
22:02 Ulti its like the empty set
22:03 AlexDaniel Ulti: you don't like that it doesn't hang? But honestly I also fail to see why would anybody want to use ‘’ as a delimiter
22:04 Ulti also its a strange thing to "fix" from Perl 5 expectations of split
22:04 Ulti AlexDaniel because split is infinitely more memorable and obvious a method than comb
22:04 laz78 joined #perl6
22:04 b2gills moritz: I figured out what the problem was with the permutations PR, and fixed it.
22:05 Ulti frakly split with no arguments should imply the same as comb with no arguments :S
22:05 Ulti at least thats what I expect even if its not what I get
22:05 [Coke] Do you still have that expectation after reading the docs?
22:05 b2gills m: say 'abab'.split('a').perl; # Ulti: this is why
22:05 camelia rakudo-moar 775271: OUTPUT«("", "b", "b")␤»
22:06 Ulti split join is unaffected by split with extra empty strings but split with zip ends up being super unexpected
22:06 b2gills Ulti: if you don't want the empty strings use .comb()
22:06 Ulti b2gills: I still dont see how that really explains why
22:06 buharin what book should I use for perl6?
22:07 [Coke] buharin: there is no book yet.
22:07 AlexDaniel buharin: doc.perl6.org… not a book but yeah
22:07 buharin so can I use perl5 book
22:07 buharin for perl6?
22:07 [Coke] nope.
22:07 AlexDaniel buharin: partially
22:07 [Coke] 6 ain't 5.
22:07 colomon joined #perl6
22:07 buharin oh okay ;s
22:07 Ulti m: say 'ababa'.split('a').perl; #why no terminating ''?
22:07 camelia rakudo-moar 775271: OUTPUT«("", "b", "b", "")␤»
22:07 [Coke] AlexDaniel: I think using the 5 book to learn 6 would be a very bad idea.
22:07 Ulti whoa
22:07 b2gills Ulti: .split('') could very well produce an infinite list of empty strings and not be incorrect
22:08 Ulti thats different from P5
22:08 Ulti also
22:08 AlexDaniel buharin: by “partially” I mean that perl5 knowledge definitely helps when learning Perl 6, but other than that not so much
22:08 [Coke] Ulti: welcome to 6?
22:08 Ulti sure but I dont see the actual /use case/ for this in 6
22:08 [Coke] AlexDaniel: I think Ulti would disagree that knowing how 5 works helps at this point. :)
22:08 Ulti not everything in 5 was broken
22:08 [Coke] Ulti: that's the spec.
22:08 Ulti sure but I'm asking why so I can see the light
22:09 AlexDaniel .u light
22:09 yoleaux U+0FC1 TIBETAN CANTILLATION SIGN LIGHT BEAT [So] (࿁)
22:09 yoleaux U+23BE DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT [So] (⎾)
22:09 yoleaux U+23BF DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT [So] (⎿)
22:09 captain-adequate joined #perl6
22:09 AlexDaniel .u bulb
22:09 yoleaux U+1F4A1 ELECTRIC LIGHT BULB [So] (????)
22:09 b2gills Perl 6 doesn't throw things away like Perl 5 did
22:09 ZoffixWin_ joined #perl6
22:09 ZoffixWin_ joined #perl6
22:09 [Coke] If you really wanted, you could dig into the github specification and spectest repo and see what the history associated with that change was.
22:09 AlexDaniel I think that I remember some boring discussion about it…
22:09 [Coke] but we're talking about 15 years of design and development here.
22:10 bjz joined #perl6
22:10 AlexDaniel m: split ‘,’, ‘hello,world’, ‘foo,bar’
22:10 camelia rakudo-moar 775271: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5foo,bar' (indicated by ⏏)␤  in block <unit> at /tmp/S_09P2XQuL line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/S_09P2XQuL line 1␤␤»
22:11 Ulti ok I have it >:P how about split(*) does Whatever I want :P
22:11 AlexDaniel m: split ‘’, *
22:11 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BnfdKpQ237␤Calling split(Str, Whatever) will never work with declared signature ($pat, Cool $target, |c is raw)␤at /tmp/BnfdKpQ237:1␤------> 3<BOL>7⏏5split ‘’, *␤»
22:11 Ulti yeah its wide open for it
22:11 [Coke] m: say 'ababa'.split('a', :skip-empty).perl;
22:11 Ulti :D
22:11 camelia rakudo-moar 775271: OUTPUT«("b", "b")␤»
22:11 [Coke] So maybe if you don't like the default, use that.
22:11 AlexDaniel m: say 'ababa'.split('', :skip-empty).perl;
22:11 camelia rakudo-moar 775271: OUTPUT«("a", "b", "a", "b", "a")␤»
22:11 Ulti [Coke] but thats so much extra typing for what is quite clearly the most common use case
22:11 Ulti :keep-empty
22:11 captain-adequate joined #perl6
22:11 burnersk joined #perl6
22:11 haircode joined #perl6
22:11 AlexDaniel m: say ''.split('', :skip-empty).perl;
22:11 camelia rakudo-moar 775271: OUTPUT«()␤»
22:11 [Coke] Ulti: there is no way this is changing for 6.c
22:12 Skarsnik joined #perl6
22:12 AlexDaniel [Coke]: there is a way to change that in 6.d
22:12 AlexDaniel but honestly, I don't see any problem with it…
22:12 [Coke] If you want to argue for a change in 6.d, that's something. Otherwise I don't know what we can tell you unless whoever made the decision happens to see this in backscroll.
22:12 Ulti well I've been using P6 for... 6 years and I just managed to actually use split wrong for the first time just because join swallows the '' just fine so you never notice and can cargo cult from P5 knowledge
22:12 [Coke] AlexDaniel: sure, in the next spec version, it's changeable.
22:13 Ulti but something like  Z=>  to make a hash kills you
22:14 Ulti I guess what I'd actually argue for is no args split just splits into a list of the characters that exist in the string based on grapheme cluster o___O specifically
22:15 [Coke] Ulti: that's .comb
22:15 Ulti whatever star also kind of makes sense it would do the same
22:15 Ulti [Coke]: sure
22:15 Ulti but I want to use the word split
22:15 Ulti because wtf
22:15 [Coke] m: say "abcde".split(*).perl;
22:15 camelia rakudo-moar 775271: OUTPUT«Cannot call split(Str: Whatever); none of these signatures match:␤    (Cool $: Regex:D $pat, $limit = { ... };; :$all, *%_)␤    (Cool $: Cool:D $pat, $limit = { ... };; :$all, *%_)␤    (Str:D $: Regex:D $pat, $parts = { ... };; :$v is copy, :$k, :$kv…»
22:16 [Coke] Ulti: I'm sorry this doesn't make you happy.
22:16 RabidGravy I don't think I've used split // more than twice in Perl in twenty years
22:16 Ulti lol
22:16 meth joined #perl6
22:16 [Coke] but like I said, there's no way it can change without a new spec release.
22:16 [Coke] m: use Inline::Perl5;
22:16 camelia rakudo-moar 775271: OUTPUT«===SORRY!===␤Could not find Inline::Perl5 in:␤    /home/camelia/.perl6/2015.12-214-g775271d␤    /home/camelia/rakudo-m-inst-1/share/perl6/site␤    /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-1/share/perl6␤  …»
22:16 [Coke] star: use Inline::Perl5;'
22:16 camelia star-m 2015.09: OUTPUT«===SORRY!===␤Could not find Inline::Perl5 in any of:␤  file#/home/camelia/.perl6/2015.09/lib␤  inst#/home/camelia/.perl6/2015.09␤  file#/home/camelia/star-2015.09/share/perl6/lib␤  file#/home/camelia/star-2015.09/share/perl6/vendor/lib␤  file#/home…»
22:17 AlexDaniel m: say ‘hello’.split(/‘’/).perl
22:17 [Coke] ah well.
22:17 camelia rakudo-moar 775271: OUTPUT«("", "h", "e", "l", "l", "o", "")␤»
22:17 [Coke] heading out. later, everyone.
22:17 Ulti have fun
22:18 bearder joined #perl6
22:18 Ulti RabidGravy in bioinformatics I split strings into characters more than I do any other operation, more than addition
22:18 b2gills m: say ‘hello’.comb(/./).perl
22:18 raiph joined #perl6
22:18 camelia rakudo-moar 775271: OUTPUT«("h", "e", "l", "l", "o").Seq␤»
22:18 mspo substr-as-a-loop is probably faster than split anyway
22:18 AlexDaniel Ulti: then why not use comb!
22:18 AlexDaniel or why not define your own sub
22:18 AlexDaniel or even your own operator
22:19 RabidGravy Ulti, I'm not saying there is no use for it, just the kind of things I do I've never found a need for it :)
22:19 b2gills .comb is going to be faster than .split('') anyway
22:19 mspo your own operator sounds most fun
22:20 zhmylove Hi all! I'm just compiled 2015.12 rakudo, and it takes 0m2.074s against perl5 0m0.013s to execute a file with 1000 lines ``print "JAPH\n";'' Am I doing smth wrong?
22:20 b2gills zhmylove: run it twice
22:20 zhmylove b2gills: ? kind of joke?
22:21 Ulti .comb for me always brings up the thoughts combine combinatorial etc. when programming not "its like a hair comb"
22:21 mspo zhmylove: it cached bytecode into ~/.perl6, is why he's saying that
22:21 mspo zhmylove: but it's way slower
22:21 zhmylove mspo: how would I run it twice?
22:21 zhmylove mspo: perl6 /tmp/file.p6 && perl6 /tmp/file.p6 ?
22:21 xdoctor joined #perl6
22:21 mspo zhmylove: just run it again exactly like you did
22:22 mspo zhmylove: if you were getting the compile-to-bytecode part it would be slower
22:22 AlexDaniel mspo: it sounds slow actually
22:22 AlexDaniel mspo: but yes, fun too
22:22 Ulti b2gills why is exactly why I would argue for split(*) and split() to literally call .comb
22:22 mspo AlexDaniel: the operator or substr?
22:22 masak 'night, #perl6
22:22 AlexDaniel mspo: split operator
22:22 mspo AlexDaniel: why?  are operators slow like grammars?
22:23 AlexDaniel mspo: no, they just add up to the startup time
22:23 mspo perl6: the fast parts -- going to be published :)
22:23 AlexDaniel mspo: significantly
22:23 camelia rakudo-jvm 6c0f93, rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Preceding context expects a term, but found infix : instead␤at /tmp/tmpfile:1␤------> 3he fast parts -- going to be published :7⏏5)␤»
22:23 AlexDaniel haha
22:23 zhmylove mspo: 2,07 real, 2,07 real, 2,07 real
22:23 mspo zhmylove: so then it's right
22:24 zhmylove mspo: 2 seconds to parse+compile+execute just 1000 of prints ???
22:24 mspo I can try it on my machien if you like
22:24 mspo it's very slow
22:24 AlexDaniel yeah, my machine is not that fast too. I'd be happy to try it
22:24 zhmylove mspo: Yes, please try it, if it's not a problem for you
22:25 Amendil joined #perl6
22:26 RabidGravy m: role Splitty { multi method split(Whatever) { self.comb(/./) }}; my $a = "abcdefgh" but Splitty; say $a.split(*);
22:26 camelia rakudo-moar 775271: OUTPUT«(a b c d e f g h)␤»
22:26 Amendil joined #perl6
22:27 AlexDaniel Interestingly, it actually takes goddamn two seconds!!?
22:27 mspo or me
22:27 mspo zhmylove: 3.4s for me
22:27 mspo I'm usig a tiny vm :)
22:27 b2gills RabidGravy: .comb() is a different method than .comb(/./), and likely slower
22:28 AlexDaniel 「say」 is a little bit faster but not much
22:28 pmqs_ Is it possible to match against a low-level type (int8, int32 etc)? Here is what I've tried
22:28 ZoffixWin_ zhmylove, 2.39s on my 1-core Linode box. Seems about right. There are a bit of points to clarify in your comparison against Perl 5: (a) Perl 5 had over a decade to optimize itself (especially with the recent drastic improvements in the .20+ versions), while Perl 6 is a brand new language whose stable version is not even a month old.. But more importantly, it's not *just* 1000 prints. You're getting the type system and all the built ins. Barebones
22:28 ZoffixWin_ Perl 5 doesn't include that. Try importing Moose along with several List, String, and Math modules.
22:28 pmqs_ m: my int8 $a; do given $a { when int8 {"int8"}; when Int {"int"}; default {"default"} }
22:28 camelia rakudo-moar 775271: ( no output )
22:28 mspo weirdly printing just one line only takes .5s
22:28 Skarsnik I am worried there is no new issue on DBIish since x-mas x)
22:29 AlexDaniel and 10_000 prints takes 16.5 seconds! Almost linearly!
22:29 AlexDaniel Skarsnik: sure, because I haven't submitted anything yet :D
22:29 pmqs_ m: my int8 $a; say do given $a { when int8 {"int8"}; when Int {"int"}; default {"default"} }
22:29 camelia rakudo-moar 775271: OUTPUT«int␤»
22:29 ZoffixWin_ m: print "JAPH" for 10_000; say now - INIT now;
22:29 camelia rakudo-moar 775271: OUTPUT«JAPH0.0021305␤»
22:29 Skarsnik hm
22:29 b2gills pmqs_: You can't use a native type in a when statement or the right side of ~~
22:30 AlexDaniel ZoffixWin_: no it is actually slow and it actually depends on the source code
22:30 AlexDaniel ZoffixWin_: that's a real issue
22:30 RabidGravy Skarsnik, I've seen few issues on anything really
22:30 ZoffixWin_ AlexDaniel, hence my first point :)
22:30 Skarsnik RabidGravy, for me it mean a shortage of users x)
22:30 ZoffixWin_ AlexDaniel, well, actually what do you mean "actually slow"?
22:31 mspo --optimize=3 brings mine down a few 1/10th of a second
22:31 Skarsnik for output you have to take into account the term speed
22:31 mspo Skarsnik: I'm > /dev/null
22:31 Skarsnik oh oki
22:31 b2gills m: multi t (int8) {8}; multi t (Int) {Inf}; say t my int8 $ # pmqs_
22:31 camelia rakudo-moar 775271: OUTPUT«8␤»
22:31 pmqs_ b2gills, is there a way to get the string representation for the type? I'm looking for a way to lookup an action for a set of types
22:31 Skarsnik it's because int8 does not have Accept?
22:32 mspo I'm surpised that it isn't all startup time
22:32 AlexDaniel ZoffixWin_: 16 seconds for 10_000 prints is slow, there's no need for a debate about that…
22:32 mspo it's actually the execution of "print" is slow
22:32 Skarsnik m: say int8.^name
22:32 camelia rakudo-moar 775271: OUTPUT«int8␤»
22:32 zhmylove Guys, thank for your investigation. Errgh :(, going to wait some decades before migration of the production to p6...
22:32 b2gills pmqs_:  int8 is not really a Type the way that Int is
22:32 mspo zhmylove: no one will tell you moar is fast right now
22:33 mspo zhmylove: check out the memory usage for that script too :)
22:33 AlexDaniel zhmylove: honestly, it looks like there is some problem with that specific case. I have done a bunch of rather complex stuff and it worked just fine
22:33 colomon joined #perl6
22:33 pmqs_ b2gills, that sounds a bit crazy.
22:34 mspo 'say' is even slower!
22:34 b2gills zhmylove: If the rate of optimizations it has currently undergone it will surpass Perl 5 in less than 5 years ( not that I expect that necessarily )
22:34 AlexDaniel zhmylove: but sure, if you need rather good performance then perl 6 is probably not the best choice right now, if only you don't plan to rewrite some stuff in C to get amazing performance :)
22:34 zhmylove Hmmm, is there anything like perlcc for p6? :)
22:35 Skarsnik not yet?
22:35 b2gills pmqs_: The only reason int8 and friends exist is so that very bare metal optimizations are possible
22:35 ZoffixWin_ AlexDaniel, errr, right, I missed the 16 seconds bit... FWIW, I'm still waiting for it to finish on my box :o
22:35 ZoffixWin_ Oh, wait, I messed up...
22:35 RabidGravy It's say that is slow
22:35 mspo for what it's worth using a loop () { print } is much faster
22:36 AlexDaniel mspo: of course, but that's not the point
22:36 b2gills zhmylove: I've heard on the channel a while back that someone uses Perl 6 for testing C code
22:36 AlexDaniel b2gills: it was me, I do, yes
22:36 pmqs_ b2gills, as a relative newcomer to perl6, that sounds arbitrary.
22:36 RabidGravy m: my $a; $a++ for ^250000; say now - INIT now # approximately the same as 1000 says
22:36 camelia rakudo-moar 775271: OUTPUT«0.1437352␤»
22:36 ZoffixWin_ 0.207s for Perl 5 and 18.175s for Perl 6 on my Linode box.. :o
22:36 * DrForr grouses at RT.
22:36 pmqs_ m: my int8 $a; say do given $a.^name { when 'int8' {"int8"}; when "Int" {"Int"} }
22:36 camelia rakudo-moar 775271: OUTPUT«Int␤»
22:36 b2gills m: say Int ~~ Any; # pmqs_:
22:36 camelia rakudo-moar 775271: OUTPUT«True␤»
22:37 mspo it must be looking up "print" each time
22:37 Skarsnik err that weird
22:37 ZoffixWin_ m: say 18.175/0.207
22:37 camelia rakudo-moar 775271: OUTPUT«87.801932␤»
22:37 ZoffixWin_ yikes
22:37 Skarsnik m: say int8.WHAT
22:37 camelia rakudo-moar 775271: OUTPUT«(int8)␤»
22:37 AlexDaniel what's the right [TAG] for RTs about optimization?
22:37 zhmylove Some texts recommends using Rakudo-JVM. But it's java unlikely
22:37 Skarsnik pmqs_, there is something wrong here
22:38 AlexDaniel e.g. we have [LTA] and [BUG] and stuff like that, I kinda expect to see bug reports about rakudo being too slow with a similar tag
22:38 b2gills Rakudo-JVM is not up-to date
22:38 Skarsnik m: my int8 $a; say $a.WHAT
22:38 camelia rakudo-moar 775271: OUTPUT«(Int)␤»
22:38 AlexDaniel or should I just come up with something?
22:38 Skarsnik m: my int8 $a; say $a.^name;
22:38 camelia rakudo-moar 775271: OUTPUT«Int␤»
22:38 Skarsnik m: my int8 $a = 8; say $a.^name;
22:38 camelia rakudo-moar 775271: OUTPUT«Int␤»
22:38 AlexDaniel [SLOW] ?
22:39 Skarsnik That so wrong
22:39 pmqs_ Skarsnik, assume WHAT should give int8 ?
22:39 Skarsnik yes
22:39 AlexDaniel Skarsnik: I think that there was a bug report for that. Try searching for it :)
22:39 Skarsnik m: my int18 $a = 8; say $a.^name;
22:39 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5===␤Type 'int18' is not declared. Did you mean any of these?␤    int16␤    int8␤␤at /tmp/LvlnxVo0dS:1␤------> 3my int187⏏5 $a = 8; say $a.^name;␤Malformed my␤at /tmp/LvlnxVo0dS:1␤------> 3my7⏏5 int18 $a = 8; say …»
22:39 b2gills pmqs_: there is no way that WHAT **can** give int8 (since there is no type object of type int8)
22:40 Skarsnik m: my int16 $a = 8; say $a.^name;
22:40 camelia rakudo-moar 775271: OUTPUT«Int␤»
22:40 AlexDaniel m: say int8
22:40 camelia rakudo-moar 775271: OUTPUT«(int8)␤»
22:40 ZoffixWin_ It's all in compilation too.
22:40 ZoffixWin_ 17 seconds before it told me I got a syntax error
22:40 AlexDaniel b2gills: okay but what's that? ↑
22:40 Skarsnik m: my int16 $a = 8; say $a.REPR;
22:40 camelia rakudo-moar 775271: OUTPUT«P6opaque␤»
22:40 Skarsnik this is wrong too
22:40 pmqs_ AlexDaniel, will take a look & see if there's a ticket
22:41 Skarsnik m: my int16 $a = 8; say int16.REPR; say $a.REPR;
22:41 camelia rakudo-moar 775271: OUTPUT«P6int␤P6opaque␤»
22:41 AlexDaniel zhmylove: thanks for reporting this issue. I'll submit a ticket
22:41 Skarsnik m: my int $a = 8; say int16.REPR; say $a.REPR;
22:41 camelia rakudo-moar 775271: OUTPUT«P6int␤P6opaque␤»
22:41 AlexDaniel zhmylove: there is a high chance that by fixing this issue we will see general p6 speedup… hmm :)
22:42 Skarsnik I hope it stopped giving me random bug when I work on gptrixie xD
22:42 rvchangue joined #perl6
22:43 ZoffixWin_ AlexDaniel, if you want to include this in the ticket: it takes 17s to run 10,000 prints on my box, but if I move them into a module and a sub and precompile the module, then I get 1.2s run. This is all compared to 0.2s run with Perl 5 on the same box
22:43 zhmylove AlexDaniel: thank you very much!
22:44 pmqs_ b2gills, what *should* be the way to get "uint8" if WHAT is the way?
22:44 zhmylove ZoffixWin_: how do you precompile? Just make a first run?
22:44 ZoffixWin_ zhmylove, yeah. It's done automagically for modules.
22:44 Skarsnik m: my int16 $a = 8; say $a.VAR.WHAT;
22:44 camelia rakudo-moar 775271: OUTPUT«(IntLexRef)␤»
22:45 RabidGravy that's me done for the day
22:45 AlexDaniel ZoffixWin_: thanks, great info
22:45 Skarsnik m: class A { has int16 $.a is rw; }; say A.^attributes[0].type;
22:45 camelia rakudo-moar 775271: OUTPUT«(int16)␤»
22:46 pmqs_ Skarsnik, ohhh
22:46 pmqs_ that looks promising
22:46 Skarsnik m: class A { has int16 $.a is rw; method foo() { say $.a.WHAT}}; A.new.foo;
22:46 camelia rakudo-moar 775271: OUTPUT«(Int)␤»
22:47 Skarsnik duh
22:47 Skarsnik m: class A { has int16 $.a is rw; method foo() { say $!a.^name}}; A.new.foo;
22:47 camelia rakudo-moar 775271: OUTPUT«Int␤»
22:49 pmqs_ Skarsnik, that's one I tried earlier. My usecase is in a class
22:52 Skarsnik m: class A { has int16 $.a is rw; method foo() { say $!a.^type}}; A.new.foo;
22:52 camelia rakudo-moar 775271: OUTPUT«Method 'type' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤  in method foo at /tmp/wv20F9Sh1P line 1␤  in block <unit> at /tmp/wv20F9Sh1P line 1␤␤»
22:53 jdv79 .tell ugexe its back up.  maybe its time to run it better.
22:53 yoleaux jdv79: I'll pass your message to ugexe.
22:55 xpen joined #perl6
22:58 sortiz joined #perl6
23:00 sortiz o/ #perl6
23:00 pmqs_ Skarsnik, found the definition for uint8, etc in natives.pm
23:00 pmqs_ my native  uint8 is repr('P6int') is Int is nativesize( 8) is unsigned { }
23:01 Skarsnik Oh right there are all is Int?
23:01 pmqs_ yep
23:01 Skarsnik still it's weird they get the Int type
23:01 yqt joined #perl6
23:02 Skarsnik I mean not their own type
23:02 pmqs_ yep - if this is defined behaviour it will cause confusion
23:02 Skarsnik m: class A is Int{}; my A $a .= new; say $a.^name;
23:02 camelia rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HUH2qkRz6C␤Cannot call trait_mod:<is>(A, Int, Hash); none of these signatures match:␤    (Mu:U $child, Mu:U $parent)␤    (Mu:U $child, :$DEPRECATED!)␤    (Mu:U $type, :$rw!)␤    (Mu:U $type, :$natives…»
23:03 Skarsnik m: class A is Int {}; my A $a .= new; say $a.^name;
23:03 camelia rakudo-moar 775271: OUTPUT«A␤»
23:04 bapa joined #perl6
23:04 brabo joined #perl6
23:06 pmqs_ Skarsnik, going to call it a night. Will dig more into this tomorrow. Thanks!
23:06 Skarsnik I am curious now x)
23:06 Skarsnik m: use NativeCall; my bool $a; say $a.WHAT;
23:06 camelia rakudo-moar 775271: OUTPUT«(Int)␤»
23:14 skids joined #perl6
23:16 hippie1 joined #perl6
23:20 sortiz pmqs_, All "native" types uses a different representation than normal types
23:20 sortiz m: say .WHAT, .REPR for int8, int, Int, str, Str
23:20 camelia rakudo-moar 775271: OUTPUT«(int8)P6int␤(int)P6int␤(Int)P6opaque␤(str)P6str␤(Str)P6opaque␤»
23:21 Skarsnik yes but it get lost when doing my type $a:
23:22 Skarsnik m: my int8 $a = 8; say $a.REPR; # should be p6int
23:22 camelia rakudo-moar 775271: OUTPUT«P6opaque␤»
23:24 AlexDaniel joined #perl6
23:25 sortiz Ah, I'm late in the discussion
23:27 kid51 joined #perl6
23:29 llfourn joined #perl6
23:41 burnersk joined #perl6
23:41 addison joined #perl6
23:42 sortiz m:  use NativeCall; my int $a = 1; my Int $b = 1; say .VAR.WHAT for $a, $b # the container is different!
23:42 camelia rakudo-moar 775271: OUTPUT«(IntLexRef)␤(Scalar)␤»
23:43 AlexDaniel zhmylove: https://rt.perl.org/Public/Bug/Display.html?id=127330
23:44 maslan joined #perl6
23:47 Skarsnik Good night #perl6
23:47 Skarsnik Tomorow I try some c++ in gptrixie if I don't get another weird bug xD

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo