»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:00
n0tjack left,
firstdayonthejob left
00:02
vendethiel joined
|
|||
MadcapJake | It's still too early to use but I thought I'd post my progress: github.com/MadcapJake/p6dx | 00:02 | |
00:03
spider-mario left
|
|||
MadcapJake | The completions are generating, but I still need to write the multi MAIN that searches through all the available completions. | 00:03 | |
00:03
xpen left
|
|||
MadcapJake | Since it's really close to being ctags, I think I'll add a flag to generate ctags too. | 00:04 | |
00:05
bpmedley left
00:10
n0tjack joined
00:12
SCHAAP137 left
00:17
captain-adequate left
00:23
eternaleye left,
vendethiel left
00:28
silug joined
00:31
sortiz joined
|
|||
sortiz | hi #perl6 | 00:31 | |
00:31
vinnix joined,
n0tjack left
00:34
BenGoldberg joined
00:35
ab6tract left
|
|||
skids | o/ | 00:36 | |
00:36
Matth3w left
00:39
pmurias left
00:41
bjz_ left,
bjz joined
00:43
sufrostico left
|
|||
vinnix | o/ | 00:45 | |
00:49
eternaleye joined
00:52
n0tjack joined
00:54
Actualeyes joined
00:55
pierre-vigier joined
00:57
n0tjack left
00:58
M-matthew joined,
M-Illandan joined,
pierre-vigier left,
pierre-vigier joined
00:59
cdg left
01:02
yeahnoob joined
01:13
n0tjack joined
01:45
espadrine left
01:46
n0tjack left
01:51
dfcarpenterak left
01:53
bpmedley joined
01:56
xpen joined
01:58
pierre-vigier left
02:02
avs_ joined
02:03
pierre-vigier joined
02:04
AlexDaniel left
02:06
xdoctor left
02:17
lnrdo left
02:24
vendethiel joined
02:34
leont left
02:40
kaare_ joined
02:41
FreezerburnV joined
|
|||
FreezerburnV | Is @*INC not supposed to be available in a BEGIN block in 6.c anymore? | 02:41 | |
02:42
M-matthew left
02:43
zamolxes left
02:44
zamolxes joined
02:46
ilbot3 left,
avs__ joined
02:47
dfcarpenterak joined,
vendethiel left,
ilbot3 joined
02:48
M-matthew joined,
avs_ left
|
|||
geekosaur | I don't think it's available at all? | 02:52 | |
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 | ||
FreezerburnV | I want to have perl6 search the directory a script is being run from for modules | 02:54 | |
Gotcha | |||
What's the correct way to do what I just said in 6.c then? | |||
And what's a CompUnitRepo? | |||
geekosaur | design.perl6.org/S22.html#Distribut...stallation | ||
geekosaur does not know the answer to your questions, sadly | 02:55 | ||
FreezerburnV | I don't think I have the mental capacity to read through and actually understand all that right now, too tired | 02:57 | |
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 | 02:58 | ||
geekosaur | this is usually the wrong tome of day, I'm afraid; many of the key folks are in Europe | 03:03 | |
*time of day | 03:04 | ||
FreezerburnV | Ah, gotcha | ||
03:05
kaare_ left
|
|||
MadcapJake | FreezerburnV: my @files = find( :dir('.'), :type('file'), :name(rx!(\.pm6?)$!) )».IO.flat.list; | 03:07 | |
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 | |
Currently it does not seem to search '.', sadly | |||
(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. | ||
You could try `use lib '.'` don't know if that will work | 03:12 | ||
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 | |
What is that doing? | |||
skids | FreezerBurnV: "use lib" sets the search path, but only inside the current lexical scope. | 03:18 | |
FreezerburnV | Ah, interesting. Duly noted | ||
Thanks | |||
03:22
kid51 left
|
|||
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 | |
(I could be completely wrong considering moar is the underlying vm...) | |||
MadcapJake | don't know anything about that but i think you're just thinking of moarvm's files. | 03:25 | |
03:25
AW3i joined
|
|||
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:25 | |
03:26
aigan left
|
|||
FreezerburnV | Ah, yeah, ok I'm seeing that now | 03:26 | |
03:26
aigan joined
|
|||
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 | |
Looking forward to the future when compilation is faster! | |||
MadcapJake | Some are quite fast already! But definitely looking forward to more speed improvements. | 03:28 | |
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 | ||
FreezerburnV | Don't remember if the wrapper I'm working on was taking a decent chunk of time or not | ||
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:30 | ||
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,
arlenik joined
|
|||
FreezerburnV | That's what I seem to be seeing, and it's really exciting | 03:32 | |
awwaiid | FreezerburnV: use lib '.'; # works for me | 03:33 | |
oh, I didn't read that far ahead in the backlog, you got htat already | |||
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? | ||
awwaiid: Yep, thanks though! | |||
awwaiid | FreezerburnV: there are no immediate plans, but I think it is a wishlist item for sure | 03:34 | |
as in, I don't know of any particularly progressed examples of it | |||
MadcapJake | well since rakudo is a compiler, i'm sure it's possible, just perhaps down the line somewhere | ||
FreezerburnV | awwaiid, MadcapJake: Sweet | ||
03:34
avs__ left
|
|||
awwaiid | also w/ jvm backend a .jar might be nice for some cases | 03:34 | |
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 | ||
awwaiid: Fair enough | |||
03:35
avs__ joined
|
|||
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. | ||
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 | |
03:37
Actualeyes left
|
|||
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:37 | |
03:38
avs_ left
|
|||
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 modules.perl6.org/#q=sdl | ||
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:40 | |
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 | ||
Also this might be useful: 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 | ||
MadcapJake: Huh, that looks useful | 03:43 | ||
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 | ||
(the current Raw bindings use at least two of them) | |||
Also I find it weirdly satisfying to write FFI code | 03:45 | ||
03:46
erdic left
03:47
noganex joined
|
|||
MadcapJake | alrighty then! I've been wanting to write a wrapper for allegro someday, I might try using that gptrixie tool on that | 03:47 | |
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. | ||
FreezerburnV | Fair enough | 03:49 | |
I have an odd laziness where I would rather trudge through writing the code than setting up the thing that would autogenerate the code | |||
Even if it would take several days less | |||
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
noganex_ left
|
|||
FreezerburnV | It's relaxing writing code that takes no effort while watching youtube or something | 03:50 | |
03:50
hobbs left
03:51
hobbs joined,
Actualeyes joined
|
|||
MadcapJake | FreezerburnV: good on ya then! That's determination :) | 03:51 | |
03:52
Ben_Goldberg joined
|
|||
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
musca left,
luis left
|
|||
FreezerburnV | MadcapJake: Yay! | 03:52 | |
More libraries for perl6 is good! | |||
03:53
moritz left,
luis joined,
BenGoldberg left
03:54
moritz joined,
musca joined
03:59
erdic joined
04:00
ZoffixWin joined,
ZoffixWin left,
ZoffixWin joined
04:02
Calibell_ joined
|
|||
ZoffixWin | . | 04:02 | |
04:02
ZoffixWin is now known as Zoffix
|
|||
Zoffix | . | 04:02 | |
yoleaux | 15 Jan 2016 03:45Z <skids> Zoffix: I pushed some ramblings to user-experience | ||
17 Jan 2016 11:37Z <jdv79> Zoffix: absolutely nothing. i fell off the grid for two weeks. sure, i can move them over. | |||
04:02
Calibell_ left
04:03
ELBeavers left,
Calibellus left
04:04
Calibellus joined
|
|||
Zoffix | m: my \u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; my \l = 'abcdefghijklmnopqrstuvwxyz'; say join '', (u.comb Z l.comb) | 04:06 | |
camelia | rakudo-moar 770d10: OUTPUT«AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz» | ||
Zoffix | m: my \u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; my \l = 'abcdefghijklmnopqrstuvwxyz'; say (u.comb Z l.comb).join: '' | ||
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» | ||
Zoffix | Kinda weird the results are different :/ | ||
How come? | 04:07 | ||
04:10
Actualeyes left
|
|||
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))» | ||
MadcapJake | weird that the pairings are correct here, join is where it's failing | ||
m: my \u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; my \l = 'abcdefghijklmnopqrstuvwxyz'; say (u.comb Z l.comb).flat.join | |||
camelia | rakudo-moar 770d10: OUTPUT«AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz» | ||
MadcapJake | that works Zoffix ^ | 04:11 | |
Zoffix | I'm more curious why the one that doesn't doesn't :) | ||
skids | Zoffix: the sub form of join must be flattening, is why. | ||
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
|
|||
skids | m: ("A","a").Str.say | 04:13 | |
camelia | rakudo-moar 770d10: OUTPUT«A a» | ||
Zoffix doesn't follow | |||
Ah | |||
K, I get it | |||
m: my \u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; my \l = 'abcdefghijklmnopqrstuvwxyz'; say ((u.comb Z l.comb).join: '').elems | 04:14 | ||
camelia | rakudo-moar 770d10: OUTPUT«1» | ||
skids | (("A","a"),("B","b")).join joins ("A","a").Str with ("B","b").Str | ||
MadcapJake | m: ((('a','b','c'),('d','e','f')),(('g','h','i'),('j','k','l'))).join | 04:15 | |
camelia | ( no output ) | ||
MadcapJake | m: ((('a','b','c'),('d','e','f')),(('g','h','i'),('j','k','l'))).join.say | ||
camelia | rakudo-moar 770d10: OUTPUT«a b c d e fg h i j k l» | ||
skids | m: (('a','b','c'),('d','e','f')).Str.say | 04:16 | |
camelia | rakudo-moar 770d10: OUTPUT«a b c d e f» | ||
04:16
Psyche^ left
|
|||
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:17 | |
skids | Each list at the top level gets .Str'd. There are two such lists. .Str, apparently, flattens lists. | 04:18 | |
MadcapJake | oh ok, so it isn't actually calling str on each tuple since the first two are being flattened via .Str | 04:19 | |
04:19
pierre-vigier left
|
|||
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» | ||
skids | FSVO "first". Each of the ones iterated by .join is. | ||
MadcapJake | right, poor word choice :P | 04:20 | |
04:22
pierre-vigier joined
04:26
pierre-vigier left
04:28
Ben_Goldberg left
04:32
FreezerburnV left
04:45
Actualeyes joined
04:49
avs_ joined
04:53
avs__ left
04:55
revhippie left
05:03
linuxuser9000 joined
05:05
n0tjack joined
05:08
ELBeavers joined
05:09
molaf joined
05:10
n0tjack left
05:12
vendethiel joined
05:13
ELBeavers left
|
|||
Zoffix | Ahhh... I love being naughty: blogs.perl.org/users/zoffix_znet/20...guage.html | 05:18 | |
05:18
laz78 joined
|
|||
gfldex | you forgot __init__ | 05:19 | |
05:21
bartolin left,
bartolin joined
05:22
quester joined
05:27
vendethiel- joined
05:28
vendethiel left
05:32
molaf left
|
|||
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)» | ||
quester | m: say (1...64).hyper.map({sleep .1*rand;.is-prime ?? $_ !! ()}).flat; | ||
camelia | rakudo-moar 770d10: OUTPUT«()» | ||
quester | m: say (1...64).race.map({sleep .1*rand;.is-prime ?? $_ !! ()}).flat; | ||
camelia | rakudo-moar 770d10: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61)» | ||
quester | m: say (1...250).race.map({sleep .1*rand;.is-prime ?? $_ !! ()}).flat; | ||
05:37
vendethiel- left
|
|||
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; | ||
camelia | rakudo-moar 770d10: OUTPUT«()» | ||
05:37
yqt left
|
|||
quester | Hmm. Is it just me, or does it seem like hyper is acting strangely lately? | 05:38 | |
05:39
MadcapJake left
05:40
leedo left,
leedo joined
05:43
laz78 left,
MadcapJake joined
05:46
Cabanossi left
05:47
cpage_ joined
05:49
Cabanossi joined
05:55
skids left
05:57
laz78 joined
05:59
garu_ left,
mre left,
mre joined,
garu joined
06:00
jme` left,
pierre-vigier joined
06:03
pierre-vigier left
06:07
maslan joined
06:10
pierre-vigier joined
06:14
abaugher left
06:15
pierre-vigier left,
abaugher joined
06:19
pierre-vigier joined
06:22
crux left
06:24
crux joined,
pierre-vigier left,
pierre-vigier joined
06:28
pierre-vigier left
06:29
khw left,
pierre-vigier joined
06:40
samb1 left
06:45
pierre-vigier left
06:47
ambs left,
pierre-vigier joined
06:49
Calibellus left
06:52
samb1 joined
|
|||
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 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» | ||
gfldex | Zoffix: ^^^ | 06:53 | |
06:54
pierre-vigier left
06:56
pierre-vigier joined
06:58
pierre-vigier left,
ambs joined
07:02
avs__ joined
07:03
laz78 left
07:04
vendethiel joined,
pierre-vigier joined
07:05
pierre-vigier left,
avs_ left
07:06
yeahnoob left
07:09
domidumont joined,
_mg_ joined
07:11
pierre-vigier joined
07:12
dayangkun joined
07:13
domidumont left
07:14
pierre-vigier left,
domidumont joined
07:15
salva joined
07:21
raiph left
|
|||
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» | ||
gfldex | it might be sensible to introduce slippy versions of some operators | 07:22 | |
07:25
domidumont1 joined,
xpen left
07:26
sjoshi joined
07:27
linuxuser9000 left,
domidumont1 left,
domidumont left
07:32
domidumont joined,
Calibellus joined
07:36
dayangkun left,
avs_ joined,
yeahnoob joined
07:38
domidumont1 joined
07:40
avs__ left,
domidumont left
07:42
sno left
07:44
sjoshi left,
firstdayonthejob joined,
CIAvash joined
07:45
daxim left
|
|||
moritz | or | as a meta operator | 07:49 | |
07:49
nakiro joined
|
|||
El_Che | hi perl6 people | 07:51 | |
07:53
FROGGS joined
07:55
Calibellus left
|
|||
FROGGS | o/ | 07:55 | |
07:56
vendethiel left
07:57
bjz_ joined
07:58
bjz left
08:03
nakiro left
08:04
parisba__ is now known as DrParis
08:08
xpen joined,
Ven joined
08:09
RabidGravy joined,
nakiro joined
08:10
vendethiel joined,
abraxxa joined
08:12
darutoko joined
08:14
pierre-vigier joined,
dfcarpenterak left
08:17
kjs_ joined
08:18
Averna joined
08:20
n0tjack joined
08:21
FROGGS left
08:23
nadim joined
08:24
n0tjack left
08:25
ely-se joined,
sortiz left
08:30
abaugher left,
zakharyas joined,
nadim left
08:31
abaugher joined
08:33
vendethiel left
08:35
sno joined
08:36
vendethiel joined
|
|||
TimToady waves from Waikoloa | 08:37 | ||
RabidGravy | wherever that is | 08:38 | |
08:38
firstdayonthejob left
|
|||
ely-se ate an Hawaiian sandwich yesterday | 08:38 | ||
RabidGravy | sounds a long way from anywhere | ||
I worked for a company based in Hawaii for a while a few years ago | 08:39 | ||
08:43
sjoshi joined
08:49
cfloare left
08:50
cfloare joined
08:51
CurtisOvidPoe left
|
|||
masak | TimToady: oh haikoloa! | 08:53 | |
08:53
cgfbee left
08:55
cfloare left,
cgfbee joined,
sjoshi left,
cfloare joined
08:56
vendethiel- joined
|
|||
masak | good morning, #perl6 | 08:56 | |
abraxxa | hi! | 08:57 | |
08:57
vendethiel left
|
|||
RabidGravy | marnin! | 08:57 | |
08:58
cgfbee left,
quester left
09:00
cfloare left
09:04
cc9989 joined
|
|||
ely-se | where can I find exactly how multimethod candidates are selected? | 09:04 | |
masak | I think S12 has a complete algorithm | 09:05 | |
ely-se: if there's anything in particular you're wondering about...? | |||
ely-se | dankeschon | ||
masak: no, I just like knowing things | |||
09:06
cgfbee joined,
cgfbee left,
cfloare joined
09:07
rindolf joined
|
|||
masak | you're in the right channel ;) | 09:07 | |
(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? | ||
Ven | masak: dozens! | ||
masak | ely-se: there's a section in S12 called "Multisub Resolution" | 09:09 | |
09:09
luiz_lha joined
|
|||
masak | Ven: dozens, nay scores, nay tens of us! | 09:09 | |
09:10
luiz_lha is now known as Guest1419
|
|||
gfldex | m: say 345 div 12; | 09:10 | |
camelia | rakudo-moar 770d10: OUTPUT«28» | ||
09:10
esh left
09:11
esh joined,
daxim joined
|
|||
masak | m: say 345 divmod 12 | 09:11 | |
camelia | rakudo-moar 770d10: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4ZZF0BQgrRTwo terms in a rowat /tmp/4ZZF0BQgrR:1------> 3say 3457⏏5 divmod 12 expecting any of: infix infix stopper postfix statement end s…» | ||
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)» | ||
gfldex | m: say 345 div o mod 12 | ||
camelia | rakudo-moar 770d10: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0lRpGebjKPUndeclared routines: mod used at line 1 o used at line 1» | ||
gfldex | m: my &divmod = &infix:<mod> o &infix:<div>; | 09:13 | |
camelia | ( no output ) | ||
masak | gfldex: ya can't `o` operators | 09:14 | |
wrong grammatical category | |||
gfldex | doesn't make sense, but nice to know that I could do that | ||
09:14
kjs_ left,
secwang joined
09:15
cfloare left
09:17
cgfbee joined
|
|||
moritz | m: say (&[div] o &[mod)(345, 12) | 09:18 | |
camelia | rakudo-moar 770d10: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yKDkGiFlYyUnable to parse expression in infix noun; couldn't find final ']' at /tmp/yKDkGiFlYy:1------> 3say (&[div] o &[mod7⏏5)(345, 12)» | ||
moritz | m: say (&[div] o &[mod])(345, 12) | ||
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» | ||
moritz | and iirc infix:<o> only works for single-argument functions, or something | ||
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)» | ||
ely-se | This does not fail to parse, surprisingly. Is that by-design? | ||
gfldex | you would have to .assume one of them | ||
09:19
cgfbee left
|
|||
[Tux] | csv-ip5xs 17.953 | 09:20 | |
test 22.251 | |||
test-t 12.192 | |||
csv-parser 50.003 | |||
09:21
cfloare joined,
vendethiel- left
|
|||
masak | [Tux]: only one column of values today? | 09:22 | |
[Tux] | I shortened the report to have less questions and automatically update tux.nl/Talks/CSV6/speed4.html and tux.nl/Talks/CSV6/speed5.html | ||
masak | [Tux]++ | ||
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 | ||
speed5 is now automatically sorted | |||
09:24
kjs_ joined
09:25
secwang left
|
|||
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:26 | |
.indent is called 7891 times | 09:27 | ||
09:28
Guest1419 is now known as uiz_lha,
uiz_lha is now known as luiz_lha
|
|||
gfldex | m: for 1..7891 { my $s = "abc"; $s.=indent(0); }; say now - BEGIN now; | 09:28 | |
camelia | rakudo-moar 770d10: OUTPUT«0.3533741» | ||
gfldex | m: for 1..7891 { my $s = "abc"; $s.=indent(2); }; say now - BEGIN now; | ||
camelia | rakudo-moar 770d10: OUTPUT«3.92408711» | ||
gfldex | if you _really_ have to indent use .indent(0) :-> | 09:29 | |
moritz | uhm, yes, .ident is regex based | 09:30 | |
no wonder it's slow | |||
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:31
sammers left
09:33
sammers joined
|
|||
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» | ||
gfldex | m: for 1..7891 { my $s = "abc"; $s = ' ' x 2 ~ $s }; say now - BEGIN now; | ||
camelia | rakudo-moar 770d10: OUTPUT«0.02447584» | ||
RabidGravy | speedy | 09:38 | |
ely-se | BEGIN now seems silly. CHECK now seems more appropriate. | ||
moritz | well, to be fair you'd have to .lines().map({ ' ' x 2 ~ $_ }).join("\n") | ||
m: say (CHECK now) - (BEGIN now) | |||
camelia | rakudo-moar 770d10: OUTPUT«0.03176252» | ||
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 | |
I can slip in a renaming patch, unless there's an uproar of protest | |||
09:40
leont joined
|
|||
masak .oO( or a brouhaha ) | 09:40 | ||
gfldex | you could ack the ecosystem for outdent | ||
moritz was about to do that | |||
09:41
llfourn left
|
|||
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 | ||
RabidGravy | :) | ||
moritz | moritz@hack:~/p6/perl6-all-modules$ git grep -l --word outdent | ||
azawawi/farabi6/lib/Farabi6/files/assets/3rd-party/semantic-ui-v1.11.4/components/icon.min.css | |||
azawawi/farabi6/lib/Farabi6/files/assets/3rd-party/semantic-ui-v1.11.4/semantic.min.css | |||
so, only in .css files :-) | |||
masak | ely-se: Python seems keen on dropping letters. vide "elif" | ||
moritz | perl too :-) | ||
elsif | |||
09:42
cc9989 left
|
|||
masak goes ahead and spectests a rename | 09:42 | ||
moritz: indeed. | |||
by analogy, it'd made more sense if we called it "deident" :P | |||
moritz | ident? | 09:43 | |
deident is like, logging out? | |||
masak | "outdent" sounds a bit like punching someone's teeth out | 09:44 | |
El_Che | weird error msg: Cannot find method 'STORE' in method... | ||
ely-se | undent | 09:45 | |
El_Che | masak: :) | ||
09:45
kanishka joined
|
|||
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 | ||
masak .oO( my bastard coworker maldented my code! ) | 09:47 | ||
ely-se | I like "unindent" | ||
09:47
espadrine joined
|
|||
masak | that sounds like "to indent level 0" to me | 09:48 | |
moritz | want to meet other denters? let's get cross-denting! | ||
masak .oO( <coworker> I'm sorry, misindenting wasn't my intent! ) | 09:49 | ||
gfldex .oO( .negadent(2) ) | |||
ely-se | yummy, yeast | 09:51 | |
El_Che | any idea where "Can not find method "STORE"" can come from? | 09:52 | |
09:52
kjs_ left
|
|||
RabidGravy | a proxy, which Proxy depends on what you were doing | 09:52 | |
moritz | from... code? | ||
ely-se | El_Che: from somebody who is bad at English. | 09:53 | |
gfldex | m: my @a = "abc", "def"; say @a>>.Str>>.&infix:<~>(' ' x 2).join("\n"), | 09:54 | |
camelia | rakudo-moar 770d10: OUTPUT«abc def » | ||
gfldex | wrong way around | ||
09:54
Averna left
|
|||
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'" :( | ||
gfldex | m: sub indent(\r){ ' ' x 2 ~ r }; my @a = "abc", "def"; say @a>>.Str>>.&indent.join("\n"), | ||
camelia | rakudo-moar 770d10: OUTPUT« abc def» | ||
masak | (incidentally what it'd have been if operators were actually methods) | ||
09:56
sjoshi joined
|
|||
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» | ||
ely-se | Is there a variable containing a set of available encodings? | 09:57 | |
masak | for my baseline spectest, t/spec/S17-supply/syntax.t dies after test 54 | 09:58 | |
all the tests succeed up until that point | |||
when I run the test file directly with `perl6`, the whole file succeeds | |||
RabidGravy | that sucks | 09:59 | |
10:00
dakkar_ joined
|
|||
masak | well, I'm more curious why that happens | 10:00 | |
is there something particularly interesting going on after test 54? | |||
# multiple whenevers with channels | 10:01 | ||
gfldex | m: my @a = "abc", "def"; say @a>>.Str>>.&(' ' x 2 ~ *).join("\n"), | ||
camelia | rakudo-moar 770d10: OUTPUT« abc def» | ||
gfldex | :o | ||
El_Che | aha. Found my bug. Silly typo. $.var in method signature instead of $var. | ||
gfldex | $idiom++ | ||
moritz | masak: try executing it when your system load is high? | ||
masak | gfldex: wow. cute. | ||
moritz | I think I prefer map :-) | ||
masak | moritz: how do I artificially raise my system load? | ||
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 | ||
moritz | masak: oh | ||
masak | moritz: hm | 10:03 | |
moritz | masak: that runs perl t/harness --fudge --moar --kep-exit-code t/spec/S17-supply/syntax.t | ||
masak: so that's what you can try next, plus maybe adding a --verbose | |||
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 | ||
moritz: then I ran it again, and then it got *stuck* after 54 | |||
moritz: now it just sits there | |||
masak ^C | 10:04 | ||
ran it six more times to completion, then it got stuck again. | |||
I think this is cause for quaranteening that test | |||
gfldex | masak: sudo aptitude install stress; stress --help | 10:05 | |
masak | gfldex: ooh. neat. | ||
gfldex++ # guessing correctly what platform I'm on | |||
gfldex | nice thing about stress is that you can tell it to have RAM stress only | 10:07 | |
masak often has RAM stress :) | 10:08 | ||
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 | ||
IMO, that test file also belongs in quarantine | |||
10:11
lnrdo joined,
avs_ left
|
|||
dalek | kudo/nom: 775271d | (Carl Masak)++ | src/core/Str.pm: rename s/outdent/de-indent/ See bikeshedding discussion at irclog.perlgeek.de/perl6/2016-01-20#i_11912864 |
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:13
araujo left
|
|||
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? | ||
jnthn | .tell b2gills I'd hope so... | ||
yoleaux | jnthn: I'll pass your message to b2gills. | ||
moritz | jnthn: probably as an implementation detail of ident with a negative indent | 10:16 | |
10:16
Ven left
|
|||
moritz | in auld lang syne | 10:16 | |
jnthn | Oh, it's a lexical sub | ||
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
lnrdo left
|
|||
masak | aha, you know what I'd like to implement for Rakudo? -i | 10:18 | |
10:18
lnrdo joined,
avs_ joined
|
|||
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 | ||
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 | |||
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 | ||
for example, `perl --help` says, "-i[extension]", but I don't think I've ever been able *not* to give it an extension | |||
masak tries | |||
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 | ||
that was easy :) | |||
moritz: I think I'm going to try to hunt down the implementation of that in Perl 5 | 10:21 | ||
(it's probably in toke.c) :P | |||
just so that we don't implement it *worse* and then have to hang our heads in shame over something obvious | |||
moritz | I wonder if that'll be fun or "fun" :-) | ||
10:23
_mg_ left
|
|||
Woodi | "moving files" is traditional *nix/POSIX "atomic op" :) | 10:23 | |
10:23
avs__ joined
|
|||
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 | ||
moritz | (and /tmp/ being the traditional place for temp files can often be on its own file system) | ||
masak | Woodi: we're writing new file contents, and then moving the file | 10:25 | |
Woodi | moritz: right | ||
masak | moritz: yeah, it's for reasons exactly like that I want to check prior Perl 5 art | ||
(and maybe Python and Ruby if they do this too. do they? probably Ruby but not Python) | |||
10:25
avs_ left
|
|||
Woodi | masak: that's a idea: create file.new then move to file so system prevents symlinks attacks | 10:26 | |
masak | Woodi: what's a symlink attack? | 10:27 | |
masak .oO( we also want to prevent updog ) | |||
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... | ||
ah, yes: metacpan.org/pod/IO::InSitu | |||
I should look at that one, too | 10:29 | ||
moritz | masak: I'd trust p5p more than TheDamian with cross-platform, safe IO | ||
masak | 'sooth | 10:30 | |
10:30
Zoffix left
10:32
kjs_ joined
10:33
vendethiel joined
10:34
brrt joined,
ELBeavers joined
10:37
AlexDaniel joined
|
|||
brrt | ohai #perl6 | 10:37 | |
10:38
ELBeavers left
10:39
leont left
|
|||
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. | ||
o/' | |||
AlexDaniel | or deal with tempfiles yourself if you don't want to rely on 「sponge」 | ||
brrt | good morning DrForr | ||
AlexDaniel | and by not implemented in perl 6 I mean not implemented in rakudo… gah | 10:41 | |
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 | ||
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" :) | ||
masak | jnthn: but it is in S19, so... :) | 10:44 | |
probably not spectested, though | |||
AlexDaniel | anyway, just wanted to note that you can use 「sponge」 as workaround for now. Have to run now o/ | ||
jnthn | masak: That's design, not spec(test) :) | 10:45 | |
masak | AlexDaniel: that's good to know. thanks. :) | 10:46 | |
maybe `sponge` is another bit of prior art to look at | |||
10:46
andrewalker joined
|
|||
masak | yup. it is. | 10:48 | |
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
AlexDaniel left
|
|||
masak | from the man page | 10:49 | |
I knew there were things I hadn't thought of! :) | |||
10:49
FROGGS joined
|
|||
RabidGravy | masak++ | 10:49 | |
masak | and there's a git repository | 10:50 | |
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 | |
my method indent(){ my $index = 0; $index += 2 while self.subst-eq(' ', $index); $indentor = ' ' x $index+2; } | |||
that works for me and is 20% faster in my benchmark | |||
masak | far from a general solution though | 10:53 | |
10:53
vendethiel left
|
|||
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
sjoshi left
|
|||
masak | actually, this sounds like a good topic for a blog post, with benchmarks before and after | 10:54 | |
10:59
ely-se left
11:01
ChoHag left
11:03
RabidGravy left,
Ven joined
11:07
TEttinger left
11:09
airomega joined
11:10
ChoHag joined,
sjoshi joined
11:11
airomega left
|
|||
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:14 | |
11:18
breinbaas left
11:20
_mg_ joined
11:21
Zoffix joined,
Zoffix left,
Zoffix joined
11:23
sjoshi left,
jdrab joined
11:26
pierre-vigier left
11:28
Alina-malina joined,
vendethiel joined
11:29
bjz joined
11:31
bjz_ left
|
|||
Zoffix | Aristotle++ catching and fixing my awful mistake on blogs.perl.org/users/zoffix_znet/20...guage.html | 11:32 | |
11:33
Alina-malina left
|
|||
Zoffix | I'm so glad the fix is still so simple :) So my article is still valid :) | 11:33 | |
11:34
yqt joined
|
|||
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
yqt left
|
|||
Zoffix | or rather, that channel making a whole series of ridiculously ignorant Perl attack videos :) www.youtube.com/playlist?list=PLEK...yK-crDBycD | 11:39 | |
11:43
pierre-vigier joined,
avs_ joined
11:45
vytas` joined,
pierre-vigier left,
pierre-vigier joined
11:46
avs__ left
11:48
pmurias joined
11:49
xpen left,
vendethiel left
11:51
vendethiel joined
11:54
kaare_ joined
|
|||
pmurias | Zoffix: is the Perl 6 version with Z and comb more readable to someone who knows neither Perl 6 or Python? | 11:59 | |
masak | pmurias: also, relatedly, how much should a language cater to the group of people who doesn't know how to read it? | 12:06 | |
12:07
cc9989 joined
|
|||
pmurias | masak: I suspect it's mostly similiarity to whatever else is popular | 12:07 | |
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 | |
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. | |||
Zoffix never found "readability for someone who doesn't know the language" a viable argument. | |||
Is Chinese an easy language to understand for someone who doesn't speak Chinese? | 12:11 | ||
looks like "linenoise" to me, but I'm sure people who speak related languges will disagree | |||
Zoffix runs to catch the bus | |||
12:11
vendethiel left
|
|||
brrt wonders if there are significant related languages to chinese | 12:14 | ||
masak | brrt: Mandarin and Cantonese are related. both are "Chinese languages" | 12:15 | |
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"! | ||
(obviously using autocorrect or swype or something, eh?) | |||
brrt | masak: of course... i was simplistically thinking chinese was one language | 12:17 | |
timotimo | also ... "viola! result." is hilarious :D | ||
12:17
nowan_ left,
nowan joined
|
|||
masak | brrt: it's usually presented in that way (with Mandarin and Cantonese being "dialects") for some inscrutable reason | 12:19 | |
the reason probably being "a language is a dialect with an army and a navy" :) | |||
12:19
vendethiel joined
|
|||
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:21 | |
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
|
|||
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
|
|||
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:23 | |
brrt can second masaks comment on blood-boiling intertube contents | 12:24 | ||
masak | Don't Read the Comments™ | 12:25 | |
timotimo | that's indeed always good advice | ||
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
|
|||
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:25 | |
12:27
Actualeyes left
|
|||
ZoffixMobile | masak, re blood boiling: xkcd.com/386/ :) | 12:28 | |
masak | absolutely. | 12:29 | |
but the undertone even of that comic is that life is too short for that | |||
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:30 | |
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 | ||
brrt | in fact, i would probably find many things arguable about things $younger-self said | 12:32 | |
12:32
Skarsnik joined
|
|||
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 | ||
masak | hello, Skarsnik | ||
brrt | hi Skarsnik | ||
12:33
uruwi left
|
|||
tadzik | masak: hah, that's a nice way of saying "it... it was a phase mom :(" | 12:36 | |
I should write it down, may prove useful some day :P | |||
12:36
kjs_ left
|
|||
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
|
|||
tadzik | in retrospect, I did indeed | 12:37 | |
12:40
ZoffixMobile left,
pierre-vigier left,
bowtie left,
kid51 left
12:41
vendethiel left,
llfourn left
|
|||
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 | ||
lucs | s/ok/typical/ | ||
12:44
bowtie joined
|
|||
brrt | hmmm | 12:45 | |
if we couldn't say stupid stuff anymore, that would be quite restrictive indeed | |||
12:46
ely-se joined
|
|||
tadzik hums "forever young" | 12:47 | ||
12:47
Actualeyes joined
|
|||
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 | ||
tadzik | well, there're things universally stupid, and there's things to be judged by generations to come | ||
masak | pmurias: there's supposed to be one final update (an epilogue) later this year | 12:48 | |
ely-se | nooooo | 12:49 | |
12:50
xpen joined
|
|||
ely-se | from 1.0 onwards it can only get worse :( | 12:50 | |
pmurias | ely-se: you mean from hpmor 1.0 onwards? | 12:51 | |
ely-se | no | 12:52 | |
masak | nooooo | 12:53 | |
tadzik | www.nooooooooooooooo.com/ | 12:54 | |
masak | DO NOT WANT | ||
12:54
xpen left
|
|||
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)." | 12:55 | |
the documentation of DEPRECATED in particular | 13:02 | ||
dalek | c: 569a7da | (Zoffix Znet)++ | doc/Type/Routine.pod: Update the message displayed when DEPRECATED trait is used |
13:11 | |
stmuk | damm you Zoffix! you are faster! :) | 13:13 | |
13:16
kjs_ joined
|
|||
Skarsnik | brrt, did you find the cause of my weird sigseg? x) | 13:19 | |
brrt | no, not yet | ||
i'm not terribly familiar with the moarvm gc things | |||
13:27
arlenik left,
vendethiel joined
|
|||
dalek | rl6-roast-data: d45411f | coke++ | / (2 files): today (automated commit) |
13:30 | |
perl6-roast-data: 4388063 | coke++ | / (2 files): | |||
perl6-roast-data: today (automated commit) | |||
13:30
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
abraxxa | dalek: IPv6 baby! | 13:31 | |
dalek: botsnack! | |||
Skarsnik | x) | ||
13:32
g4 joined,
g4 left,
g4 joined,
kjs_ left
|
|||
tadzik | \o/ | 13:35 | |
13:37
avs_ left
|
|||
DrForr | o/ | 13:37 | |
13:38
llfourn joined
13:41
dfcarpenterak joined
13:43
llfourn left
|
|||
[Coke] | . | 13:45 | |
13:46
ZoffixWin_ joined,
Xor_ joined
|
|||
timotimo | × | 13:46 | |
13:46
ZoffixWin_ left,
ZoffixWin_ joined
13:47
pochi_ joined,
yurivish_ joined,
pmqs_ joined,
colomon_ joined,
noganex_ joined,
pdcawley_ joined
13:48
bapa1 joined,
jevin_ joined
13:49
rvchangue left,
ggoebel8 joined,
jameslen_ joined
13:50
peter3 joined
13:51
mathw joined,
Brock joined,
nine_ joined,
Mouq joined,
pjcj joined,
bhm_ joined,
moritz_ joined,
zacts_ joined,
garu_ joined,
jdv79_ joined,
El_Che_ joined,
BooK_ joined,
atta_ joined,
au_ joined,
KotH_ joined,
mls_ joined,
psch_ joined,
cfloare_ joined,
cxreg2 joined,
squain_ joined,
masak_ joined,
decent_ joined,
tinita_ joined,
Rotwang_ joined,
perlpilo1 joined
13:52
Ulti_ joined,
jferrero_ joined,
xenu_ joined,
cosimo_ joined,
shmibs_ joined
13:53
masak_ is now known as masak_grr,
[particle]1 joined
13:54
itz2 joined,
sjohnson` joined,
moznion joined
13:55
itz2 left,
emdashcomma_ joined,
rafl_ joined,
skaji_ joined,
yeltzooo9 joined
13:56
FROGGS left,
noganex left,
bpmedley left,
eternaleye left,
alpha123 left,
hippie1 left,
zacts left,
felher left,
tadzik left,
sjohnson left,
skaji left,
mtj_ left,
pjcj_ left,
[particle] left,
Celelibi left,
Amnez777 left,
vytas left,
xenu left,
Quom__ left,
atta left,
Kcop left,
au left,
sjohnsen left,
autarch left,
|Tux| left,
rafl left,
retupmoca left,
moznion_ left,
bhm left,
jferrero left,
ingy left,
Bucciarati left,
johan left,
yeltzooo left,
nine left,
jdv79 left,
tinita left,
Ulti left,
KotH left,
risou left,
RabidGravy left,
Zoffix left,
cfloare left,
garu left,
moritz left,
colomon left,
PerlJam left,
pdcawley left,
jevin left,
raydiak left,
awwaiid left,
shmibs left,
pmqs left,
yurivish left,
keix left,
mls left,
jameslenz left,
ggoebel7 left,
vike1 left,
stmuk left,
DrPete_ left,
pochi left,
emdashcomma left,
psch left,
perlpilot left,
Rotwang left,
bapa left,
lestrrat left,
masak left,
ab5tract left,
xdbr left,
ashleydev left,
El_Che left,
decent left,
mathw_ left,
squain left,
cxreg left,
charsbar__ left,
BooK left,
cosimo left
13:57
Celelibi_ joined,
M-eternaleye joined,
vike1 joined,
colomon_ is now known as colomon,
rafl_ is now known as rafl,
Bucciarati joined,
moritz_ is now known as moritz,
johan joined,
sjohnsen joined
13:58
Celelibi_ is now known as Celelibi,
Amnez777 joined,
masak_grr is now known as masak,
ab5tract joined
13:59
kaare_ left,
kaare_ joined,
bowtie left,
stmuk joined
14:00
Amnez777 left,
Amnez777 joined,
bowtie joined
|
|||
brrt | netsplits! | 14:01 | |
moritz | better the nets split than the nets spit :-) | ||
14:02
felher joined,
|Tux| joined,
xdbr joined,
RabidGravy joined,
tadzik joined,
DrPete_ joined,
FROGGS joined,
vytas joined
14:03
PerlJam joined,
mtj_ joined
|
|||
masak .oO( there was a rent in the reticulum! ) | 14:03 | ||
14:03
ingy joined
|
|||
masak | everyone still with us? good, good. | 14:03 | |
14:03
retupmoca joined,
raydiak joined
|
|||
moritz | those that aren't can't protest :-) | 14:04 | |
14:04
risou joined,
raiph joined
14:05
charsbar__ joined,
bowtie left
|
|||
gfldex | #perl6: Total of 342 nicks | 14:05 | |
14:05
hippie1 joined,
autarch joined
|
|||
gfldex | so many intarwebs friends! | 14:05 | |
14:06
bowtie joined
|
|||
Skarsnik | why do I always have the weirdest probably ungolfable bug? x) | 14:07 | |
gfldex | you like nativecall very much? | 14:08 | |
14:08
vytas` left,
tinita_ is now known as tinita
|
|||
Skarsnik | I don't use nativecall | 14:09 | |
14:09
vendethiel left
|
|||
hoelzro | morning #perl6 | 14:10 | |
[Coke] | hoelzro: hio | 14:11 | |
14:11
CIAvash left
|
|||
hoelzro | I wrote up a blog post about some experiences writing a Pod:: module for DOC INIT time, if anyone's curious: hoelz.ro/blog/getting-eod-pod-and-d...-play-nice | 14:11 | |
o/ [Coke] | |||
14:13
yeahnoob left
|
|||
Skarsnik | like how to explain: gist.github.com/Skarsnik/2ce915ed020db8fb91fb | 14:13 | |
14:16
bpmedley joined
14:17
_Vi left,
skids joined
|
|||
brrt | RT #127308 | 14:23 | |
how toget a link? | |||
Skarsnik | the bot for that is not here I thik x) | 14:24 | |
timotimo | oh, damn | ||
tadzik: synopsebot was yours, right? | |||
14:26
vendethiel joined
|
|||
[Coke] | it's 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 | ||
diakopter | m: say 2**74_207_281-1 | ||
camelia | rakudo-moar 775271: OUTPUT«(timeout)» | ||
gfldex | m: say (2**74_207_281-1).is-prime | 14:29 | |
moritz | rakudo-moar 775271: OUTPUT«(timeout)» | ||
diakopter | rotfl XD | ||
camelia | rakudo-moar 775271: OUTPUT«(timeout)» | ||
moritz | here, I'm faster than camelia | ||
diakopter: well, it only does a statistical test | 14:30 | ||
diakopter | say (2**74_207_281-1).is-mersenne | ||
brrt | what i would give to find all instances of 'old os x' and.. dispose of them | 14:32 | |
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
|
|||
tadzik | timotimo: originally, yes. It was later ported to perl6 by [Coke], I think | 14:33 | |
timotimo | ah | ||
brrt | if i must, i will elaborate :-) | 14:34 | |
tadzik | or colomon? | ||
timotimo | were you running it on some server or something? | ||
since it's not running any more, apparently, why not run it on p6c infrastructure | |||
tadzik | I was running the perl 5 version years ago | ||
I don't remember who was hosting the p6 version | |||
brrt | apple will happily sell you a laptop which is almost, but not quite, a capable developers machine | ||
[Coke] | tadzik: doesn't sound familiar. | ||
colomon has nothing to do with synopsebot | |||
timotimo | well, if you have no reason to use opengl ever ... | ||
[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 | ||
tadzik | huh | ||
14:35
nadim joined,
Fleurety left
|
|||
brrt | however, the apple ecosystem itself is not hackable per se | 14:35 | |
[Coke] | brrt: "install xcode; install xcode command line tools". done. | ||
brrt | yes | ||
and apple gives you a set of tools which are almost, but not quite, workable | |||
tadzik | silly people! Development is because things don't "just work" :) | ||
[Coke] | with that and macports, I've yet to be annoyed. | ||
brrt: what is driving this complaint? | |||
brrt | too much stress in general :-) | 14:36 | |
tadzik hugs brrt | |||
brrt | the RT ticket, in particular | ||
nemo | xcode has caused me so much pain over the years | ||
but it has gotten more usable lately | |||
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) | ||
isn't that on our servers? | |||
moritz | it is | 14:38 | |
14:38
Fleurety joined
|
|||
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. | ||
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' | ||
this is a bad state of affairs | |||
[Coke] | I think if we do as FROGGS suggested and give him some diagnostic output, he can probably fix it. | ||
nemo | brrt: OSX + macports is "just BSD" ? | 14:39 | |
[Coke] | brrt: no one really expects that. | ||
Certainly not jim. | |||
brrt | i kind of expect that | ||
nemo: try libuv | |||
14:39
kjs_ joined
|
|||
timotimo | the only mentions of synopsebot in hack's "locate" database are under /home/duff or /home/tadzik | 14:39 | |
who is jsduff on irc again? | |||
moritz | timotimo: duff is PerlJam | 14:40 | |
brrt | nemo: your reply is what i mean with 'almost, but not quite' :-) | ||
14:40
avenj left
|
|||
[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
FROGGS left
|
|||
timotimo | thanks | 14:40 | |
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. | ||
tadzik | ah, PerlJam | ||
nemo | brrt: but, yeah, take freeciv's "OSX support" page freeciv.wikia.com/wiki/Install-MacOSX | ||
tadzik | seems I was almost correct geographically at least :P | ||
nemo | you get to pick which of 3 complete unix-y package management env you get to install first before compiling on your own | ||
timotimo | moritz: irc.p6c.org; is that the host that we give to people for having irc sessions? | 14:42 | |
it seems strange that it doesn't ipv6 | |||
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. | ||
nemo | that seems a silly assumption | ||
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 | ||
timotimo | ah, ok. so no use looking if synopsebot was set up there | ||
brrt | nemo: welcome to the MoarVM configuration system | ||
moritz | timotimo: correct | ||
timotimo: the IP is bound to eth0 on hack | 14:45 | ||
14:45
n0tjack joined
|
|||
moritz | up /sbin/ifconfig eth0 inet6 add 2001:780:101:ff00::2:9/64 | 14:45 | |
# from /etc/netwwork/interfaces | |||
timotimo | ah, i should have looked there | 14:46 | |
14:46
TEttinger joined
|
|||
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:47
bowtie left
|
|||
moritz | timotimo: yes, new user | 14:48 | |
timotimo: and ideally write a systemd service file | |||
timotimo: so that it's automagically started on reboot | |||
14:48
vendethiel left
|
|||
timotimo | right | 14:48 | |
moritz | timotimo: see /etc/systemd/system/dalek-irc.service for example; it's no magic :-) | ||
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:48
Ven left
|
|||
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. | ||
Plus it handles a bunch of BSDs too. | 14:50 | ||
brrt nods in agreement | |||
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%. | ||
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
|
|||
jnthn | So I'm *all* for work to extend the range of platforms, but it won't happen without somebody volunteering. | 14:51 | |
14:52
kjs_ left,
bowtie joined
|
|||
ely-se | say "Install Gentoo"; exit 1; | 14:53 | |
14:53
_ramix_ joined
|
|||
[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 | |
(and that'll help for others with weird platforms) | |||
14:53
TEttinger left
|
|||
jnthn | Yes, being better at knowing when we don't know may well help. | 14:54 | |
14:54
kjs_ joined
|
|||
[Coke] | if he comes back and says "oh, now libuv is busted", he's on his own. :) | 14:55 | |
14:56
sufrostico joined,
dfcarpenterak left
14:57
xpen left
|
|||
mspo | what if you pass CC= ? | 14:58 | |
15:00
synopsebotimo joined
|
|||
timotimo | let's see if this works | 15:00 | |
15:01
prammer joined
|
|||
timotimo | 152641 [Coke] │ it's rt.perl.org/Ticket/Display.html?id=127308 - I added a chrome search backend for RT, | 15:01 | |
15:01
araujo joined,
araujo left,
araujo joined
|
|||
[Coke] | RT #127308 | 15:02 | |
synopsebotimo | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127308 | ||
timotimo | um ... | ||
[Coke] | RT #FOOLEDYOU | ||
timotimo | yeah :) | ||
i didn't see your line before the synopsebotimo line and i thought it just took almost a minute to react | |||
with one simple patch to IRC::Net::Bot it seems to work again | 15:03 | ||
15:03
avenj joined
|
|||
tadzik | \o/ | 15:03 | |
timotimo | it probably asplodes if b0rked utf8 gets sent to a channel, though | 15:04 | |
because it uses $connection.Supply.lines | 15:05 | ||
maybe we should have a way to pass an encoding there? | |||
15:05
g4 left
|
|||
moritz | +1 | 15:05 | |
15:05
Ven joined
|
|||
timotimo | jnthn: does that sound insane? | 15:06 | |
15:06
prammer left
|
|||
timotimo | $connection.Supply(:encoding<utf8-c8>) | 15:06 | |
15:06
kubrat joined
|
|||
jnthn | timotimo: Should support that, yeah. | 15:06 | |
timotimo: But probably going to implement it a bit differently than it's done today | 15:07 | ||
timotimo | doc.perl6.org/routine/Supply - um, what is this about? | ||
m: say &zip | |||
camelia | rakudo-moar 775271: OUTPUT«sub infix:<Z> (| is raw) { #`(Sub+{<anon|68739552>}+{Precedence}|43410160) ... }» | ||
timotimo | this is about a method on Supply, but why is it under routine/? | 15:08 | |
jnthn | That looks...odd | ||
15:08
TEttinger joined,
lestrrat joined
|
|||
moritz | timotimo: all methods or subs show up under /routine/ | 15:08 | |
timotimo | oh | 15:09 | |
well, fair enough | |||
15:09
pmurias left
|
|||
jnthn | Yes, but sould doc.perl6.org/routine/Supply not show methods called Supply? | 15:09 | |
moritz | it should | ||
timotimo | whoa | ||
15:09
pmurias joined
|
|||
moritz | like 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 | ||
:+1: | |||
15:10
KotH_ is now known as KotH
|
|||
moritz | seems somebody read the open letter to github, and decided to implement the simplest thing quickly :-) | 15:10 | |
15:10
_Vi joined
|
|||
timotimo | i don't remember seeing that open letter you're refering to | 15:11 | |
moritz | timotimo: github.com/dear-github/dear-github | ||
15:11
ely-se left
|
|||
timotimo | github.com/perl6/doc/issues/357 - does my complaint seem sensible? | 15:13 | |
moritz | yes | 15:14 | |
a different color for the selection would help | |||
[Coke] | timotimo: yup. I got no feedback when I added categories. | ||
moritz | like yellow or blue or so | ||
masak | "low contrast" is basically the issue | ||
[Coke] | so you got whatever I had in my testbed. :) | ||
moritz | or even a light red | ||
[Coke] | should be pretty easy to change with a style. | 15:15 | |
timotimo | [Coke]: the categories are super helpful, imo | ||
15:16
_nadim joined,
nemo left
|
|||
timotimo | does someone have an irc client that can send raw mojibake to the network? | 15:16 | |
15:16
kjs_ left
|
|||
[Coke] | timotimo: danke! | 15:16 | |
timotimo | no, danke you! | 15:17 | |
[Coke] | ok, fine, bitte. | ||
timotimo | :3 | ||
[Coke] | YOU WIN OK IS THAT WHAT YOU WANTED? | ||
:) | |||
timotimo | :D | ||
15:17
_mg_ left,
breinbaas joined
|
|||
sjn has had some issues with doc.perl6.org too, lately :-\ | 15:18 | ||
15:18
nadim left
|
|||
sjn | e.g. searching for "..." and then going to the resulting page gives a 404 not found :-\ | 15:18 | |
(resulting URL is <doc.perl6.org/routine/...> | |||
15:18
nadim joined
|
|||
timotimo | aye, we have trouble with "funny" urls :( | 15:19 | |
mspo | add .html | ||
15:19
kjs_ joined
|
|||
sjn would love that the resulting URL already had .html added :3 | 15:19 | ||
moritz | please don't | ||
what's the use? | |||
the problem is that . and / have special meanings in paths | 15:20 | ||
mspo | it makes the page load? | ||
doc.perl6.org/routine/....html | |||
15:20
_nadim left
|
|||
timotimo | with an ACTION, the bot already gets a weird character | 15:20 | |
mspo | I mean, assuming the page actually loading is important | ||
timotimo tests | |||
moritz | mspo: that helps in that particular case, but we need a genral fix | ||
sjn | moritz: in that case, there's an issue about escaping here | ||
moritz | sjn: could very well be | 15:21 | |
timotimo | m: $*OUT.write(buf[int8].new(^66)) | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dgOh8Sb1rYUndeclared routine: buf used at line 1» | ||
timotimo | m: $*OUT.write(Buf[int8].new(^66)) | ||
camelia | rakudo-moar 775271: OUTPUT«␀  | ||
timotimo | okay. is synopsebot okay? | ||
seems to still run fine | |||
moritz | RT#1234 | ||
timotimo | RT #127308 | ||
synopsebotimo | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127308 | ||
mspo | moritz: I think most of them would work as a query param instead of a path url | ||
timotimo | not bad indeed. | 15:22 | |
mspo | moritz: although & and ? and # would still be broken | ||
moritz | mspo: right, but that needs a different backend | ||
mspo: it's all static pages right now | |||
15:22
gtodd joined
|
|||
mspo | the static page generator can have a list of "broken" things to render in a different way | 15:22 | |
[Coke] | there is a suggestion to have files like "." be renamed to something like "period" | 15:23 | |
moritz | mspo: patches welcome | ||
[Coke]: also patches welcome :-) | |||
mspo | it's in the docs repo? | ||
moritz | mspo: yes | ||
iirc STD.pm6 has a list of names for characters | 15:24 | ||
[Coke] | you can build the site, but it's incredibly slow, fyi. | ||
timotimo | if we translate . to period, what happens to an actual "method period"? :) | ||
15:24
prammer joined
|
|||
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 | ||
mspo | why is it slow? | ||
moritz | there's still potential conflicts with operators | ||
mspo | or is that redundant? :) | ||
timotimo | m: sub infix:<@>($a, $b) { say "haha!" }; 1 @ 2 | 15:26 | |
camelia | rakudo-moar 775271: OUTPUT«haha!» | ||
moritz | the "proper" solution is to have some dynamic backend | ||
mspo | what powers the search? | ||
moritz | timotimo: as long as it's not infix:<@dot> it's all good | ||
mspo: client-side JS | |||
15:27
bapa1 is now known as bapa
|
|||
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
brrt left
|
|||
moritz | sjn: but it won't work for $/ for example :-) | 15:27 | |
or for // | |||
15:28
uruwi left
|
|||
mspo | the browsers might not all do the same thing when requesting things like // | 15:29 | |
15:31
prammer left
|
|||
sjn | hm | 15:31 | |
15:31
mls_ is now known as mls
|
|||
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" | ||
or low, depending on your view point | 15:32 | ||
mspo | sjn: it's probably still sending url-encoding but showing you // | ||
sjn | if we use another encoding character than %, we just move the problem | ||
mspo | chrome does that, anyway | ||
timotimo | it'll probably reach the server without the server being able to tell a difference | ||
mspo | you can't type XSS into the bar anymore; it's annoying | ||
moritz | huh? does it encode < ? | ||
sjn | we could just generate URL with our custom encoding (e.g. @40 instead of %40) | 15:33 | |
15:33
Zero_Dogg joined
|
|||
mspo | moritz: yes | 15:33 | |
I think firefox started doing the same thing recently | |||
sjn | as long as it's internally correct, and all characters can be represented (including the escape character), it should work fine | ||
@ is perhaps a bad URL escape character... | 15:34 | ||
15:34
uruwi joined
|
|||
sjn | ¤? ‰? -? | 15:34 | |
perigrin worked on a project that used @@ delimited text. | |||
talk about hard to read data files. | 15:35 | ||
mspo | mojo uses @@ I think in __DATA__ | ||
timotimo | we should use `, as that's "the one" character perl6 doesn't use anywhere internally | ||
(not seriously) | |||
sjn | hehe | ||
let's escape with \0 :) | 15:36 | ||
that's make things interesting | |||
timotimo | "how to find b0rked software" | ||
DrForr | perigrin: Try : and * for your delimiters :) | ||
perigrin | if only uniocde were better supported on filesystems ... 💩 delimited filenames so people could finally say "where'd it install that crap?" | ||
timotimo | reminds me of when fedora named their release "Schrödinger's Cat" | ||
sjn | that'll* | ||
15:38
prammer joined,
cdg joined
|
|||
moritz | timotimo: did they? including the single quote? | 15:38 | |
"what could possibly go wrong?" | |||
timotimo | i'm not sure about the single quote actually | 15:39 | |
jast | well there are lots of benefits to typographical apostrophes ;) | ||
15:40
marmay left
|
|||
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 ‘ ? | ||
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. | ||
timotimo | perigrin: nah, not 50-50. | ||
jast | ’ from what I can tell with this font | ||
timotimo | .u ‘’ | ||
sjn | having a file for the minus operator would then be /-2D.html | ||
yoleaux | U+2018 LEFT SINGLE QUOTATION MARK [Pi] (‘) | ||
U+2019 RIGHT SINGLE QUOTATION MARK [Pf] (’) | |||
moritz | 50+1i % | ||
timotimo | jast: seems like both are wrong? | ||
sjn | . would give -2E.html | 15:41 | |
jast | right single quotation mark is visually identical to apostrophe | ||
sjn | // would give -2F-2F.html | ||
jast | "This is the preferred character to use for apostrophe according to the Unicode standard. " | ||
unicode.org/Public/UNIDATA/NamesList.txt search for 2019 | 15:42 | ||
timotimo | ugh. | ||
sjn | and we'd only have to encode funny characters like / .. and - :) | ||
jast | though there's also | ||
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) | ||
jast | .u ʼ | 15:43 | |
yoleaux | U+02BC MODIFIER LETTER APOSTROPHE [Lm] (ʼ) | ||
timotimo | they put a paired quotation mark thing in, but then decided to suggest using that for apostrophe ?!? | ||
15:43
FROGGS joined
|
|||
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 | ||
hahainternet | hey guys/gals, so i've been chatting with a friend about object orientation | ||
masak | ok | ||
hahainternet | and one thing he said stuck out at me, that when you have $obj.method, your methods are tied to that object explicitly | ||
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
abraxxa left
|
|||
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:44 | |
timotimo | you can export methods that turn into subs "on the outside" of the class | 15:45 | |
Skarsnik | method are special sub I think | ||
hahainternet | timotimo: can you give me an example or somewhere to read please? | ||
sjn | tools.ietf.org/html/rfc3986#section-2 is the relevant RFC to look at for reserved characters in URIs | ||
timotimo | m: class Frob { method nozzle is export { say self } }; Frob.new.nozzle; nozzle(new Frob); nozzle(); | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VOOmccpl0rUnsupported use of C++ constructor syntax; in Perl 6 please use method call syntaxat /tmp/VOOmccpl0r:1------> 3lf } }; Frob.new.nozzle; nozzle(new Frob7⏏5); nozzle();» | ||
timotimo | m: class Frob { method nozzle is export { say self } }; Frob.new.nozzle; nozzle(Frob.new); nozzle(); | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/94hrJgU8fIUndeclared routine: nozzle used at line 1» | ||
timotimo | hum. | ||
FROGGS | m: class Frob { method nozzle is export { say self } }; import Frob; Frob.new.nozzle; nozzle(new Frob); nozzle(); | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/X5aviyNopoUnsupported use of C++ constructor syntax; in Perl 6 please use method call syntaxat /tmp/X5aviyNopo:1------> 3t Frob; Frob.new.nozzle; nozzle(new Frob7⏏5); nozzle();» | ||
15:45
nadim left
|
|||
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.newFrob.newToo 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» | ||
timotimo | ah, needs the import, of course | ||
the error is to be expected ^ | |||
jnthn | And need to pass something for the invocant | ||
FROGGS | aye | ||
jnthn | Which is really just an argument | ||
Skarsnik | method have extra parameters yes x) | ||
FROGGS | m: class Frob { method nozzle is export { say self } }; import Frob; Frob.new.nozzle; nozzle(Frob.new); nozzle("something"); | ||
camelia | rakudo-moar 775271: OUTPUT«Frob.newFrob.newType 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» | ||
jnthn | Perl 6 believes that pretty deeply | ||
FROGGS | :o) | ||
15:46
andreoss joined
|
|||
jnthn | m: class C { method m($a) { } }; C.m | 15:46 | |
hahainternet | FROGGS: that's what worries me a little bit | ||
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» | ||
FROGGS | jnthn: something doesnt work :o) | ||
jnthn | Note the "expected 2, got 1" | ||
hahainternet | could that be made more generic | ||
andreoss | m: say -v | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_L6I3JGBCwUndeclared routine: v used at line 1» | ||
hahainternet | or is it tied implicitly to Frob? | ||
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"); | ||
camelia | rakudo-moar 775271: OUTPUT«Frob.newFrob.newsomething» | ||
FROGGS | hahainternet: ^^ | ||
andreoss | >Bytecode validation error at offset 166, instruction 25: | ||
jnthn | hahainternet: You can...what FROGGS showed UP | ||
oops | |||
s/UP/:)/ | |||
andreoss | what does this mean? | ||
hahainternet | aah very nice, so it's the method signature | ||
that is excellent | |||
jnthn | andreoss: Potentially corrupted bytecode, in practice usually version skew between MoarVM and your NQP/Rakudo. | ||
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 | |
15:48
abraxxa joined
|
|||
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:48 | |
BBL | 15:49 | ||
andreoss | paste.debian.net/366799/ | 15:50 | |
perigrin | /w 28 | ||
FROGGS | andreoss: what's moar --version ? | 15:51 | |
andreoss | > This is MoarVM version 2015.12 built with JIT support | ||
FROGGS | hmmmm, weird | ||
bbiab | |||
15:51
FROGGS left
15:52
jme` joined
|
|||
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" | ||
andreoss | ok, will try to rebuid | 15:55 | |
masak | hahainternet: still there_ | 15:56 | |
hahainternet: still there? | |||
15:56
Ven left
|
|||
Ulti_ | andreoss: get undeclared routine here on OSX for what it's worth | 15:57 | |
15:57
Ulti_ is now known as Ulti
|
|||
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() | ||
camelia | rakudo-moar 775271: OUTPUT«Albert» | ||
masak | hahainternet: you can have methods unconnected with a class, as above. | ||
15:57
sftf joined
|
|||
hahainternet | masak: indeed, i half expected someone in here to say "oh that's a weird requirement, i'm not sure" | 15:58 | |
but instead, instant perfect answer | |||
that is coherent and kinda beautiful | |||
damn you perl 6! :D | |||
15:58
andreoss left
|
|||
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 | |
and you can't do that if you're outside a class | |||
hahainternet | masak: that's fine, this was a discussion about the downsides of methods vs plain functions | ||
15:59
ELBeavers joined
|
|||
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 | ||
hahainternet | wheras here as usual, perl6 has the best of both worlds | ||
masak | hahainternet: and the invocant `self` is "actually" passed as a hidden first argument | ||
hahainternet | masak: yeah that's pretty normal elsewhere too, method(obj, args) ~~ obj.method(args) | ||
RabidGravy | I love this two bugs for one deal I just got | ||
Skarsnik | hm, why method have 2 arg at compile time btw? | ||
hahainternet | but that's a smart model, because it allows complex behaviour like this, which is very nice | ||
masak | hahainternet: in your friend's defense, I've seen a lot of OOD where your friend is right in all ways that matter | ||
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 | ||
moritz | lv | ||
sorry, wrong window | |||
hahainternet | and his issue is more with languages which make assumptions in this regard i believe, so Python lol | ||
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. | ||
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: nopaste.me/view/c40aed69 | ||
16:01
_ramix_ left
|
|||
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?" | ||
hahainternet | and what a shock, here too the best of both worlds remain | ||
masak | CLOS fixes that one too | ||
hahainternet | hell it took me no more than a few seconds to make sub whatever is Atomic {...} work | ||
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 | ||
moritz | abaugher: so you need to read everything from $err first | ||
abaugher | moritz, ah, ok, thanks | ||
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) {}}; | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Qkyw6pEt8VUnable 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:03
ELBeavers left
|
|||
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) {}}; | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4dgtk9jnelUnable 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…» | ||
Skarsnik | hm | ||
jnthn | Skarsnik: You need the signature before the is hello | 16:05 | |
Skarsnik: At the moment it's parsing the (Str $s) as an argument to the trait, which is then malformed | |||
Skarsnik | m: trait_mod:<is>(Routine $p, :$hello!) { say $p.signature.params.elems}; class A { method foo (Str $s) is hello {}}; | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/l0TwlSAUt3Unable 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
ruoso left,
ta0 joined
16:06
ruoso joined
|
|||
hahainternet | are you missing sub | 16:06 | |
moritz | or better "multi" | ||
Skarsnik | m: multi trait_mod:<is>(Routine $p, :$hello!) { say $p.signature.params.elems}; class A { method foo (Str $s) is hello {}}; | ||
camelia | rakudo-moar 775271: OUTPUT«3» | ||
Skarsnik | why multi? | ||
and why 3 params x) | |||
hahainternet | the method is just 'is' | 16:07 | |
PerlJam | Skarsnik: *%_ | ||
moritz | Skarsnik: because there are already existing trait_mod:<is> candidates, and you're overriding them | ||
hahainternet | multi is required to select which implementation based on 'hello' i think? | ||
kk sweet, i got a question rightish! | |||
Skarsnik | *%_? | ||
PerlJam | Skarsnik: ignore me. I'm not fully awake :) | ||
16:07
domidumont1 left
|
|||
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» | ||
PerlJam | Well ... I'm fully awake ... except for my brain | ||
jnthn | m: class C { method m($x) { } }; say C.^lookup('m').signature | ||
camelia | rakudo-moar 775271: OUTPUT«(C $: $x, *%_)» | ||
Skarsnik | why only on method? | ||
jnthn | That's the 3. The invocant, the $x, and the thing that swallows up unknown named args for interface consistency. | ||
Because subs don't have invocants and don't participate in inheritance so have no need to solve the interface consistency problem. | |||
Skarsnik | it bothered me when I wrote the sanity type check routine in NC x) | 16:09 | |
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:10
mohae left
|
|||
abaugher | moritz, that didn't do it either. Thanks anyway; time for me to dig into the source! | 16:11 | |
jnthn | b2gills: Indeed. Interesting. | 16:12 | |
16:15
xinming joined
16:16
_mg_ joined
16:17
uruwi left,
uruwi joined
16:18
Xor_ left,
xinming_ left
16:19
gtodd left
16:21
ta0 left
16:22
mohae joined
16:23
uruwi left
16:28
musiKk joined,
khw joined
|
|||
tony-o | ! | 16:31 | |
16:31
peter3 is now known as alpha123,
kjs_ left
|
|||
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:33
maslan left
16:34
rindolf left
16:36
greem joined,
xenu_ is now known as xenu
16:37
average joined
|
|||
average | blogs.perl.org/users/zoffix_znet/20...guage.html | 16:37 | |
this was funny.. | |||
16:37
zacts_ left,
kjs_ joined,
dfcarpenterak joined
16:38
kjs_ left
|
|||
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:42 | |
average | masak: it is very silly, yes | 16:43 | |
alpha123 | masak: well the post is a bit tongue-in-cheek | ||
average | Sayre's law all over the place en.wikipedia.org/wiki/Sayre%27s_law | ||
"In any dispute the intensity of feeling is inversely proportional to the value of the issues at stake." | |||
alpha123 | lol | 16:44 | |
that's a good one | |||
16:44
rindolf joined
|
|||
average | so the Perl vs. Python debate is intense because it matters very little | 16:44 | |
masak | indeed | 16:45 | |
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 | |||
in fact, in many situations, Perl and Python are *ridiculously* similar | 16:46 | ||
alpha123 | i would say the idiomatic way of doing things is rather different in each though | 16:47 | |
average | I like PLEAC a lot pleac.sourceforge.net/ | ||
masak | alpha123: sometimes, I guess | ||
average | I would like to see Perl6 in PLEAC | ||
alpha123 | average: hey thanks, that's a good resource for language design | 16:48 | |
average: are you familiar with rosettacode.org ? | |||
average | yes | ||
masak | agreed, it would be nice to be on PLEAC | 16:49 | |
[Coke] | j | 16:53 | |
`~. | |||
16:54
greem left
|
|||
RabidGravy | there, four of the six RabbitMQ tutorial examples work with Net::AMQP | 16:54 | |
jnthn | RabidGravy++ | 16:55 | |
16:56
vendethiel joined
16:57
nakiro left
16:59
ashleydev joined,
average left
|
|||
Skarsnik | what is RabbitMQ? | 16:59 | |
and nice job x) | |||
17:01
abraxxa left
|
|||
alpha123 | so is there any way to set a value in a list and return a modified list instead of mutating it | 17:01 | |
like haskell lenses kind of | 17:03 | ||
jnthn would first thing of doing it with slicing | |||
*think | |||
@a[^3], new-value, @a[4..*] | |||
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,
nemo joined
|
|||
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,
nemo is now known as Guest3204
|
|||
RabidGravy | Skarsnik, it's an AMQP messaging broker made in erlang | 17:05 | |
17:06
lichtkind joined
|
|||
perigrin | the API for the Perl6 RabbitMQ APIs made me grumpy compared to the python examples in teh RabbitMQ tutorials / docs. | 17:06 | |
sorry Perl5 | |||
lichtkind | what the best way o get a deep copy of a data sructure? | ||
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
|
|||
jnthn | Yes, clone is only shallow. What is the data structure? If it's some class of your own you can override clone. | 17:08 | |
17:09
zakharyas left
17:10
kjs_ joined
|
|||
lichtkind | array of array | 17:13 | |
nothing special | |||
but if its an object attribut and i clone obj then i get full? | |||
17:14
uruwi joined
|
|||
jnthn | Not unless you override clone to make that happen, no | 17:14 | |
lichtkind | thanks | ||
jnthn | Hm, I'm surprised nothing on modules.perl6.org that does deep clone yet | ||
17:15
ZoffixWin_ left
|
|||
lichtkind | like said it the first time i seriously use perl 6 | 17:16 | |
17:16
perl6newbee joined
|
|||
lichtkind | but out libs grows nicely | 17:17 | |
masak | lichtkind: if you know the structure beforehand, you can just call clone on all the parts. | 17:19 | |
lichtkind: otherwise, write your own deep-clone function | |||
lichtkind | i currently do so | 17:20 | |
masak i think you will enjoy Mathmatrix, we already have choleki and the 10 most important properties 5 norms etc | |||
growing fast | 17:21 | ||
17:21
musiKk left,
ely-se joined
|
|||
lichtkind | curently banging my head against wall how to make a octave like pretty print for matrices in perl6 | 17:21 | |
currently working title for this method is table | 17:22 | ||
but currently one line will do since we have only AoA | 17:23 | ||
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:25 | |
17:31
SCHAAP137 joined,
uruwi left
|
|||
perigrin | RabidGravy: interesting. | 17:32 | |
17:33
cc9989 left,
Guest3204 is now known as nemo,
AlexDaniel joined
17:34
virtualsue joined
|
|||
dalek | rl6-most-wanted: 74c6805 | (Herbert Breunung)++ | most-wanted/modules.md: Update modules.md |
17:35 | |
lichtkind | i added deep clone to github.com/perl6/perl6-most-wanted...modules.md | ||
ab6tract | o/ RabidGravy :) | 17:37 | |
was going to point out my bug report, but you've already added a label :D | 17:38 | ||
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:41 | |
ab6tract | RabidGravy: my use case is pretty simple | 17:42 | |
i'd like to write a script which monitors a few directories in which audio files will be generated by my audio software | |||
then spins off worker threads to create FLAC backup copies and store them in a centralized location | 17:43 | ||
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
|
|||
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:44 | |
but the watch-and-convert script seems like a nice blog post waiting to happen | 17:45 | ||
.seen bluebear94 | 17:46 | ||
yoleaux | I haven't seen bluebear94 around. | ||
17:47
maslan joined,
ELBeavers joined
17:48
ely-se left
|
|||
RabidGravy | strangely I was going to make a similar example for Tinky | 17:48 | |
[Coke] | Tinky Winky? | 17:49 | |
17:50
dakkar_ left
|
|||
jnthn | haha...is that a play on POE? :) | 17:50 | |
RabidGravy | github.com/jonathanstowe/Tinky | ||
it is actually named after the tellytubbie :) | 17:51 | ||
17:51
ELBeavers left
|
|||
[Coke] | HEE! | 17:52 | |
ab6tract | RabidGravy: we should coordinate the posts | 17:54 | |
yours could be a "an even easier way" | 17:55 | ||
i might forego Audio::Sndfile for the time being as well and try out Proc::Async | 17:58 | ||
17:58
Actualeyes left
|
|||
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 | 17:59 | |
18:00
FROGGS joined
|
|||
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:01 | |
18:02
kjs_ left
18:03
domidumont joined
18:07
pmurias left,
sftf left
18:09
kjs_ joined
|
|||
RabidGravy | well my long term intention is to be able to make a radio station application that can replace Airtime | 18:10 | |
the Audio::* stuff is for the media management and playout parts | 18:12 | ||
18:12
bowtie left,
leont joined
18:13
bowtie joined,
noganex joined
18:14
_mg_ left
18:15
Rotwang joined,
smash_ joined,
zengargo1le joined,
johan_ joined
18:16
domm__ joined,
flussenc1 joined,
b2gills1 joined
18:17
ruoso_ joined,
mkz_ joined,
bowtie left,
Shozan joined,
petercom1and joined,
ChoHag_ joined,
tony-o_ joined
18:18
bjz_ joined,
xiaomiao joined
|
|||
RabidGravy | perigrin / anyone else who might be interested github.com/jonathanstowe/Perl6-RMQ-Examples is the first four examples | 18:19 | |
18:19
bowtie joined
18:20
timo joined,
timo is now known as Guest72620,
sm0x_ joined,
boegel|quassel joined
18:22
ruoso left,
synopsebotimo left,
tadzik left,
DrPete_ left,
sjohnsen left,
johan left,
Rotwang_ left,
noganex_ left,
bjz left,
ChoHag left,
luiz_lha left,
AW3i left,
zengargoyle left,
adhoc_ left,
flussence left,
domm_ left,
sm0x left,
leat left,
burnersk left,
mkz left,
petercommand left,
SHODAN left,
woodruffw left,
boegel left,
tony-o left,
haircode left,
smash left,
timotimo left,
Grauwolf left,
bonsaikitten left,
b2gills left,
anshin left,
yossarian joined,
sjohnsen joined,
luiz_lha joined
18:23
luiz_lha is now known as Guest11472
18:24
bowtie left,
adhoc_ joined
18:25
haircode joined,
burnersk joined
18:27
bowtie joined,
au_ is now known as au
18:28
leat joined,
AW3i joined,
tadzik joined,
b2gills1 is now known as b2gills,
anshin joined,
flussenc1 is now known as flussence,
Grauwolf joined,
_mg_ joined
18:31
DrPete_ joined
18:32
lokien_ joined
18:35
prammer left,
DrPete_ left,
burnersk left,
haircode left
18:37
DrPete_ joined,
burnersk joined,
haircode joined
18:38
prammer joined
|
|||
lichtkind | yay | 18:45 | |
18:47
_Vi left
18:48
DrPete_ left,
burnersk left,
haircode left,
DrPete_ joined,
burnersk joined,
haircode joined
18:50
spider-mario joined
18:52
prammer left
|
|||
RabidGravy | boom! | 18:53 | |
tony-o_ | pow! | 18:54 | |
lichtkind | :) | ||
masak | zowie! | 18:56 | |
18:56
mls left,
mls joined
18:57
M-eternaleye left,
M-eternaleye joined,
raiph left,
raiph joined
18:58
perl6newbee left,
ab6tract left,
ab6tract joined,
firstdayonthejob joined
18:59
DrPete_ left,
burnersk left,
haircode left,
lokien_ left,
lokien_ joined,
laz78 joined
|
|||
mspo | m: say "hello" | 19:00 | |
camelia | rakudo-moar 775271: OUTPUT«hello» | ||
19:01
sjohnson` is now known as sjohnson
19:02
lnrdo left
|
|||
sjn | r: say "oh noes" | 19:06 | |
camelia | rakudo-jvm 6c0f93, rakudo-moar 775271: OUTPUT«oh noes» | ||
19:09
leont left
19:10
cdg left
|
|||
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» | ||
ab6tract | m: say "net".chars.splice(*) | ||
camelia | rakudo-moar 775271: OUTPUT«Method 'splice' not found for invocant of class 'Int' in block <unit> at /tmp/uqXWO5Npx5 line 1» | ||
ab6tract | ah well :) | ||
m: say "net".comb.split('e') # there we go | 19:13 | ||
camelia | rakudo-moar 775271: OUTPUT«(n t)» | ||
19:20
prammer joined
19:21
leont joined
19:25
uruwi joined
|
|||
dalek | rl6-most-wanted: 89cfc7a | pmqs++ | most-wanted/modules.md: Added Archive-SimpleZip |
19:27 | |
rl6-most-wanted: 0d5daf9 | (Zoffix Znet)++ | most-wanted/modules.md: Merge pull request #13 from pmqs/patch-2 Added Archive-SimpleZip WIP |
|||
mspo | ab6tract: chars returns the number of elements | 19:28 | |
19:28
marmay_ joined
19:30
jdv79_ is now known as jdv79
19:31
alber joined
|
|||
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:32 | |
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:33 | |
[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 :-) | ||
[Coke] | We'll find out in the next year or so if that holds up. | ||
hahainternet | [Coke]: i have heard this said, but my knowledge is not exensive enough to know anything about it really | ||
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 | ||
19:35
n0tjack left
|
|||
[Coke] | no one told you? Perl 6 is also mandatory. :) | 19:35 | |
19:35
ELBeavers joined
19:36
Guest72620 is now known as timotimo
|
|||
TimToady goes out to buy grandkids beach sandals... | 19:36 | ||
timotimo | RT #12345 | ||
19:37
n0tjack joined
|
|||
Skarsnik | :' | 19:37 | |
timotimo | is synopsebot on the other side of a split or something? | ||
19:38
boegel|quassel left,
boegel joined
19:39
uruwi left,
uruwi joined,
prammer left
|
|||
mspo | once moar doesn't take 90MB to run hello world, you'll be onto something | 19:39 | |
19:39
uruwi left
19:40
uruwi joined,
ELBeavers left
|
|||
moritz | but 89MB is OK? | 19:40 | |
19:40
uruwi left,
uruwi joined
|
|||
mspo | moritz: something along the perl5 memory usage would be nice | 19:40 | |
lower, even | |||
19:41
_mg_ left
|
|||
moritz | mspo: well, lots of things would be nice, but aren't a requirement for success | 19:41 | |
19:41
uruwi left
|
|||
timotimo | "lower" is kind of improbable | 19:41 | |
19:41
uruwi joined
|
|||
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
uruwi left
|
|||
moritz | mspo: to me, sustained grows of the community and ecosystem is success | 19:42 | |
*growth | |||
19:42
uruwi joined
|
|||
mspo | java proves that you can do anything if you're willing to type enough :) | 19:42 | |
timotimo | mspo: fwiw, rakudo-moar currently takes less than 70 mb of ram to run hello world | 19:43 | |
19:43
uruwi left
|
|||
mspo | timotimo: I must be a little out of date, then | 19:43 | |
19:43
uruwi joined
|
|||
timotimo | potentially | 19:43 | |
masak | would it be possible to map out where those 90 MB go at the moment? | ||
timotimo | seems like perl5 is at 4.5 megabytes of ram for hello world | ||
19:43
uruwi left
|
|||
masak | maybe that could give a clue to what could be optimized away, if anything? | 19:43 | |
19:44
uruwi joined
|
|||
masak | or loaded lazily, or whatever | 19:44 | |
mspo | run hello world in a loop and gcore it? | ||
moritz | masak: I'm only guess right now, but loading the setting is likely a big chunk of it | ||
mspo | setting? | ||
19:44
uruwi left
|
|||
skids | What size do the GC arenas start at? | 19:44 | |
moritz | also, most successful dynamic languages have a slower interpreter startup than perl5 | ||
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
|
|||
timotimo | skids: the nursery starts at 4 megabytes | 19:45 | |
moritz | mspo: the setting is all the built-in types and code | ||
timotimo | er. the nursery is always at 4 megabytes | ||
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
|
|||
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 | |
but lifetime handling of those objects is a tiny bit hairy | |||
mspo | what was the command to manually compile? moar --dump ? | ||
timotimo | no, compiling stuff manually needs "perl6 --target=moar" or something | 19:47 | |
19:47
musiKk joined
|
|||
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
uruwi left
|
|||
mspo | perl6 --target=moar -o hello.pl6.moarvm hello.pl6 didn't work | 19:49 | |
[Coke] | define "didn't work" | ||
Hotkeys | is there a way to uninstall a package with panda? | ||
moritz | last I looked, it only worked with modules | ||
but that was pre-autoprecomp, even | 19:50 | ||
mspo | Cannot dump this object; no dump method | ||
moritz | --target=mbc | ||
mspo | ame | 19:51 | |
same | |||
jdv79 | do we have a post xmas r* and an msi? | ||
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` | ||
timotimo | yes, it will only work with modules. however, every script is also a module | ||
[Coke] | jdv79: nope | ||
19:51
lnrdo joined
|
|||
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. | ||
timotimo | RabidGravy: hey, have you seen synopsebot? | ||
jdv79 | [Coke]: why not? | 19:52 | |
RabidGravy | nah | ||
timotimo | because the last thing synopsebot saw was a message from you about making a radio station application that can replace airtime | ||
moritz | jdv79: because 2015.12 wasn't R*able, so we're waiting for 2016.01 | ||
timotimo | hm. after that, there's only one ping/pong. so something must have gone wrong anyways | ||
jdv79 | we should probably do something more reliable with the metacpan instance soon. | ||
[Coke] | jdv79: lack of volunteers. | 19:53 | |
jdv79 | ok. well, we kinda want that for a study group that might meet on 2/6. | ||
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. | ||
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... | ||
TL;DR - teh first release post christmas is -hard-. please be patient. | |||
19:56
lnrdo left
|
|||
[Coke] | the first release with non-backwards compatible stuff also hard. | 19:56 | |
20:04
prammer joined
20:06
firstdayonthejob left,
_mg_ joined
20:07
firstdayonthejob joined
20:08
prammer left
|
|||
rindolf | are backticks/qx the same as in perl 5? | 20:08 | |
because they are not mentioned here - doc.perl6.org/language/5to6-nutshell | 20:09 | ||
20:09
prammer joined
|
|||
Brock | rindolf: nope, no backticks | 20:09 | |
20:09
Brock is now known as awwaiid
|
|||
awwaiid | rindolf: my $result = shell("shell stuff", :out).out.slurp-rest | 20:10 | |
jnthn | qx/shell stuff/ | ||
rindolf | awwaiid: ah. | ||
Hotkeys | I'm getting this error when running perl 6 with linenoise on windows 7 pastebin.com/qK2F2Qcj | ||
any ideas what's wrong? | |||
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 | ||
jnthn | Yeah, the qx way is a lot shorter for the common case. Which is why it's there. :) | ||
rindolf | awwaiid: thanks, so the document needs to be revised. | ||
timotimo | so, i was wondering about module installation and multi-version-at-same-time stuff | ||
20:12
jast left
|
|||
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? | ||
Hotkeys | 'perl6' | ||
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
domidumont left
|
|||
Hotkeys | which runs perl6.bat I believe | 20:13 | |
or perl6-m.bat | |||
awwaiid | Hotkeys: hmm interesting. Did you by chance explicitly install linenoise? ala 'panda install linenoise' | ||
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? | ||
Hotkeys | awwaiid: Yep | ||
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 :( | ||
awwaiid | Hotkeys: cool. welp... you've reached the end of my knowledge here. quickly too. :( | ||
Hotkeys | awwaiid: it was telling me that I should so I did | ||
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 | ||
which i can't do on windows | |||
no libreadline | |||
timotimo | unless the module author puts version info every-whooping-where in the source | ||
bread line! | |||
20:14
darutoko left
|
|||
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() | ||
Hotkeys | I'm gonna try doing a reinstall of all the things | ||
jnthn | b2gills: Ah...that may be a sensible distinction then | ||
Hotkeys | maybe that'll fix linenoise | ||
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 | ||
what i really mean is modules from the same git repository | |||
things that get installed together when you "panda install ASingleThing" | |||
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 | ||
let me know if a re-install fixes it | |||
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. | ||
Hotkeys | alright | ||
20:18
DrPete_ joined,
burnersk joined,
haircode joined
|
|||
b2gills | .oO( perhaps there should be a 「sub prefix:<+> ( PermutationSeq $seq ) { $seq.elems }」 ) |
20:18 | |
Hotkeys | PermutationSeq? | ||
b2gills | currently it is an anon Seq | 20:19 | |
Hotkeys | ah | ||
timotimo | first of all i want to know if this is really a problem or if i'm just imagining things | ||
does this belong in a different perl6 sub-irc-channel? | |||
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. | ||
moritz | m: sub rindolf(Str $x) { say $x }; rindolf('foo') | ||
camelia | rakudo-moar 775271: OUTPUT«foo» | ||
rindolf | moritz: ah, thanks. | 20:21 | |
hahainternet just noticed the type graph on the Exception doc page, it's truly something to behold | |||
timotimo | yes, only modules from that distro. otherwise things will get VERY strange | ||
hahainternet | 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 :) | ||
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 | ||
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 | ||
timotimo | hahainternet: yeah, mostly due to the way roles are interconnected in there, i think | ||
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:23
espadrine left
|
|||
timotimo | or a better alternative | 20:24 | |
20:24
_mg_ left
|
|||
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:24
nowan left
|
|||
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:25
sno left
|
|||
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 | ||
moritz | also most modern layouts are dominated by a few pieces with monstrously many pins, which dictate most of the layout | ||
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. :-) | ||
hahainternet | and honestly, autorouters aren't really what you'd want i don't think | ||
20:28
DrPete_ left,
burnersk left,
haircode left,
hippie1 left
|
|||
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. | ||
timotimo | ;( | ||
20:29
buharin joined
|
|||
buharin | hello | 20:29 | |
:) | |||
vendethiel | hi | ||
moritz | timotimo: though things might have improved since then :-) | ||
timotimo | potentially | ||
buharin | I wonder know why Perl6 get less users than Swift? | ||
timotimo | nowadays, building usable user interfaces in javascript isn't as terrible of a task as it used to be | ||
buharin: because larry wall isn't steve jobs | 20:30 | ||
Skarsnik | Switft is backed up by Apple x) | ||
moritz | buharin: probably because swift had a pre-made niche to which all alternatives (objective C) more or less sucked | ||
timotimo | also, you can use swift already to build apps for iOS, which makes you dollars "immediately" | ||
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 | ||
buharin | with perl6 you will be always poor? | ||
skids | (that was, WRT routing/mapping/data categorization) | ||
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") | ||
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 | ||
mst | but, yeah, for the moment perl6 is more likely to be your secret weapon than a CV asset | ||
masak | buharin: what you should be asking is about the various ways Swift is playing catch-up with Perl 6 (which is still ahead) :) | ||
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 | ||
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 | |
m: say "hi, buharin!" | |||
camelia | rakudo-moar 775271: OUTPUT«hi, buharin!» | ||
masak | now's your chance. | ||
buharin | masak, I write Perl5 programs | ||
even last time | |||
but I used to swift | |||
masak | ok, so no Perl 6 yet. got it. | ||
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
gensym left
|
|||
RabidGravy | it's going to be great | 20:36 | |
buharin | but got a long story :P | ||
masak, if you want to know ;) maybe you can advice me smh | |||
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++ | ||
buharin | sure thats greate | ||
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 | ||
thats a problem | |||
money are killing good open source ppl | |||
masak | doesn't look that way from here | ||
Ulti | m: say 'a'.split('').perl | 20:42 | |
camelia | rakudo-moar 775271: OUTPUT«("", "a", "")» | ||
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
ab6tract left
|
|||
buharin | moritz, I think you are true | 20:42 | |
20:42
DrPete_ joined,
burnersk joined,
haircode joined
|
|||
Ulti | why would anyone want the start and end empty strings? | 20:42 | |
buharin | in 100% | 20:43 | |
moritz | buharin: if you like Perl programming, for example, go to a Perl conference, and be surprised by how many companies are hiring | ||
masak | also, I find that money and open source have good ways nowadays to stay in symbiosis | ||
RabidGravy | yeah, that's my way of looking at it, too | ||
buharin | moritz, there are no Perl conference in my country | ||
20:43
gensym joined
|
|||
moritz | buharin: where are you located? | 20:43 | |
buharin | Perl is very unpopular here | ||
in Poland | |||
moritz | buharin: there's a Polish Perl Workshop | ||
buharin | w8 I will check | ||
RabidGravy | nah, there are loads of people here from Poland | ||
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 | ||
buharin | masak, thanks ;-) | ||
moritz | buharin: also, there's YAPC::EU each year, which attracts folks from all over Europe | ||
buharin | masak, because last time I write a perl script in my company | ||
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 | ||
masak | buharin: you should try to find other Perl people (or other open-source people) in your local area | ||
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" | ||
buharin | and the guy said me ask someone here who like perl | ||
masak | moritz: that gag spilt over a little to the subsequent YAPC::Europes too | ||
20:45
maslan left
|
|||
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 | ||
RabidGravy | this year I am going to persuade a company that they want to use Perl 6 | ||
buharin | RabidGravy, how to do it? | 20:47 | |
I talk with guy in my company and he says that perl is unreadable | |||
no-one want to learn it | |||
better write perl | |||
shell is better then perl | |||
Hotkeys | Perl 6 is less line noise than perl 5 I've heard | 20:48 | |
although I never really used perl 5 | |||
alpha123 | perl5 wasnt really linenoisey unless you made it that way | ||
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 | ||
buharin | moritz, I don't like PHP too | ||
alpha123 | yeah, the only language that's worthy of real bashing is PHP | 20:49 | |
buharin | but supporting only main companies languages is worse | ||
you know for example D lang | |||
moritz | buharin: the best thing you can do is write software that gets things done, and let the haters hate | ||
buharin | no-one head about it till one guy start to promote it | ||
alpha123 | remember when D was relevant? | ||
yeah me neither | |||
20:49
lokien_ left
20:50
ely-se joined
|
|||
buharin | and what else sucks in os x | 20:50 | |
masak | at our company, we have been using Perl 6 for years | ||
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 | ||
buharin | I use it first time but I can't run iOS dev on another platform | ||
masak | it's one of our (no-so-secret) business advantages | ||
moritz | I'd love to see something comparable in Perl 6 :-) | ||
20:50
kjs_ left
|
|||
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 | ||
camelia | rakudo-moar 775271: OUTPUT«{"1" => Bool::True, "2" => Any, "3" => Any}» | ||
buharin | and I got right now iMac and I cant install Linux here some strange problems | ||
ely-se | PHP is my favourite dynamically typed programming language, because it doesn't allow for abominations like monkey patching. | ||
buharin | why the fuck ppl like these systems | ||
SmokeMachine___ | shouldn't it be {1 => {2 => {3 => Bool::True}}} ? | ||
buharin confused | 20:52 | ||
20:52
nowan joined
|
|||
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 | |
buharin: then again, I'm not trying to run it on an iMac :P | |||
moritz | m: my %a; my @b = (1; 2; 3;); %a{||@b} = True; say %a.per | ||
camelia | rakudo-moar 775271: OUTPUT«Method 'per' not found for invocant of class 'Hash' in block <unit> at /tmp/AX0UgLK9lO line 1» | ||
moritz | m: my %a; my @b = (1; 2; 3;); %a{||@b} = True; say %a.perl | ||
camelia | rakudo-moar 775271: OUTPUT«{"1" => Bool::True, "2" => Any, "3" => Any}» | ||
20:53
virtualsue left,
nowan left,
DrPete_ left,
burnersk left,
haircode left
|
|||
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 | ||
masak, that way I listen my million cousin to make a cash | |||
:] | |||
masak, he said me you use vim emacs you are linux conservator | 20:54 | ||
20:54
xpen joined
|
|||
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 | |
and right now I think thats a shit | |||
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 | ||
Hotkeys | rakudobrew couldn't install the latest build for some reason | ||
just restarted lets see if that fixes | |||
buharin | moritz, I event not earning 1k$ here in poland | ||
cause the companies that come here pay us less than in US or UK etc. | 20:57 | ||
so I think thats a problem | |||
huf | yes. but they go there *because* they can pay less | ||
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 | ||
SmokeMachine___ | moritz: should be {1 => {2 => {3 => Bool::True}}}, right? | 20:59 | |
moritz | SmokeMachine___: possibly; I'm not very confident in this area | ||
20:59
xpen left
|
|||
buharin | masak, do you think I can turn back my career? | 21:00 | |
and start learn Perl on iMac? | |||
SmokeMachine___ | design.perl6.org/S09.html#Multidim...nal_arrays | ||
skids | A lot of multidim is still yet to be implemented. | ||
masak | buharin: sure, why not | ||
buharin: "turn back" sounds too drastic, though | |||
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]» | ||
masak | buharin: think of it as learning new skills, and finding out which tools you like | ||
SmokeMachine___ | same "problem" with array... | ||
buharin | masak, I play with many things | ||
SmokeMachine___ | m: my @a; @a[1;2;3] = True; @a.perl.say | 21:02 | |
masak | SmokeMachine___: that last one looks right to me | ||
camelia | rakudo-moar 775271: OUTPUT«[Any, [Any, Any, [Any, Any, Any, Bool::True]]]» | ||
21:02
geraud left
|
|||
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 | ||
SmokeMachine___ | masak: the@a[1;2;3] one? | ||
jnthn | The || interpolator didn't make it into 6.c | ||
buharin | the one thing which I omit it is a game dev | ||
xD | |||
RabidGravy, ya like me | 21:03 | ||
SmokeMachine___ | jnthn: that explains the problem! | ||
buharin | RabidGravy, but I don't feel really good in one | ||
masak | SmokeMachine___: no, the `my @a = 1, 2, 3; my @b; @b[||@a] = True` one | ||
buharin | RabidGravy, even in my work I do multiple things | ||
SmokeMachine___ | but using it don't throw a error either... | ||
moritz | buharin: maybe you should stop focusing on tools so much, and learn more about the techniques? | ||
SmokeMachine___ | masak: I don't think that response was correct... | 21:04 | |
buharin | moritz, what do you mean? | ||
moritz | buharin: algorithms, architecture, design patterns | ||
buharin | moritz, I think about it last time | ||
moritz | buharin: best practise, the fundamentals of your infrastructure, how the protocols work that you use (TCP, DNS, HTTP, ...) | ||
buharin | moritz, what exactly I think it was to learn well techniques with some language which I really love | ||
21:05
hankache joined
|
|||
rindolf | thanks for your help , everyone. | 21:05 | |
moritz | buharin: yes, an environment you love really helps | ||
Hotkeys | hmm | ||
SmokeMachine___ | jnthn: is there any idea in what version will it be implemented? | ||
RabidGravy | and develop a personal pattern book of architectural stereotypes that work will in real world applications | ||
Hotkeys | lets see if i can build 2015.12 or if this is a me problem | ||
buharin | moritz, as about TCP DNS .. and so on what you mean? | 21:06 | |
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? | ||
jnthn | SmokeMachine___: That and partially dimensioned views are something I'd hope to get into 6.d | ||
moritz | buharin: no | ||
buharin | but as I look for job only web was | ||
SmokeMachine___ | jnthn: thanks! | ||
hankache | good evening #perl6 | 21:08 | |
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? | ||
Hotkeys | hoelzro: I'm currently having trouble just installing p6 | ||
hoelzro | =/ | ||
Hotkeys | so i'm diagnosing that now | 21:10 | |
I'm going home soon so I'll see if it's a machine issue or a windows issue | |||
(I'll try building on my desktop) | |||
21:10
prammer left
|
|||
hoelzro | ok | 21:10 | |
Hotkeys | but I'm currently building 2015.12 | ||
to see if it's a recent issue | |||
or just a me issue | |||
21:10
geraud joined
|
|||
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 | |
yep | |||
21:13
cdg joined
|
|||
Hotkeys | 2015.12 worked fine | 21:13 | |
21:13
lokien_ joined
|
|||
Hotkeys | gonna head home now though, I'll start the fun in half an hour or so | 21:14 | |
hoelzro | good luck Hotkeys | ||
cxreg2 | did pl6anet recover a backup? | 21:16 | |
21:17
cxreg2 is now known as cxreg,
colomon left
|
|||
AlexDaniel | Ulti: dunno. But if you don't want those then just use comb? | 21:18 | |
m: say ‘,one,two,three,’.split: ‘,’ | |||
camelia | rakudo-moar 775271: OUTPUT«( one two three )» | ||
AlexDaniel | m: ‘,one,two,three,’.split(‘,’).perl.say | 21:19 | |
camelia | rakudo-moar 775271: OUTPUT«("", "one", "two", "three", "")» | ||
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 ↑ | ||
oh nice, completely numeric commit hash | 21:21 | ||
21:26
maslan joined
21:29
marmay_ left
21:30
molaf left
21:33
hankache left
|
|||
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:34 | |
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:36 | |
21:37
addison joined
21:38
rindolf left,
jvcakg left
|
|||
hoelzro | leont: Perl6::Grammar does it quite a bit | 21:39 | |
rule it($threshold) { ... } should do the trick | |||
ely-se | SmokeMachine___: I think you have to make a subset of Pair. | ||
Pair isn't a parameterised role | |||
21:40
jme` left
|
|||
SmokeMachine___ | ely-se: :( | 21:41 | |
ely-se | m: subset StrsToStr of Pair where { .key ~~ Array && .value ~~ Str }; my StrsToStr $p = ["a", "b"] => "c"; | 21:42 | |
camelia | ( no output ) | ||
ely-se | don't know how to do they "array *of strings*" part | ||
b2gills | SmokeMachine___: you mean 「my Pair $v where :( Array :key($), Str :value($) );」 | ||
21:42
jme` joined
|
|||
ely-se | so many sad smileys | 21:42 | |
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:43 | |
SmokeMachine___ | b2gills: does that do the trick?! | 21:44 | |
b2gills | m: my Pair $v where :( Array[Str] :key($), Str :value($) ) = Array[Str]( [''] ) => ''; say $v | ||
camelia | rakudo-moar 775271: OUTPUT«[] => » | ||
SmokeMachine___ | m: my Pair $v where :( Array[Str] :key($), Str :value($) ) = [<bla bye bli>] => 'test'; say $v | 21:45 | |
21:45
sno joined
|
|||
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:45 | |
SmokeMachine___ | m: my Pair $v where :( Array[Str] :key($), Str :value($) ) = Array[Str]([<bla bye bli>]) => 'test'; say $v | 21:46 | |
b2gills | SmokeMachine___: you have to coerce in that case, or accept any Array | ||
camelia | rakudo-moar 775271: OUTPUT«[bla bye bli] => test» | ||
SmokeMachine___ | b2gills: that looks great! thanks! | ||
21:47
nowan joined,
colomon joined,
DrPete_ joined
|
|||
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:49 | |
SmokeMachine___ | b2gills: thanks! | 21:52 | |
leont | How can I store a method in a variable? | ||
21:52
shmibs_ is now known as shmibs
21:53
lnrdo joined
|
|||
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
skids left
|
|||
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:55
bjz_ left
|
|||
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/dVba70qZJMStrange 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…» | ||
SmokeMachine___ | m: sub f(Str(Any) $a){$a.WHAT.say}; f("bla") | ||
camelia | rakudo-moar 775271: OUTPUT«(Str)» | ||
21:56
n0tjack left
|
|||
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/pWP0CMmM9FTwo terms in a rowat /tmp/pWP0CMmM9F:1------> 3sub f(Str(Any) $a){$a.WHAT.say}; Any7⏏5 $b = "test"; f($b) expecting any of: infix infix stopper state…» | ||
SmokeMachine___ | m: sub f(Str(Any) $a){$a.WHAT.say}; my Any $b = "test"; f($b) | ||
camelia | rakudo-moar 775271: OUTPUT«(Str)» | ||
21:58
lnrdo left,
prammer joined
21:59
kaare_ left
22:00
laz78 left
22:01
burnersk joined,
haircode joined
|
|||
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:01 | |
22:02
colomon left
|
|||
AlexDaniel | m: say ‘a,,,b’.split(‘,’).perl.say | 22:02 | |
camelia | rakudo-moar 775271: OUTPUT«("a", "", "", "b")True» | ||
22:02
colomon joined,
Skarsnik left
|
|||
AlexDaniel | Ulti: correct, but then it would be an infinite amount of empty strings… | 22:02 | |
Ulti | exactly | ||
thats why I dont like it | |||
'' is a special case | |||
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:03
raiph left
|
|||
Ulti | also its a strange thing to "fix" from Perl 5 expectations of split | 22:04 | |
AlexDaniel because split is infinitely more memorable and obvious a method than comb | |||
22:04
laz78 joined
|
|||
b2gills | moritz: I figured out what the problem was with the permutations PR, and fixed it. | 22:04 | |
Ulti | frakly split with no arguments should imply the same as comb with no arguments :S | 22:05 | |
at least thats what I expect even if its not what I get | |||
[Coke] | Do you still have that expectation after reading the docs? | ||
b2gills | m: say 'abab'.split('a').perl; # Ulti: this is why | ||
camelia | rakudo-moar 775271: OUTPUT«("", "b", "b")» | ||
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() | ||
Ulti | b2gills: I still dont see how that really explains why | ||
buharin | what book should I use for perl6? | ||
22:07
colomon left
|
|||
[Coke] | buharin: there is no book yet. | 22:07 | |
AlexDaniel | buharin: doc.perl6.org… not a book but yeah | ||
buharin | so can I use perl5 book | ||
for perl6? | |||
[Coke] | nope. | ||
AlexDaniel | buharin: partially | ||
[Coke] | 6 ain't 5. | ||
22:07
colomon joined
|
|||
buharin | oh okay ;s | 22:07 | |
Ulti | m: say 'ababa'.split('a').perl; #why no terminating ''? | ||
camelia | rakudo-moar 775271: OUTPUT«("", "b", "b", "")» | ||
[Coke] | AlexDaniel: I think using the 5 book to learn 6 would be a very bad idea. | ||
Ulti | whoa | ||
b2gills | Ulti: .split('') could very well produce an infinite list of empty strings and not be incorrect | ||
Ulti | thats different from P5 | 22:08 | |
also | |||
AlexDaniel | buharin: by “partially” I mean that perl5 knowledge definitely helps when learning Perl 6, but other than that not so much | ||
[Coke] | Ulti: welcome to 6? | ||
Ulti | sure but I dont see the actual /use case/ for this in 6 | ||
[Coke] | AlexDaniel: I think Ulti would disagree that knowing how 5 works helps at this point. :) | ||
Ulti | not everything in 5 was broken | ||
[Coke] | Ulti: that's the spec. | ||
Ulti | sure but I'm asking why so I can see the light | ||
AlexDaniel | .u light | 22:09 | |
yoleaux | U+0FC1 TIBETAN CANTILLATION SIGN LIGHT BEAT [So] (࿁) | ||
U+23BE DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT [So] (⎾) | |||
U+23BF DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT [So] (⎿) | |||
22:09
captain-adequate joined
|
|||
AlexDaniel | .u bulb | 22:09 | |
yoleaux | U+1F4A1 ELECTRIC LIGHT BULB [So] (💡) | ||
b2gills | Perl 6 doesn't throw things away like Perl 5 did | ||
22:09
ZoffixWin_ joined,
ZoffixWin_ left,
ZoffixWin_ joined
|
|||
[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… | ||
[Coke] | but we're talking about 15 years of design and development here. | ||
22:10
captain-adequate left,
bjz joined
|
|||
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 1Actually thrown at: in block <unit> at /tmp/S_09P2XQuL line 1» | ||
Ulti | ok I have it >:P how about split(*) does Whatever I want :P | 22:11 | |
AlexDaniel | m: split ‘’, * | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BnfdKpQ237Calling split(Str, Whatever) will never work with declared signature ($pat, Cool $target, |c is raw)at /tmp/BnfdKpQ237:1------> 3<BOL>7⏏5split ‘’, *» | ||
Ulti | yeah its wide open for it | ||
[Coke] | m: say 'ababa'.split('a', :skip-empty).perl; | ||
Ulti | :D | ||
camelia | rakudo-moar 775271: OUTPUT«("b", "b")» | ||
22:11
burnersk left,
haircode left
|
|||
[Coke] | So maybe if you don't like the default, use that. | 22:11 | |
AlexDaniel | m: say 'ababa'.split('', :skip-empty).perl; | ||
camelia | rakudo-moar 775271: OUTPUT«("a", "b", "a", "b", "a")» | ||
Ulti | [Coke] but thats so much extra typing for what is quite clearly the most common use case | ||
:keep-empty | |||
22:12
captain-adequate joined,
burnersk joined,
haircode joined
|
|||
[Coke] | Ulti: there is no way this is changing for 6.c | 22:12 | |
22:12
laz78 left
|
|||
AlexDaniel | m: say ''.split('', :skip-empty).perl; | 22:12 | |
camelia | rakudo-moar 775271: OUTPUT«()» | ||
22:12
Skarsnik joined
|
|||
AlexDaniel | [Coke]: there is a way to change that in 6.d | 22:12 | |
22:12
captain-adequate left
|
|||
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. | ||
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 | ||
[Coke] | AlexDaniel: sure, in the next spec version, it's changeable. | ||
22:13
colomon left
|
|||
Ulti | but something like Z=> to make a hash kills you | 22:13 | |
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:14 | ||
[Coke] | Ulti: that's .comb | 22:15 | |
Ulti | whatever star also kind of makes sense it would do the same | ||
[Coke]: sure | |||
but I want to use the word split | |||
because wtf | |||
[Coke] | m: say "abcde".split(*).perl; | ||
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…» | ||
[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 | ||
Ulti | lol | ||
22:16
meth joined
|
|||
[Coke] | but like I said, there's no way it can change without a new spec release. | 22:16 | |
m: use Inline::Perl5; | |||
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 …» | ||
[Coke] | star: use Inline::Perl5;' | ||
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…» | ||
AlexDaniel | m: say ‘hello’.split(/‘’/).perl | 22:17 | |
[Coke] | ah well. | ||
camelia | rakudo-moar 775271: OUTPUT«("", "h", "e", "l", "l", "o", "")» | ||
[Coke] | heading out. later, everyone. | ||
Ulti | have fun | ||
22:18
bearder joined
|
|||
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
|
|||
camelia | rakudo-moar 775271: OUTPUT«("h", "e", "l", "l", "o").Seq» | 22:18 | |
22:18
bjz left
|
|||
mspo | substr-as-a-loop is probably faster than split anyway | 22:18 | |
AlexDaniel | Ulti: then why not use comb! | ||
or why not define your own sub | |||
or even your own operator | |||
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 | ||
mspo | your own operator sounds most fun | ||
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 | ||
zhmylove | b2gills: ? kind of joke? | ||
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 | ||
zhmylove: but it's way slower | |||
zhmylove | mspo: how would I run it twice? | ||
mspo: perl6 /tmp/file.p6 && perl6 /tmp/file.p6 ? | |||
22:21
xdoctor joined
|
|||
mspo | zhmylove: just run it again exactly like you did | 22:21 | |
zhmylove: if you were getting the compile-to-bytecode part it would be slower | 22:22 | ||
AlexDaniel | mspo: it sounds slow actually | ||
22:22
burnersk left,
haircode left
|
|||
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 | ||
mspo | AlexDaniel: the operator or substr? | ||
masak | 'night, #perl6 | ||
AlexDaniel | mspo: split operator | ||
mspo | AlexDaniel: why? are operators slow like grammars? | ||
AlexDaniel | mspo: no, they just add up to the startup time | 22:23 | |
mspo | perl6: the fast parts -- going to be published :) | ||
AlexDaniel | mspo: significantly | ||
camelia | rakudo-jvm 6c0f93, rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfilePreceding context expects a term, but found infix : insteadat /tmp/tmpfile:1------> 3he fast parts -- going to be published :7⏏5)» | ||
AlexDaniel | haha | ||
zhmylove | mspo: 2,07 real, 2,07 real, 2,07 real | ||
mspo | zhmylove: so then it's right | ||
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 | ||
it's very slow | |||
AlexDaniel | yeah, my machine is not that fast too. I'd be happy to try it | ||
zhmylove | mspo: Yes, please try it, if it's not a problem for you | ||
22:25
Amendil joined
22:26
Amendil left
|
|||
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
22:27
meth is now known as teachmeUNIX
|
|||
AlexDaniel | Interestingly, it actually takes goddamn two seconds!!? | 22:27 | |
mspo | or me | ||
zhmylove: 3.4s for me | |||
I'm usig a tiny vm :) | |||
b2gills | RabidGravy: .comb() is a different method than .comb(/./), and likely slower | ||
22:28
ely-se left
|
|||
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 | ||
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 | ||
Perl 5 doesn't include that. Try importing Moose along with several List, String, and Math modules. | |||
pmqs_ | m: my int8 $a; do given $a { when int8 {"int8"}; when Int {"int"}; default {"default"} } | ||
camelia | ( no output ) | ||
mspo | weirdly printing just one line only takes .5s | ||
22:28
bearder left
|
|||
Skarsnik | I am worried there is no new issue on DBIish since x-mas x) | 22:28 | |
22:28
maslan left
|
|||
AlexDaniel | and 10_000 prints takes 16.5 seconds! Almost linearly! | 22:29 | |
Skarsnik: sure, because I haven't submitted anything yet :D | |||
pmqs_ | m: my int8 $a; say do given $a { when int8 {"int8"}; when Int {"int"}; default {"default"} } | ||
camelia | rakudo-moar 775271: OUTPUT«int» | ||
ZoffixWin_ | m: print "JAPH" for 10_000; say now - INIT now; | ||
camelia | rakudo-moar 775271: OUTPUT«JAPH0.0021305» | ||
Skarsnik | hm | ||
b2gills | pmqs_: You can't use a native type in a when statement or the right side of ~~ | ||
AlexDaniel | ZoffixWin_: no it is actually slow and it actually depends on the source code | 22:30 | |
ZoffixWin_: that's a real issue | |||
RabidGravy | Skarsnik, I've seen few issues on anything really | ||
ZoffixWin_ | AlexDaniel, hence my first point :) | ||
Skarsnik | RabidGravy, for me it mean a shortage of users x) | ||
ZoffixWin_ | AlexDaniel, well, actually what do you mean "actually slow"? | ||
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 | ||
mspo | Skarsnik: I'm > /dev/null | ||
Skarsnik | oh oki | ||
b2gills | m: multi t (int8) {8}; multi t (Int) {Inf}; say t my int8 $ # pmqs_ | ||
camelia | rakudo-moar 775271: OUTPUT«8» | ||
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 | ||
Skarsnik | it's because int8 does not have Accept? | 22:32 | |
mspo | I'm surpised that it isn't all startup time | ||
AlexDaniel | ZoffixWin_: 16 seconds for 10_000 prints is slow, there's no need for a debate about that… | ||
mspo | it's actually the execution of "print" is slow | ||
Skarsnik | m: say int8.^name | ||
camelia | rakudo-moar 775271: OUTPUT«int8» | ||
zhmylove | Guys, thank for your investigation. Errgh :(, going to wait some decades before migration of the production to p6... | ||
b2gills | pmqs_: int8 is not really a Type the way that Int is | ||
mspo | zhmylove: no one will tell you moar is fast right now | ||
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
|
|||
pmqs_ | b2gills, that sounds a bit crazy. | 22:33 | |
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 ) | ||
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 :) | ||
zhmylove | Hmmm, is there anything like perlcc for p6? :) | ||
Skarsnik | not yet? | 22:35 | |
b2gills | pmqs_: The only reason int8 and friends exist is so that very bare metal optimizations are possible | ||
ZoffixWin_ | AlexDaniel, errr, right, I missed the 16 seconds bit... FWIW, I'm still waiting for it to finish on my box :o | ||
Oh, wait, I messed up... | |||
RabidGravy | It's say that is slow | ||
mspo | for what it's worth using a loop () { print } is much faster | ||
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 | ||
AlexDaniel | b2gills: it was me, I do, yes | ||
pmqs_ | b2gills, as a relative newcomer to perl6, that sounds arbitrary. | ||
RabidGravy | m: my $a; $a++ for ^250000; say now - INIT now # approximately the same as 1000 says | ||
camelia | rakudo-moar 775271: OUTPUT«0.1437352» | ||
ZoffixWin_ | 0.207s for Perl 5 and 18.175s for Perl 6 on my Linode box.. :o | ||
DrForr grouses at RT. | |||
pmqs_ | m: my int8 $a; say do given $a.^name { when 'int8' {"int8"}; when "Int" {"Int"} } | ||
camelia | rakudo-moar 775271: OUTPUT«Int» | ||
b2gills | m: say Int ~~ Any; # pmqs_: | ||
camelia | rakudo-moar 775271: OUTPUT«True» | ||
mspo | it must be looking up "print" each time | 22:37 | |
Skarsnik | err that weird | ||
ZoffixWin_ | m: say 18.175/0.207 | ||
camelia | rakudo-moar 775271: OUTPUT«87.801932» | ||
ZoffixWin_ | yikes | ||
Skarsnik | m: say int8.WHAT | ||
camelia | rakudo-moar 775271: OUTPUT«(int8)» | ||
AlexDaniel | what's the right [TAG] for RTs about optimization? | ||
zhmylove | Some texts recommends using Rakudo-JVM. But it's java unlikely | ||
Skarsnik | pmqs_, there is something wrong here | ||
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 | ||
Skarsnik | m: my int8 $a; say $a.WHAT | ||
camelia | rakudo-moar 775271: OUTPUT«(Int)» | ||
AlexDaniel | or should I just come up with something? | ||
Skarsnik | m: my int8 $a; say $a.^name; | ||
camelia | rakudo-moar 775271: OUTPUT«Int» | ||
Skarsnik | m: my int8 $a = 8; say $a.^name; | ||
camelia | rakudo-moar 775271: OUTPUT«Int» | ||
AlexDaniel | [SLOW] ? | ||
Skarsnik | That so wrong | 22:39 | |
pmqs_ | Skarsnik, assume WHAT should give int8 ? | ||
Skarsnik | yes | ||
AlexDaniel | Skarsnik: I think that there was a bug report for that. Try searching for it :) | ||
Skarsnik | m: my int18 $a = 8; say $a.^name; | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5===Type 'int18' is not declared. Did you mean any of these? int16 int8at /tmp/LvlnxVo0dS:1------> 3my int187⏏5 $a = 8; say $a.^name;Malformed myat /tmp/LvlnxVo0dS:1------> 3my7⏏5 int18 $a = 8; say …» | ||
b2gills | pmqs_: there is no way that WHAT **can** give int8 (since there is no type object of type int8) | ||
Skarsnik | m: my int16 $a = 8; say $a.^name; | 22:40 | |
camelia | rakudo-moar 775271: OUTPUT«Int» | ||
AlexDaniel | m: say int8 | ||
camelia | rakudo-moar 775271: OUTPUT«(int8)» | ||
ZoffixWin_ | It's all in compilation too. | ||
17 seconds before it told me I got a syntax error | |||
AlexDaniel | b2gills: okay but what's that? ↑ | ||
Skarsnik | m: my int16 $a = 8; say $a.REPR; | ||
camelia | rakudo-moar 775271: OUTPUT«P6opaque» | ||
Skarsnik | this is wrong too | ||
pmqs_ | AlexDaniel, will take a look & see if there's a ticket | ||
Skarsnik | m: my int16 $a = 8; say int16.REPR; say $a.REPR; | 22:41 | |
camelia | rakudo-moar 775271: OUTPUT«P6intP6opaque» | ||
AlexDaniel | zhmylove: thanks for reporting this issue. I'll submit a ticket | ||
Skarsnik | m: my int $a = 8; say int16.REPR; say $a.REPR; | ||
camelia | rakudo-moar 775271: OUTPUT«P6intP6opaque» | ||
AlexDaniel | zhmylove: there is a high chance that by fixing this issue we will see general p6 speedup… hmm :) | ||
Skarsnik | I hope it stopped giving me random bug when I work on gptrixie xD | 22:42 | |
22:42
rvchangue joined
22:43
buharin left
|
|||
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:43
ratagin left
|
|||
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? | ||
ZoffixWin_ | zhmylove, yeah. It's done automagically for modules. | ||
Skarsnik | m: my int16 $a = 8; say $a.VAR.WHAT; | ||
camelia | rakudo-moar 775271: OUTPUT«(IntLexRef)» | ||
RabidGravy | that's me done for the day | 22:45 | |
AlexDaniel | ZoffixWin_: thanks, great info | ||
Skarsnik | m: class A { has int16 $.a is rw; }; say A.^attributes[0].type; | ||
camelia | rakudo-moar 775271: OUTPUT«(int16)» | ||
pmqs_ | Skarsnik, ohhh | 22:46 | |
that looks promising | |||
Skarsnik | m: class A { has int16 $.a is rw; method foo() { say $.a.WHAT}}; A.new.foo; | ||
camelia | rakudo-moar 775271: OUTPUT«(Int)» | ||
Skarsnik | duh | 22:47 | |
m: class A { has int16 $.a is rw; method foo() { say $!a.^name}}; A.new.foo; | |||
camelia | rakudo-moar 775271: OUTPUT«Int» | ||
pmqs_ | Skarsnik, that's one I tried earlier. My usecase is in a class | 22:49 | |
22:49
prammer left,
cpage_ left,
RabidGravy left
22:50
AlexDaniel left
|
|||
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» | ||
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:54
vendethiel left
22:55
xpen joined
22:58
sortiz joined
|
|||
sortiz | o/ #perl6 | 23:00 | |
pmqs_ | Skarsnik, found the definition for uint8, etc in natives.pm | ||
my native uint8 is repr('P6int') is Int is nativesize( 8) is unsigned { } | |||
23:00
xpen left,
musiKk left
|
|||
Skarsnik | Oh right there are all is Int? | 23:01 | |
pmqs_ | yep | ||
Skarsnik | still it's weird they get the Int type | ||
23:01
yqt joined
|
|||
Skarsnik | I mean not their own type | 23:02 | |
pmqs_ | yep - if this is defined behaviour it will cause confusion | ||
Skarsnik | m: class A is Int{}; my A $a .= new; say $a.^name; | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HUH2qkRz6CCannot 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
dfcarpenterak left
|
|||
Skarsnik | m: class A is Int {}; my A $a .= new; say $a.^name; | 23:03 | |
camelia | rakudo-moar 775271: OUTPUT«A» | ||
23:03
bapa left
23:04
brabo left,
bapa joined,
brabo joined
|
|||
pmqs_ | Skarsnik, going to call it a night. Will dig more into this tomorrow. Thanks! | 23:06 | |
23:06
ZoffixWin_ left
|
|||
Skarsnik | I am curious now x) | 23:06 | |
m: use NativeCall; my bool $a; say $a.WHAT; | |||
camelia | rakudo-moar 775271: OUTPUT«(Int)» | ||
23:14
skids joined
23:16
hippie1 joined
|
|||
sortiz | pmqs_, All "native" types uses a different representation than normal types | 23:20 | |
m: say .WHAT, .REPR for int8, int, Int, str, Str | |||
camelia | rakudo-moar 775271: OUTPUT«(int8)P6int(int)P6int(Int)P6opaque(str)P6str(Str)P6opaque» | ||
Skarsnik | yes but it get lost when doing my type $a: | 23:21 | |
m: my int8 $a = 8; say $a.REPR; # should be p6int | 23:22 | ||
camelia | rakudo-moar 775271: OUTPUT«P6opaque» | ||
23:24
AlexDaniel joined
|
|||
sortiz | Ah, I'm late in the discussion | 23:25 | |
23:27
addison left,
kid51 joined
23:29
llfourn joined
23:38
SCHAAP137 left
23:41
burnersk joined,
addison joined
|
|||
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
khw left
|
|||
AlexDaniel | zhmylove: rt.perl.org/Public/Bug/Display.html?id=127330 | 23:43 | |
23:44
maslan joined
|
|||
Skarsnik | Good night #perl6 | 23:47 | |
Tomorow I try some c++ in gptrixie if I don't get another weird bug xD | |||
23:48
FROGGS left
23:57
Skarsnik left
23:58
cognominal left
|