»ö« 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. |
|||
BenGoldberg | Or that ;) | 00:00 | |
gfldex | m: enum Twostraws (name => "twostraws", password => "fr0st1es"); say Twostraws ~~ Enumeration; | ||
camelia | rakudo-moar f7613f: OUTPUT«False» | ||
gfldex | m: enum Twostraws (name => "twostraws", password => "fr0st1es"); say Twostraws ~~ StringyEnumeration; | ||
camelia | rakudo-moar f7613f: OUTPUT«False» | ||
BenGoldberg | m: enum Twostraws (name => "twostraws", password => "fr0st1es"); say Twostraws.WHAT | ||
camelia | rakudo-moar f7613f: OUTPUT«(Twostraws)» | ||
grondilu | maybe use "need"? (it does not import anything) | 00:01 | |
zwu | yes, something is not convenient, the name should not be conflicted internally if the compunit is used too. | ||
BenGoldberg | m: enum Twostraws (name => "twostraws", password => "fr0st1es"); say Twostraws.^parents | ||
camelia | rakudo-moar f7613f: OUTPUT«((Str))» | ||
BenGoldberg | m: enum Twostraws (name => "twostraws", password => "fr0st1es"); say Twostraws ~~ Str | ||
camelia | rakudo-moar f7613f: OUTPUT«True» | ||
gfldex | m: enum Twostraws (name => "twostraws", password => "fr0st1es"); say dd Twostraws; | 00:02 | |
camelia | rakudo-moar f7613f: OUTPUT«TwostrawsNil» | ||
gfldex | m: enum Twostraws (name => "twostraws", password => "fr0st1es"); dd Twostraws; | ||
camelia | rakudo-moar f7613f: OUTPUT«Twostraws» | ||
gfldex | m: enum Twostraws (name => "twostraws", password => "fr0st1es"); dd name; | ||
camelia | rakudo-moar f7613f: OUTPUT«Twostraws::name» | ||
00:04
AlexDaniel left
|
|||
gfldex | I was under the impression that any enum implements the role Enumeration. That current behaviour makes introspection on enums tricky. | 00:04 | |
00:05
zwu left
|
|||
gfldex | But then, S12 doesn't say anything about introspection on enums so Enumeration might just be an implementation details. | 00:06 | |
m: enum Nothing «To(1) See Here Move Along»; | 00:07 | ||
camelia | ( no output ) | ||
sortiz | zwu, All package scoped symbols are visible without the need off 'is export' | 00:09 | |
gfldex | m: class Foo {}; enum Twostraws (name => Foo.new, password => "fr0st1es"); dd name; | 00:12 | |
camelia | rakudo-moar f7613f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/adei9MgTP0Cannot auto-generate a proto method for 'Int' in the settingat /tmp/adei9MgTP0:1» | ||
gfldex | m: class Foo {}; enum Twostraws (name => Foo.new, password => "fr0st1es"); | ||
camelia | rakudo-moar f7613f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3PXB4QLwKCCannot auto-generate a proto method for 'Int' in the settingat /tmp/3PXB4QLwKC:1» | ||
gfldex | that's a wee bit LTA | ||
grondilu | why do you even make enums like that? Aren't the values supposed to be integers? | 00:19 | |
I mean seems to me it shouldn't even be allowed. | |||
gfldex | Str and Int are specced, what doesn't change the fact that this error message is LTA. | 00:20 | |
m: enum Same ( name1 => 1, name2 => 2 ); dd Same.enums; | 00:26 | ||
camelia | rakudo-moar f7613f: OUTPUT«{:name1(1), :name2(2)}» | ||
ZoffixLappy | You know what the docs need? The FULL type map. | ||
Like, say, I want to look up all types that inherit Cool... boom, I'd look at the full map. | 00:27 | ||
gfldex | The docs need enums, that's for sure. I shall doc tomorrow. | 00:28 | |
The lack of docing for enum leads to much confusion. see stackoverflow.com/questions/3689075...amed-tuple | 00:29 | ||
sleep& | |||
ZoffixLappy | I'm pretty impressed there are Perl 6 SO questions.... | 00:30 | |
night | |||
hotel | that's gotta be a rule of the internet right? "if it exists, there is an SE question about it" | 00:33 | |
00:34
pierre_ joined
00:35
leont_ left
|
|||
grondilu | gfldex: I've never quite understood enums and last time I tried to read the synopses about it I did not find it very clear. So yeah, more and hopefully better doc would be welcome. | 00:39 | |
hotel | the word 'enum' comes from the phrase 'enumerated type' | 00:41 | |
which essentially boils to the idea that there is a type that has numbered entries in it | 00:42 | ||
oh, I'm getting the bad file descriptor thing again :\ | 00:45 | ||
grondilu | can you have infinite enums? (I was wondering this few days ago) | 00:49 | |
hotel | infinite? | ||
grondilu | m: enum basis ( 'e' X~ 1 .. 5 ) | 00:50 | |
camelia | ( no output ) | ||
grondilu | m: enum basis ( 'e' X~ 1 .. 5 ); say e5 | ||
camelia | rakudo-moar f7613f: OUTPUT«e5» | ||
grondilu | m: enum basis ( 'e' X~ 1 .. * ); say e5 | ||
hotel | you broke it | 00:51 | |
camelia | rakudo-moar f7613f: OUTPUT«(timeout)» | ||
grondilu | it would make some sense though | ||
hotel | not sure why you'd want an infinite enum though? they're generally used to provide a static list of constants that are associated with numerical values | ||
s/numerical/integer | 00:52 | ||
ZoffixLappy | New blog post: "Extra-Typical Perl 6": blogs.perl.org/users/zoffix_znet/20...erl-6.html | ||
grondilu | I wanted something like that for my Clifford module where e0, e1, e2... are supposed to form an infinite orthonormal basis for an euclidean space. | 00:53 | |
instead I had to settle to 'constant @e = map {...}, ^Inf;' | 00:54 | ||
so that instead of say 'e5' I have to type @e[5] which is quite more verbose. | |||
ideally I guess I would have to use a parsed macro or something. | 00:55 | ||
m: sub term:<> is parsed /e(\d)/ { $0 }; | 00:59 | ||
camelia | rakudo-moar f7613f: OUTPUT«5===SORRY!5===Null operator is not allowedat /tmp/6DqkJ85YHX:1------> 3sub term:<>7⏏5 is parsed /e(\d)/ { $0 };Other potential difficulties: Pair with <> really means an empty list, not null string; use :('') to represent the nu…» | ||
01:02
BenGoldberg left
01:03
BenGoldberg joined
|
|||
ZoffixLappy | What's 'is parsed'? | 01:03 | |
geekosaur | intended for use with macros, iirc | ||
grondilu | NYI | 01:04 | |
ZoffixLappy | Ah | ||
grondilu | according to S06 it can also be used for a sub. | ||
but again, NYI | |||
(apparently anyway, I'm no expert whatsoever) | 01:05 | ||
01:05
zwu joined
|
|||
grondilu | if it ever is implemented, it'd be quite a powerful tool. | 01:05 | |
ZoffixLappy | synopsebot6, S06:00 | 01:06 | |
synopsebot6 | Link: design.perl6.org/S06.html#line_00 | ||
grondilu | and it'll make syntax highlighters cry | ||
01:06
adu left,
tbrowder left
|
|||
hotel | lol | 01:11 | |
so what's going on with tools/build/install-core-dist.pl:13? | |||
it's breaking my rakudo install | 01:12 | ||
01:12
cdg left
01:15
molaf left
|
|||
sortiz | hotel, know problem. Try setting the env var PERL to you perl5 binary. | 01:15 | |
01:16
astj joined
01:18
ZoffixLappy left
|
|||
hotel | the path including the binary? | 01:19 | |
or just where it is? | |||
grondilu | try PERL=$(which perl) | ||
(that's what I'm trying right now) | |||
sortiz | And don't forget the 'export'. | 01:20 | |
grondilu | or $ PERL=$(which perl) nice make | ||
hotel | running echo "export PERL=$(perl)" >> ~/.bashrc makes my terminal hang lol | 01:21 | |
grondilu | normal you're executing a perl process | 01:22 | |
you forgot which | |||
hotel | I tried it with perl5 and ubuntu complained it didn't know what that was | ||
01:22
wamba left
|
|||
geekosaur | hit control-c | 01:22 | |
hotel | I did | 01:23 | |
I'm putting it in the bashrc manually now | |||
geekosaur | then note that it's $(which perl) not $(perl) | ||
hotel | oh | ||
geekosaur | so it ran perl and perl was waiting for input | ||
hotel | I was thinking "which perl" was a placeholder | ||
grondilu | lol | 01:24 | |
hotel | that's why I'm running ubuntu on windows | ||
geekosaur | no, it's a way to get the full pathname for the command | ||
grondilu | hotel: are you? that's cool. Is it easy to setup? | ||
hotel | yeah, until you try to install perl6 | ||
geekosaur | (not an ideal one but works well enough for here. "$(type -p perl)" is better usually for this usage) | 01:25 | |
01:25
yqt left
|
|||
sortiz | The problem is a bad interaction between commits c066434 that removes 'PERL' from Makefile-common-macros.in and today 66883a4 that use it. | 01:26 | |
01:27
molaf joined
|
|||
hotel | oh interesting | 01:28 | |
thanks | |||
grondilu | not sure about enabling developer mode on my PC. I guess I'll stick to cygwin for now. | 01:29 | |
hotel | hasn't made anything of mine explode yet, but that's understandable :) | 01:30 | |
geekosaur | oh, so trying to fix one problem caused another? | ||
siiigh | |||
hotel | lol | 01:31 | |
hm, I'm getting the same error as before with PERL in my environment variable | |||
and this time a bunch more tests were dubious | 01:32 | ||
01:32
ZoffixWin joined
|
|||
grondilu | did you just edit .bashrc without executing it? | 01:33 | |
hotel | no | ||
01:34
zwu left
|
|||
hotel | also closing nano closed the entire terminal so it's for sure been sourced | 01:34 | |
PERL also shows up when I run export too | |||
grondilu | just check $ echo $PERL | ||
hotel | ^^ | ||
although that works as well | |||
01:39
sufrostico left
|
|||
hotel | 'm' | 01:40 | |
grondilu | failed for me as well | 01:41 | |
hotel | bad file descriptor and everything? | 01:42 | |
on the bright side, I've determined that all it takes to get Moar built on WSL is to add some LDFLAGS to the makefile | 01:44 | ||
grondilu | sh: 1: tools/build/create-moar-runner.pl: Permission denied | 01:46 | |
Makefile:545: recipe for target 'm-install' failed | |||
make: *** [m-install] Error 126 | |||
hotel | oh I'm getting something different | ||
gist.github.com/HotelCalifornia/5a...d21bf24420 | 01:47 | ||
geekosaur | that will be the same commit | 01:49 | |
grondilu | oh it works. Turns out I ran PERL=$(which perl) make && make install | 01:50 | |
which means $PERL was only defined for make not for make install | |||
hotel | :< | ||
geekosaur | whoops :) | 01:51 | |
hotel | so what's wrong with my thing then? | 01:53 | |
geekosaur | "bad file descriptor" shouldn't happen. could be you've hit a bug in the emulation environment (stuff unexpectedly closing on you also suggests this, actually) | 01:55 | |
hotel | bleep bloop | 01:57 | |
that's irritating | |||
hoelzro | is that PERL vs PERL5 thing in the Makefile a bug from the revert? | 01:59 | |
sortiz | yep | ||
hoelzro | I'll push a fix | 02:00 | |
sortiz | I made a PR. | ||
hoelzro | oh, I'll just merge that then | ||
geekosaur | I am wondering if you ran the emulator out of file table entries or something, but don't know how you'd check it :/ | 02:01 | |
hoelzro | sortiz++ | ||
sortiz | Just finished the travis testing. :-) | ||
02:02
pierre_ left
|
|||
hotel | wondering if I did what now? | 02:02 | |
geekosaur | I strongly suspect the usual way won't work, but: cat /proc/sys/fs/file-nr | ||
hotel | cat: /proc/sys/fs/file-nr: No such file or directory | ||
geekosaur | well, not so much "you" as "there's a bug in the emulation that leaks entries in the kernel file table, andyou start getting weoird file errors when the tbale fills | ||
was afraid of that :/ | 02:03 | ||
hotel | hm | ||
geekosaur | no idea how you check this in the windows subsystem | ||
hotel | lshw tells me I have 1006MiB of memory when it should be around 16x that; possibly a clue as to how much memory is allocated | ||
geekosaur | right, this is different though. the kernel file table is normally fixed size (you can adjust it by hand on a real linux by changing /proc/sys/fs/file-max) | 02:04 | |
so actual memory available is not relevant because it's allocated once and stays put | 02:05 | ||
02:05
pierre_ joined
|
|||
hotel | I see | 02:05 | |
the only thing is /proc/sys/ is a kernel/ | |||
geekosaur | but, this is an emulation and I have no idea what it's really up to. windows kerrnel is quite possibly providing a limited pool to the emulation, and something might be leaking so that limited pool eventually runs out. or something | 02:06 | |
02:06
pierrot left,
pierrot joined
|
|||
geekosaur | that is, it's not a real linux kernel, it's a thing that acts like one to programs but is actually just translating requests into windows kernel requests | 02:06 | |
hotel | right | ||
reverse-WINE | 02:07 | ||
geekosaur | worse. wine is userspace | ||
you need windows microkernel debugging tools to diagnose this, I suspect. likely they only exist inside microsoft | |||
hotel | oh, that's how I've seen people describe it anyway | ||
guess I'll open an issue then | |||
geekosaur | well, it's a way to think about it. but windows is fundamentally very different in its organization | ||
the only other OS that comes close to it is OS X, which runs a Unix kernel under control of a microkernel. and it's not very close because as much as possible is done inside the guested kernel, instead of having multiple system services running independently under the microkkernel like windows does | 02:08 | ||
hotel | eek | ||
sortiz | hoelzro, thank you! | 02:09 | |
hoelzro | thank *you* for the fix, sortiz! | ||
hotel | for clarification, how do we know the error isn't being caused by core-install-dist? | 02:10 | |
geekosaur | well, we don;'t for certain, but if it;s working (with correct PERL / PERL5) for others then either yours is set to something extremely weird or you are running up against an emulator issue | 02:11 | |
because "bad file descriptor" is not generally a user error | 02:12 | ||
hotel | got it | ||
I'm also seeing people on the internet with this problem when using sockets | |||
geekosaur | (you *can* trigger it, though: something like "cat <&17" in the shell, since it almost certainly isn;t using fd 17) | ||
it's just npot in the usual class of things you'd do with typoes or etc. | 02:13 | ||
the most common cause is something opened a file and didn;t check if it succeeded. beyond that, it's likely to be a ketrnel error --- especially in a brand new emulation subsystem with known bugs | |||
hotel | thanks | ||
geekosaur | especially whenc ombined with things like you reported that you closed namno and your terminal went away | 02:14 | |
which makes me think its stdin fd went missing --- which would in fact be a "bad file descriptor" situation | |||
and absolutely *not* a "normal" one | |||
(you could trigger that failure mode in a different way by setting stdin non-blocking, though. that would be a bug in nano, though, and a rather unlikely one given how widely it's used) | 02:15 | ||
(and I think sufficiently recent bash checks for it and fixes it itself...) | 02:16 | ||
hotel | yeah sometimes (maybe once out of ten uses) nano will close the entire bash when I exit it | ||
geekosaur | hm. yes. i think you've found a bug in the emulator, then | 02:17 | |
and the bad file descriptor is a symptom | |||
live on the bleeding edge, expect to bleed :) | 02:18 | ||
hotel | :^) | ||
alright, guess it's time to wait github.com/Microsoft/BashOnWindows/issues/283 | 02:21 | ||
geekosaur considers trawling that tracker to see if someone already reported it in a different guise... | 02:22 | ||
or even if that's the right place to put it, since strictly speaking not a bash bug | |||
02:23
BenGoldberg left
|
|||
geekosaur | mm, just scanning subject lines there's a couple of things that might be related | 02:24 | |
02:24
BenGoldberg joined,
noganex_ joined
02:25
Herby_ joined
|
|||
hotel | biggest issue so far is that java doesn't work | 02:25 | |
Herby_ | o/ | ||
geekosaur | also just the list of bugs as a gestalt suggests you are indeed testing new technology and finding the bugs the hard way | 02:26 | |
Xliff | Here's a weird one for you guys. | ||
gist.github.com/Xliff/b4c6675c7f3b...db05e8269c | |||
It's been nagging at me, all night. | |||
02:27
noganex left
|
|||
Xliff | Is this some FP weirdness or am I not doing something corretly? | 02:27 | |
hotel | well that's why it's been publicised as a developer tool only | ||
Xliff | s/corretly/correctly/ | ||
geekosaur | isn't 32768.f (float)? | ||
because Num will be (double) | 02:28 | ||
Xliff | geekosaur, yes. | ||
Well ain't that just ducky. How do I get num32? | |||
geekosaur | so you could indeed be seeing problems... because you are only filling 4 byutes of an 8 byte value, the rest are likely tras | ||
h | |||
hotel | p6: $homework.do | 02:30 | |
camelia | rakudo-moar 1c1e06: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileVariable '$homework' is not declaredat /tmp/tmpfile:1------> 3<BOL>7⏏5$homework.do» | ||
Xliff | @buffer0 and @buffer1 are CArray[num32] though. | ||
geekosaur | hm. that's getting deeper into internals than I know, then. could well be that smnething is mishandling num32 somewhere (e.g. assuming it's the same as num or num64) | ||
file a bug, Iguess, at worst it gets rejected and you get told what magic is needed to do the right thing | 02:31 | ||
Xliff | I'll let it percolate, tonight. I've set a reminder to do it tomorrow. | 02:32 | |
I don't want to file a bug if PEBCAK. T'would be embarassingb. | 02:33 | ||
hotel | lol | ||
02:37
rurban joined
|
|||
Xliff | Even if I limit calculation to Int and num32, I am still getting the same numbers. | 02:38 | |
So somewhere it's getting converted to Num by the time it gets back to num32, the damage has been done. | |||
02:43
tardisx left
02:44
BenGoldberg left
|
|||
geekosaur | right, I'd say you are in the file a bug zone | 02:44 | |
Xliff | kk | 02:45 | |
Like I said. I will let it percolate tonight and bug it fresh, tomorrow. | |||
02:45
BenGoldberg joined
|
|||
hotel | one day I'll start learning perl6 for real | 02:45 | |
02:45
kid51 left
|
|||
Xliff | Only thing I can think of is that in the c code, the input buffer is signed char. P6 input defaults to Blobs which is unsigned, right? | 02:53 | |
sortiz | Xliff, you can use signed Blob/Buf: try with Buf[int8] | 02:55 | |
Xliff | sortiz: How do I get IO::Handle::read() to return that? | 02:56 | |
Or should I just ==? "my Blob[int8] $readdata = $fh.read($bytes)" | |||
Xliff tries. | |||
02:58
dwarring joined
|
|||
Xliff | HOLY SHIZZLE! | 02:58 | |
my Blob[int8] $readbuff = Blob[int8].new($fh.read(READ * 4)); | |||
Still getting numeric artifacts, but the C-lib doesn't care now. | 02:59 | ||
It's happy with the bloody values and my conversion worked. | |||
sortiz++! | |||
sortiz | Xliff, Certainly there are some known bugs with native types. :-) | ||
Xliff | YAY! Now bed. | ||
Yes. I will still come at this fresh, tomorrow. I may bug it as a warning, JIC. | 03:00 | ||
This translit code looks WAY too much like its original. | |||
Will need to optimize now that it's operation has been verified. | |||
committed and pushed. | 03:04 | ||
Xliff dies. | |||
03:04
Xliff is now known as Xliff_ZZzzzz
03:05
Khisanth left
|
|||
geekosaur | that's a common issue with code that crosses language boundaries... even Haskell FFI code manages to look a lot like C >.> | 03:05 | |
03:07
Khisanth joined
|
|||
sortiz | perl6/doc build is now clean. | 03:09 | |
03:11
pierre_ left,
rurban left
|
|||
hotel | what's the nick++ thing? | 03:12 | |
Herby_ | nick + 1 | 03:14 | |
:) | |||
hotel | well yeah | ||
significance? | |||
geekosaur | "karma" | 03:15 | |
hm. which is the karma bot currently? | |||
.karma sortiz | 03:16 | ||
hotel | I've been away from IRC for too long | ||
03:16
hotel is now known as hotel|netteiru
|
|||
geekosaur | not yoleaux I guess | 03:16 | |
hotel|netteiru | night | ||
Herby_ | \o | ||
03:17
Herby_ left,
pecastro_ joined
03:19
winger__ joined
03:20
hotel|netteiru left
|
|||
MadcapJake | geekosaur: no karma bot anymore, i've been told | 03:22 | |
TEttinger | karma-- | ||
03:22
pierre_ joined,
winger_ left
03:23
winger__ left
03:24
winger__ joined
03:26
pecastro_ left
|
|||
Xliff_ZZzzzz | Yeah. These gists are getting to be fun... especially when I can solve them! =) | 03:30 | |
gist.github.com/Xliff/b4c6675c7f3b...db05e8269c | |||
There was a karma bot, but now it's gone. But the idiom still remains. | 03:31 | ||
Basically (nick++) translates to "Good job (nick)" | |||
03:33
winger__ left,
winger__ joined
|
|||
ugexe | MadcapJake: zef does have `nuke`, on its own config directories and on CUR short names. so to delete all modules would typically be `zef nuke site home` | 03:37 | |
MadcapJake | oh nice! someone was having troubles with merge_globals and mismatched versions of JSON::Fast | 03:39 | |
03:39
winger_ joined
|
|||
MadcapJake | ugexe: I've started chipping away at full custom CUR support in Rakudo, did you read through my discussion with nine_ the other day? | 03:40 | |
03:40
adu joined
|
|||
ugexe | yeah, but ive been driving across the country so i havent got to dig in to it yet | 03:41 | |
i may be working in wisconsin soon though | |||
ugexe thought he recalls you are located in wisconsin | 03:42 | ||
MadcapJake | haha! yes I am! | ||
03:42
winger__ left
|
|||
MadcapJake | where will you be in Wisconsin? | 03:43 | |
ugexe | the milwaukee area | 03:44 | |
MadcapJake | nice! milwaukee is cool, I live 5 hours from milwaukee though :\ | 03:45 | |
but my family lives an hour west of the area and my sister lives there | 03:46 | ||
ugexe | i didnt know there was anything even on the west side of the state heh | 03:48 | |
oh duh, ive heard of eau claire | 03:50 | ||
MadcapJake | yep that's where I live :) | 03:51 | |
it's really close to Minneapolis/St. Paul and is a nice mix of decent-sized city and small-town feel that I think is good for my son to grow up in. | 03:52 | ||
ugexe | i prefer those too | 03:54 | |
but for parking purposes | 03:55 | ||
03:55
hotel|netteiru joined
03:57
BenGoldberg left,
adu left
03:59
BenGoldberg joined
|
|||
MadcapJake | xD parking is rarely a concern here that's for sure! | 04:01 | |
04:08
xinming_ is now known as xinming
04:21
tardisx joined
04:23
snarkyboojum joined,
snarkyboojum left
04:26
Cabanossi left
04:30
Cabanossi joined
04:41
Xliff_ZZzzzz left,
Xliff_ZZzzzz joined,
khw left
04:42
pierre_ left
04:49
tardisx left
04:51
tardisx joined
04:55
BenGoldberg left
04:56
BenGoldberg joined
05:00
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
05:11
skids left,
sno left
05:12
BenGoldberg left
05:13
BenGoldberg joined
05:27
_mg_ joined
05:31
BenGoldberg left
05:45
domidumont joined
05:46
tardisx left
05:48
tardisx joined
05:49
domidumont left
05:50
domidumont joined
05:51
grassass joined
06:02
domidumont left
06:06
CIAvash joined
06:09
dolmen joined
06:12
pierre_ joined
06:15
jjido joined
06:16
domidumont joined
06:17
sno joined
06:19
hotel joined
06:20
hotel|netteiru left
06:30
Actualeyes left,
Actualeyes joined,
vendethiel- left
06:35
rindolf joined
06:36
tomboy64 left,
firstdayonthejob joined
06:38
tomboy64 joined
06:43
rurban joined
06:47
TimToady left
06:49
TimToady joined
06:54
TimToady left
06:57
jjido left,
ufobat joined
|
|||
ufobat | good morning! | 06:58 | |
07:00
TimToady joined
|
|||
sortiz | \o ufobat | 07:01 | |
07:03
atroxaper joined
|
|||
masak | morning, #perl6! | 07:09 | |
Perl 6 day! \o/ | |||
moritz | \o masak, ufobat, sortiz, ugexe, MadcapJake, * | ||
07:09
rurban left
|
|||
moritz | masak: I guess you'll like this one: www.smbc-comics.com/index.php?id=4092 | 07:09 | |
masak | moritz: awww :/ | 07:13 | |
07:16
zakharyas joined,
RabidGravy joined
|
|||
ufobat | I am wondering why the HTTP::Server::Tiny has this name, it's not that tiny | 07:27 | |
well okay, 500 lines of code, but cool! | 07:28 | ||
moritz | I guess it started out tiny | ||
fwiw I've recently discovered the Talk Nerdy podcast: carasantamaria.com/podcast/ | 07:29 | ||
07:29
tardisx left
|
|||
moritz | many of the guests are science communicators and scientists, some atheists and sceptics interspersed | 07:29 | |
07:30
leont joined
|
|||
moritz likes it | 07:31 | ||
07:32
RabidGravy left
|
|||
masak | :) | 07:32 | |
07:32
RabidGravy joined
|
|||
RabidGravy | moo | 07:35 | |
sortiz | Today I made a bitter discovery: Inside a method body, a sub declaration is recompiled every time the method is called even if it doesn't attempt to "capture" anything, is that expected or a bug? | ||
masak | sortiz: not recompiled, surely. | 07:36 | |
sortiz: rebound, yes. | |||
ufobat | masak, any news about your SSE in nex? :) i am curious about your experiences with HTTP::Server::Tiny? | ||
masak | sortiz: and while I don't know the answer to your question (now how to find out), I can easily imagine that's so. | ||
RabidGravy | I have quite a few places where I put subs inside methods just to make the code neater | 07:37 | |
masak | sortiz: maybe that's an optimization the good folks who optimize haven't gotten to. | ||
ufobat | yesterday night i realized that HTTP::Server::easy is not handling binary data in http requests :( | ||
masak | sortiz: maybe it's hard for some reason ;) | ||
ufobat: so far very positive experiences. | |||
07:37
domidumont left
|
|||
masak | ufobat: I've gotten a few segfaults on the way, but hey, I can haz SSE now :D | 07:37 | |
ufobat | i am happy to hear that :) | 07:38 | |
segfaults?! what happend? | |||
RabidGravy | fwiw I'm certain HTTP::Server::Tiny does support binary content | ||
07:38
tardisx joined
07:39
tardisx left
|
|||
sortiz | masak, I DBIish have many native subs declared inside methods, to be neater, but a profile shows me that every time the method is called the 'is native' trait of the sub is reinvoked, so all the setup dance is re-executed. | 07:39 | |
In* | 07:40 | ||
RabidGravy | I actually implemented a streaming server using it, but found another problem so made my own spectial server software | ||
masak | sortiz: huh. | ||
07:40
dolmen left
|
|||
masak | sortiz: that does sound odd. | 07:40 | |
07:40
darutoko joined,
tardisx joined
|
|||
ufobat | RabidGravy, yeah i think so too. I read the code and i think it should work | 07:40 | |
sortiz | Yep, I have the profiler results to prove it. | 07:41 | |
ufobat | my next step on bailador is to return a $app so it can easily run on different servers or with Crust | ||
RabidGravy | cool | 07:42 | |
ufobat | and theeeeeen, i can upload pictures ;D woho | ||
masak | m: multi sub trait_mod:<is>(Routine $r, Str :$yeshello!) { say "triggered" }; sub foo() is yeshello<OHHAI> {} | 07:43 | |
camelia | rakudo-moar 1c1e06: OUTPUT«triggered» | ||
07:43
domm is now known as domm_
|
|||
RabidGravy | I'm very much in favour of a mix and match approach to this space rather than there being a single monolithic framework that everyone has to use or risk being uncool | 07:43 | |
masak | m: multi sub trait_mod:<is>(Routine $r, Str :$yeshello!) { say "triggered" }; class C { method meh { sub foo() is yeshello<OHHAI> {} } }; C.new.meh | ||
camelia | rakudo-moar 1c1e06: OUTPUT«triggered» | ||
masak | m: multi sub trait_mod:<is>(Routine $r, Str :$yeshello!) { say "triggered" }; class C { method meh { sub foo() is yeshello<OHHAI> {} } }; C.new.meh; C.new.meh | ||
camelia | rakudo-moar 1c1e06: OUTPUT«triggered» | ||
masak | sortiz: look at the above. discuss :) | 07:44 | |
ufobat | RabidGravy, the only thing i am not liking right now is how the PSGI for perl6 has evolved and not being implemented throughout the http servers or | 07:46 | |
for example %env variables names had changed twice | |||
sortiz | Hum... will golf my problem... | ||
masak | ufobat: I can sort of sense that when I'm working with Bailador and HTTP::Server::Tiny :) | 07:47 | |
RabidGravy | yeah, really someone needs to pick something that is the "reference" module and everything else follows that | 07:48 | |
ufobat | psgi draft 0.7 is stable or not being touched since 7 months i think... | 07:49 | |
07:49
domm joined
|
|||
ufobat | some modules follow 0.4 some try to implement all/some versions.. and that results in quite a lot code that's useless | 07:50 | |
07:52
Amnez777 left
|
|||
ufobat | well, how would life be when nothing is left to do :) | 07:52 | |
masak | relaxing? :P | 07:53 | |
ufobat | mhm, we are both parents... | 07:55 | |
07:57
jack_rabbit joined
|
|||
sortiz | m: role Foo[Routine $r] { has int $!setup; method CALL-ME { say "applied to ",$r.^name unless $!setup; $!setup = 1 }}; multi sub trait_mod:<is>(Routine $r, :$foo!) { $r does Foo[$r] }; class Bar { method baz { sub meh is foo {}; meh(); }}; my $b = Bar.new; $b.baz; $b.baz; # See $!setup | 08:02 | |
camelia | rakudo-moar 1c1e06: OUTPUT«applied to Sub+{Foo[Sub]}applied to Sub+{Foo[Sub]}» | ||
sortiz | That mimic the 'is native' path. So, or the role is applied more than one time or $!setup miss its value. | 08:05 | |
08:05
dakkar joined
|
|||
sortiz | The bright side is that now DBDish::Pg is 35x faster. :-) | 08:09 | |
08:09
tomboy65 joined
08:10
tomboy64 left
08:17
tomboy65 left,
wamba joined
|
|||
masak | sortiz: "of course" that one has to run twice -- you're concretizing the role twice at runtime | 08:18 | |
RabidGravy | sortiz, that's right though - the CALL-ME *is* the sub | 08:19 | |
oh wait I see now | |||
masak | it's the Foo[$r] that gets "instantiated" twice | ||
to essentially two distinct concrete roles | |||
masak should perhaps say "concretized" instead of the overused "instantiated" | 08:20 | ||
DrForr | laminated :) | 08:21 | |
RabidGravy | ufobat, maybe the thing to do is to add a set of tests to the psgi module (or some module that implements tests) that check compliance with the latest version and then add that as dependency to all the offending containers | 08:24 | |
sortiz | I was expecting that as soon as the Routine meh was composed with Foo, its $!setup attr was unique, so after the first CALL-ME, that set $!setup = 1, all the following calls see $!setup True and bypass the setup, Well that what 'is native' expects now. | 08:25 | |
RabidGravy | ye olde lexical scope | 08:26 | |
08:28
tomboy65 joined
|
|||
dalek | Iish: 8b6ebd7 | (Salvador Ortiz)++ | lib/DBDish/ (4 files): Pg: Move native subs outside it methods That avoids needless !setup passes inside Native role bazzaar++ for the report that trigger that hunt. |
08:29 | |
masak | sortiz: | 08:30 | |
m: role R[Routine $r] { has $!setup; method CALL-ME { say "applied" unless $!setup++ } }; { sub foo { say "foo" }; &foo does R[&foo]; foo() } | |||
camelia | rakudo-moar 1c1e06: OUTPUT«applied» | ||
masak | m: role R[Routine $r] { has $!setup; method CALL-ME { say "applied" unless $!setup++ } }; for ^2 { sub foo { say "foo" }; &foo does R[&foo]; foo() } | ||
camelia | rakudo-moar 1c1e06: OUTPUT«appliedapplied» | ||
masak | sortiz: nothing to do with methods. | ||
sortiz | Yes. Seems scope related. | 08:31 | |
masak | m: role R[Routine $r] { say "role" }; for ^2 { sub foo { say "foo" }; &foo does R[&foo]; foo() } | 08:32 | |
camelia | rakudo-moar 1c1e06: OUTPUT«rolefoorolefoo» | ||
masak | an even simpler example. | ||
does the above behavior make sense to you? | 08:33 | ||
08:33
domidumont joined
|
|||
sortiz | If foo was a closure yes. For that foo nop, sorry. | 08:33 | |
masak | nothing much to do with routines, either | 08:35 | |
m: role R[$z] { has $!setup = "newly concretized role"; method x { say $!setup; $!setup = "seen this old role before" } }; for ^2 { my $z = 1; $z does R[$z]; $z.x } | |||
camelia | rakudo-moar 1c1e06: OUTPUT«newly concretized rolenewly concretized role» | ||
masak | it's just the fact that `does` runs every time. it's a runtime thing | ||
don't even need that role parameter, apparently | |||
m: role R { has $!setup = "newly concretized role"; method x { say $!setup; $!setup = "seen this old role before" } }; for ^2 { my $z = 1; $z does R; $z.x } | |||
camelia | rakudo-moar 1c1e06: OUTPUT«newly concretized rolenewly concretized role» | ||
sortiz | But a does inside a trait, that is applied at compile time, don't make much sense. | 08:36 | |
08:36
shmibs is now known as Hansel_Moe
|
|||
masak | it's one of those "runtime inside of compile time" things | 08:37 | |
RabidGravy | but it's bound into the lexical scope at runtime | ||
08:37
Hansel_Moe is now known as shmibs
|
|||
masak | sortiz: maybe you just don't want $!setup to be scoped the way it is? | 08:37 | |
sortiz: would it work for you if you made it a global outside of the role? | |||
08:39
leont left
|
|||
sortiz | Well, that the logic inside the 'is native' machinery that seems affected, that code made me expect otherwise. Now I be fully aware. :-) | 08:39 | |
masak | basically, *each* time `does R` happens, the role gets concretized. and you get fresh attributes, etc | 08:40 | |
sortiz | Yep, now i know, but see: github.com/rakudo/rakudo/blob/nom/...#L266-L290 | 08:42 | |
08:43
cdg joined
|
|||
sortiz | That !setup is heavy weight. | 08:43 | |
08:43
[TuxCM] joined,
pecastro left
|
|||
masak | sortiz: maybe you can keep a global hash with seen Routines? | 08:44 | |
08:44
Actualeyes left
08:45
tomboy65 left
|
|||
sortiz | I'm working in a Native libs/calls revamp. DBIish has taught me a lot :-) | 08:46 | |
masak | :) | 08:47 | |
08:48
tomboy65 joined
|
|||
RabidGravy | make all the things faster | 08:48 | |
masak .oO( and soon! ) | |||
08:50
atroxaper left
08:53
atroxaper joined
|
|||
RabidGravy | for reference with NC doing portaudio -> mp3 encode -> libshout is "only fast enough under controlled circumstances" | 08:56 | |
that is there aren't enough free cycles to deal with e.g. garbage collection and recover from that | 08:57 | ||
08:57
tomboy65 left
|
|||
RabidGravy | and it only works with very high latency settings in the audio sub-system | 08:57 | |
08:58
tomboy65 joined
|
|||
RabidGravy | though to be fair it has improved over the last say nine months that doing similar but reading from a WAV file using sndfile can now do 320kbps rather than 128k when I first made the modules | 09:00 | |
ufobat | RabidGravy, i think its to hard to build something generic. middlewars vs servers vs webframeworks. they are all working so differently | 09:01 | |
09:02
Actualeyes joined
|
|||
RabidGravy | right but the psgi specification only defines servers and middleware so it's just make tests for those | 09:02 | |
a web framework abstracts away those underlying things | 09:03 | ||
09:05
tardisx left
|
|||
RabidGravy | so the test for the server would be an "app" callable (or more probably more than one) and a thingy that makes requests with the app on the server and check it gets what is expected | 09:06 | |
I'd make an example but I don't have a pony in this race so I'll leave it to others | 09:08 | ||
:) | |||
(dog in the fight/skin in the game) | |||
sortiz | Has been a long day, I'm going to bed o/ | ||
RabidGravy | gosh after only two hours, harsh ;-) | 09:09 | |
09:11
TeamBlast joined
09:13
[particle] left
09:16
[particle] joined,
domidumont1 joined
09:17
TEttinger left
09:18
domidumont left
|
|||
ufobat | RabidGravy, ack! and the same applies to middlewars! | 09:20 | |
masak | "middleware", surely? | 09:21 | |
masak .oO( unless the Man in the Middle has turned belligerent of late ) | |||
ufobat | ;) who knows! | ||
RabidGravy | very possibly | 09:22 | |
ufobat | .oO( omg my english is so bad ) |
||
RabidGravy | so is mine and I took a degree in the subject ;-) | ||
09:23
pierre_ left
|
|||
RabidGravy | right let's hack together this modules snapshot thingy | 09:24 | |
09:24
Amnez777 joined
09:25
pierre_ joined
|
|||
RabidGravy | BTW sortiz++ rakudo build works again :) | 09:29 | |
09:31
domidumont joined
09:34
domidumont1 left
|
|||
jdv79 | RabidGravy: you majored in eng? | 09:34 | |
RabidGravy | english literature yep | ||
jdv79 | nice | 09:35 | |
sortiz | RabidGravy++ # Spot the problem in first place. | ||
09:36
pierre_ left
09:37
pierre_ joined
09:39
pierre_ left
|
|||
RabidGravy | Oooh when did JSON::Fast do "pretty" ? | 09:39 | |
Hmm, how come CORE gets a Distribution? and is there any way of distinguish it (and possible other similar things) from "normal" modules? | 09:42 | ||
09:44
pierre_ joined
|
|||
dalek | Iish: c08c08d | (Salvador Ortiz)++ | / (2 files): Pg: Fix Arrays handling vs optimized NULL |
09:46 | |
09:48
domidumont1 joined
09:49
domidumont left
09:57
atroxaper left
10:04
ufobat left
10:09
[particle] left,
[particle] joined
|
|||
RabidGravy | Ah. got it | 10:17 | |
CORE contains Test and the NativeCall stuff | |||
psch | m: use NativeCall; say CORE::NativeCall | 10:18 | |
camelia | rakudo-moar 1c1e06: OUTPUT«Nil» | ||
10:18
pierre_ left
|
|||
psch | RabidGravy: i think we're calling Test and NativeCall standard modules, not core modules | 10:18 | |
10:19
domidumont1 left
|
|||
psch | but then i don't know if that applies to the CUR stuff in a technical sense | 10:19 | |
m: say CORE::Test | |||
camelia | rakudo-moar 1c1e06: OUTPUT«Nil» | ||
psch | in any case, they're not actually in CORE it seems | ||
RabidGravy | Well that's as may be but that's what the Distribution that contains them is called ;-p | 10:20 | |
Distribution.new(name => "CORE", auth => "perl", author => Any, authority => Any, api => Any, ver => "6.c", version => Any, description => Any, depends => [[],], provides => {:NativeCall(${:pm(${:cver("2016.04-36-gce5dc00") | |||
psch | hrm | ||
that's a bit unfortunate | |||
i assume renaming that now makes upgrading somewhat painful | 10:21 | ||
RabidGravy | presumably it's in a "special" repo | 10:22 | |
RabidGravy looks | |||
10:24
kid51 joined
|
|||
psch | this doc PR had the discussion github.com/perl6/doc/pull/452 | 10:24 | |
RabidGravy | yeah I remember it | 10:25 | |
but for the time being I'm going to sweep that one under the carpet as I have enough to ignore it for the time being (assuming the auth doesn't get changed) | 10:28 | ||
the name is only seeable if you actually explicitly traverse the distributions (which is what I am doing) | 10:29 | ||
psch | yeah, i don't think it's a pressing issue | ||
it could be misleading is all | |||
RabidGravy | yeah, though as a distribution name it's probably better than most alternatives for the reason that someone is less likely to actually create a module called that | 10:30 | |
(though the name doesn't matter as far as I can see, only the names in the "provides") | 10:31 | ||
psch | that's what i'd assume, i mostly don't want people exploring, finding a CORE distribution and talking about it with that name only to be corrected that that's not really what it should be called... | 10:34 | |
but i have no idea how the name plays into upgrading or not, so i'm not gonna touch it either... :) | |||
especially 'cause i don't really *do* upgrading, i mostly just have $rakudo-repo/install anyway | 10:35 | ||
RabidGravy | well, I guess the worst that would happen is that it wouldn't go away when upgrading | 10:37 | |
psch | hm, that could potentially break on Test or NC imports with a version..? | ||
RabidGravy | well the ver is just '6.c' anyway | 10:38 | |
10:39
sortiz left
|
|||
RabidGravy | so it's would always get the one with the matching compiler version | 10:39 | |
psch | m: use Test:ver(v6.c) | ||
camelia | ( no output ) | ||
psch | but that would keep working on a v6.d+ compiler that replaced the CORE name with Standard, no? | 10:40 | |
and in the case of NC i could see that introducing hard-to-understand bugs | |||
well, assuming CORE sticks around during upgrade that introduces Standard instead | |||
RabidGravy | I think the safest thing would be to twat that repo prior to installation (assuming nothing else uses it) | 10:41 | |
ZoffixWin muffles at laugh at that verb choice | 10:42 | ||
RabidGravy | like a hard "rm -rf $PREFIX/share/perl | ||
ZoffixWin, it's overloaded in en_GB ;-) | 10:43 | ||
anyway supermarket, then snapshot thing | 10:44 | ||
toodles | |||
ZoffixWin | \o | ||
10:47
pmurias joined,
ilbot3 left
|
|||
timotimo | grondilu: SDL is famous for running on anything anywhere. it's got a windows port and i'm pretty sure it'll also run on a raspberry pi. | 10:48 | |
10:56
kaare_ joined
|
|||
grondilu | I don't have a screen for my Pi and I've never used Perl 6 on windows. But someday I'll give it a try. | 10:58 | |
grondilu actually tries *now* | 11:00 | ||
grondilu clones rakudo on cygwin | 11:01 | ||
anybody knows what packages I need for a Cygwin install? I will find out by trial and error, but if someone can make it simpler... | 11:02 | ||
timotimo | isn't cygwin the one that won't work for sure? | ||
i mean: we're sure it won't work | 11:03 | ||
grondilu | oh is it? | ||
timotimo | i forget | ||
i don't has windows | |||
bbiab | |||
_nadim | grondilu: fire a vm image with linux, so much easier then | 11:05 | |
dalek | c: aace8d3 | (Tom Browder)++ | doc/Language/terms.pod: correct spelling; add closing comma for use of 'i.e.' which is a parenthetical phrase |
||
c: 03fdaf2 | (Tom Browder)++ | doc/Language/terms.pod: Merge pull request #472 from tbrowder/master correct spelling; add closing comma for use of 'i.e.' which is a pare… |
|||
11:06
pierre_ joined,
cdg left
|
|||
jnthn | grondilu: It works out fine on native windows. libuv doesn't support cygwin, so you can't do a Rakudo/Moar build there. | 11:07 | |
timotimo | mhhh, fresh kernel | 11:08 | |
11:09
cdg_ joined
|
|||
grondilu | _nadim: tell me more. Which vm do you recommend? QEmu? | 11:09 | |
timotimo | qemu runs on windows? o_O | 11:10 | |
11:12
rurban joined
|
|||
grondilu | I don't know. But a quick search suggests me of VirtualBox. I'll give this a try. | 11:12 | |
jnthn: I'm not sure how to use Perl 6 on windows without a proper shell. | 11:13 | ||
moritz | kvm! | ||
jnthn | grondilu: Turns out cmd.exe is more than proper enough to build a Rakudo :) | 11:14 | |
11:14
cdg_ left
|
|||
jnthn | grondilu: I'm pretty sure once it's in your path you can use it from cygwin. | 11:14 | |
grondilu | :/ | ||
11:14
tbrowder joined
|
|||
grondilu | I know so little about Windows I don't know where to set up my PATH | 11:14 | |
timotimo | i know where, but i can't describe it | 11:15 | |
i think you right click on "my computer" and then "properties"? | |||
jnthn | Yeah, then it's in "Advanced System Settings" :) | ||
grondilu | well that's dumb. | ||
I knew I would have to click on stuff :rolleyes: | 11:16 | ||
_nadim | well, you wanted to run in cygwin! | 11:17 | |
jnthn | That's probably to avoid having to click on stuff :P | ||
grondilu | I once tried to install rakudo* and use cmd, but it did not find it so I thought I would have to setup PATH and I did not know how to so I shrug and gave up. | ||
grondilu installed VirtualBox and now downloads a debian liveCD | 11:29 | ||
abraxxa | KVM > VirtualBox | 11:30 | |
grondilu | KVM does not run on windows, does it? | ||
11:34
pierre_ left
|
|||
El_Che | grondilu: I think it does | 11:35 | |
(I used to run RHEV, built on ovm with a kvm backend and it ran windows as well) | 11:36 | ||
11:38
domidumont joined
11:39
wamba left
|
|||
awwaiid | run on vs can run | 11:39 | |
El_Che | it was officialy support (paid support contract) | 11:40 | |
awwaiid | kvm can run windows (windows vm guest), but cannot run on windows (windows host) | ||
El_Che | ah ok | ||
11:44
kid51 left
11:46
[ptc] joined
|
|||
grondilu | m: role A[$n] {}; say A[13].new; | 11:52 | |
camelia | rakudo-moar 552bf5: OUTPUT«A[Int].new» | ||
grondilu | I kind of have wanted this to show "A[13].new" instead. | ||
m: role A[$n] {}; dd A[13].new; | 11:53 | ||
camelia | rakudo-moar 552bf5: OUTPUT«A[Int].new» | ||
grondilu | m: role A[$n] {}; say A[13].new ~~ A[14]; | ||
camelia | rakudo-moar 552bf5: OUTPUT«False» | ||
grondilu | m: role A[$n] {}; say A[13].new ~~ A[13]; | ||
camelia | rakudo-moar 552bf5: OUTPUT«True» | ||
12:00
richi235 joined
12:02
ilbot3 joined,
pierre_ joined
12:04
CIAvash left
12:08
pierre_ left
12:13
hankache joined
|
|||
hankache | m: say IO.^methods; | 12:13 | |
camelia | rakudo-moar e81342: OUTPUT«(umask)» | ||
hankache | is it normal that I can't use .^methods on a role? | 12:14 | |
psch | m: role R { method foo { } }; say R.^methods | ||
camelia | rakudo-moar e81342: OUTPUT«(foo)» | ||
psch | hankache: well, you can, but it gets punned | ||
hankache | psch how do you pun a builtin role? | 12:16 | |
psch | hankache: punning is just treating a role as a class | ||
hankache: what are you trying to do? | |||
hankache | say IO.^methods | 12:17 | |
m: say IO.^methods; | |||
camelia | rakudo-moar e81342: OUTPUT«(umask)» | ||
psch | github.com/rakudo/rakudo/blob/nom/...core/IO.pm | ||
IO has exactly that one method | |||
12:20
jameslenz left
|
|||
hankache | where are these coming from: | 12:20 | |
doc.perl6.org/type/IO | |||
timotimo | i suppose those subs are subs that are defined to take arguments that do IO | 12:21 | |
no, actually | |||
raw.githubusercontent.com/perl6/do...ype/IO.pod | |||
psch | hm, that doc page does seem somewhat confusing | 12:22 | |
timotimo | ugh, the pirate treasure example has mixed spaces and tabs | ||
that causes the renderer to turn every line into its own code block | |||
hankache | psch this is what got me confused | 12:23 | |
timotimo | i've got to run errands, someone fix that page pls? :D | ||
psch | would probably fit better as a language/IO instead of type/IO document... | ||
ah, we have that too | 12:24 | ||
dalek | c: 824d9e4 | moritz++ | doc/Type/IO.pod: Tabs are evil, let's go space! |
12:25 | |
hankache | timotimo :) | ||
psch | moritz++ | ||
moritz | easy karma :-) | ||
hankache | moritz++ | 12:26 | |
12:34
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
12:35
hankache left
12:38
rurban left
12:41
crime joined
12:49
pierre_ joined
|
|||
grondilu is now typing from a tmux session attached from a ssh session to his raspberry Pi from a debian VM running on his Windows 10 PC. What a mindf*ck. | 12:50 | ||
12:52
dolmen joined,
sufrostico joined
12:53
[TuxCM] left
|
|||
moritz | grondilu: you should add a level of Docker in there, just for the sake of completeness | 12:53 | |
sjn | grondilu: mosh ftw | 12:57 | |
12:57
maybekoo2 left
|
|||
sjn | and ssh ProxyCommand tunnels | 12:57 | |
13:00
ufobat joined,
Sgeo left
13:04
sufrostico left
|
|||
grondilu | jeez go figure. Compiling rakudo is almost ten times faster on the VM than on the Pi! | 13:07 | |
moritz | I'm not surprised | 13:08 | |
the Pi doesn't have a fast CPU | |||
grondilu | but not a ten times slower CPU! | ||
moritz | well, memory caches, memory size, memory bus speed etc all play a role | 13:10 | |
13:11
maybekoo2 joined
13:14
sufrostico joined
13:15
Amnez777 left
|
|||
RabidGravy | yeah, the memory constraint on the RPi is a big factor | 13:15 | |
timotimo | .o( what a minfduck ) | 13:16 | |
13:16
Amnez777 joined
13:17
ufobat left
13:20
skids joined
|
|||
ugexe | try compiling rj on rpi | 13:22 | |
pack a lunch first | |||
jnthn | Also, no JIT yet on ARM | ||
But yeah, lower memory bandwidth and smaller cache will be a killer | 13:23 | ||
timotimo | yeah, we've tuned moar's nursery to be a cache size big | ||
if your cache is only half that, or even smaller ... nursery collections will be much more expensive | 13:24 | ||
ugexe | grondilu: if by chance you have windows 10 pro then you already have Hyper-V | 13:25 | |
13:25
|Tux| left
|
|||
gfldex | m: enum Bits ( ('Bit-' xx * Z~ 1..8) Z=> (1, 2, 4 ... 256) ); dd Bits.enums; | 13:26 | |
camelia | rakudo-moar 3cab7c: OUTPUT«{"Bit-1\t1" => 0, "Bit-2\t2" => 1, "Bit-3\t4" => 2, "Bit-4\t8" => 3, "Bit-5\t16" => 4, "Bit-6\t32" => 5, "Bit-7\t64" => 6, "Bit-8\t128" => 7}» | ||
gfldex | where does '\t1' come from? | ||
timotimo | instead of xx * Z, why not try X | ||
13:26
|Tux| joined
|
|||
timotimo | it's stringifying the Pair object | 13:26 | |
gfldex | m: enum Bits ( ('Bit-' X 1..8) Z=> (1, 2, 4 ... 256) ); dd Bits.enums; | ||
camelia | rakudo-moar 3cab7c: OUTPUT«{"Bit- 1\t1" => 0, "Bit- 2\t2" => 1, "Bit- 3\t4" => 2, "Bit- 4\t8" => 3, "Bit- 5\t16" => 4, "Bit- 6\t32" => 5, "Bit- 7\t64" => 6, "Bit- 8\t128" => 7}» | ||
gfldex | X makes it worse :) | 13:27 | |
timotimo | well, of course | ||
you forgot to add the ~ back after the X | |||
gfldex | m: enum Bits ( ('Bit-' X~ 1..8) Z=> (1, 2, 4 ... 256) ); dd Bits.enums; | ||
camelia | rakudo-moar 3cab7c: OUTPUT«{"Bit-1\t1" => 0, "Bit-2\t2" => 1, "Bit-3\t4" => 2, "Bit-4\t8" => 3, "Bit-5\t16" => 4, "Bit-6\t32" => 5, "Bit-7\t64" => 6, "Bit-8\t128" => 7}» | ||
timotimo | m: enum Bits ( ('Bit-' X~ 1..8) Z (1, 2, 4 ... 256) ); dd Bits.enums | ||
camelia | rakudo-moar 3cab7c: OUTPUT«WARNINGS for /tmp/kBQqasF29y:Useless use of "Z" in expression "('Bit-' X~ 1..8) Z (1, 2, 4 ... 256)" in sink context (line 1){"Bit-1 1" => 0, "Bit-2 2" => 1, "Bit-3 4" => 2, "Bit-4 8" => 3, "Bit-5 16" => 4, "Bit-6 32" => 5, "Bit-7 64" => 6, "Bit-8 12…» | ||
timotimo | m: enum Bits ( ('Bit-' X~ 1..8) Z=> (1, 2, 4 ... 256) ); dd Bits.enums | 13:28 | |
camelia | rakudo-moar 3cab7c: OUTPUT«{"Bit-1\t1" => 0, "Bit-2\t2" => 1, "Bit-3\t4" => 2, "Bit-4\t8" => 3, "Bit-5\t16" => 4, "Bit-6\t32" => 5, "Bit-7\t64" => 6, "Bit-8\t128" => 7}» | ||
timotimo | that's interesting | ||
m: enum Bits %( ('Bit-' X~ 1..8) Z=> (1, 2, 4 ... 256) ); dd Bits.enums | |||
camelia | rakudo-moar 3cab7c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kOeZ4_ULIRUndeclared name: Bits used at line 1Undeclared routine: enum used at line 1» | ||
gfldex | m: enum Bits ( %(('Bit-' X~ 1..8) Z=> (1, 2, 4 ... 256)) ); dd Bits.enums; | ||
camelia | rakudo-moar 3cab7c: OUTPUT«{"Bit-1\t1" => 4, "Bit-2\t2" => 0, "Bit-3\t4" => 6, "Bit-4\t8" => 7, "Bit-5\t16" => 2, "Bit-6\t32" => 1, "Bit-7\t64" => 5, "Bit-8\t128" => 3}» | ||
timotimo | it's clearly not taking the numbers into the enum at all | ||
dalek | osystem: 90ab26b | yowcow++ | META.list: Add Algorithm::BloomFilter to ecosystem See github.com/yowcow/p6-Algorithm-BloomFilter |
13:29 | |
osystem: ff8c68d | RabidGravy++ | META.list: Merge pull request #199 from yowcow/add-algorithm-bloomfilter Add Algorithm::BloomFilter to ecosystem |
|||
gfldex | should the declarator enum take complex expressions as a parameter? (read: is this a bug?) | 13:30 | |
m: my $thing = ( ('Bit-' X~ 1..8) Z=> (1, 2, 4 ... 256) ); dd $thing; | |||
camelia | rakudo-moar 3cab7c: OUTPUT«Seq $thing = ("Bit-1" => 1, "Bit-2" => 2, "Bit-3" => 4, "Bit-4" => 8, "Bit-5" => 16, "Bit-6" => 32, "Bit-7" => 64, "Bit-8" => 128).Seq» | ||
timotimo | i think it'd be very nice if it did | 13:31 | |
maybe you can get it via a constant? | |||
github.com/timo/SDL2_raw-p6/blob/m...aw.pm#L505 - i don't think i was able to turn this into an enum, so i kept it a hash | 13:32 | ||
13:32
cdg joined
|
|||
gfldex | m: constant thing = ('Bit-' X~ 1..8) Z=> (1, 2, 4 ... 256); my enum Bits ( thing ); dd Bits.enums; | 13:32 | |
camelia | rakudo-moar 3cab7c: OUTPUT«{"Bit-1\t1 Bit-2\t2 Bit-3\t4 Bit-4\t8 Bit-5\t16 Bit-6\t32 Bit-7\t64 Bit-8\t128" => 0}» | ||
gfldex | if that's what you ment | 13:33 | |
timotimo | that's what i meant, yeah | ||
hmm. | |||
that's super bad | |||
gfldex | enums as syntaxy things. It may be a usecase of macros. | 13:34 | |
timotimo | don't think so, to be honest | ||
i think it should work as-is | 13:35 | ||
and just behave like evaluating a constant does | |||
gfldex | S12 doesn't say anything about expressions to form the enum. It only asked for list of pairs to work. | ||
design.perl6.org/S12.html#Composition_from_Pairs | |||
timotimo | OK. i think TimToady will agree that it ought to be powerful :) | 13:36 | |
ugexe | you can also change the path from cmd.exe with `setx C:\path\xxx;%PATH%` | ||
timotimo | and if and when he does, we'll find someone to implement that | ||
13:38
dolmen left
|
|||
gfldex | Maybe tricky to decide as the whole expression has to be evaluated at compile time. We don't really have a way to state that intend besides `constant`. | 13:38 | |
takadonet | morning all | 13:39 | |
13:44
crime left
|
|||
timotimo | morning takadonet | 13:46 | |
gfldex: i'm pretty sure the rhs of enum is already evaluated at compile time | |||
takadonet | timotimo: how are you good sir? | ||
13:48
crime joined
|
|||
timotimo | i'm okay | 13:49 | |
how about you? | |||
literal | so, after an "apt-get install perl6-panda" on Debian, Panda complains about Shell::Command being missing. What's the solution there? | 13:51 | |
RabidGravy | moan at the person who made the package? | ||
timotimo | it should be packaging its own copy of Shell::Command, actually | ||
ilmari | bugs.debian.org/cgi-bin/bugreport....bug=818926 | 13:52 | |
gfldex | m: my %thing = ('Bit-' X~ 1..8) Z=> (1, 2, 4 ... 256); my enum Bits ( %thing ); dd Bits.enums; | ||
camelia | rakudo-moar 3cab7c: OUTPUT«WARNINGS for /tmp/UcIChTdjhG:Useless use of %thing in sink context (line 1){}» | ||
timotimo | so if it claims it's missing, it's somehow not finding its own Shell::Command properly | ||
13:52
hotel_california joined
|
|||
literal | timotimo: yeah, I see it did actually install it, not sure why it doesn't find it | 13:52 | |
13:53
ZoffixW joined
|
|||
RabidGravy | to get a working panda however you could download the source from github and run the the bootstrap thingy | 13:53 | |
timotimo | does it say it's looking in the right folders? | ||
ugexe | does `perl6 -MShell::Command -e ''` error? | ||
ilmari | the package ships a /usr/share/perl6/lib/Shell/Command.pm | ||
literal | ugexe: yes | 13:54 | |
ZoffixW | perl6.party | ||
timotimo | oh lord, that is fantastic | 13:55 | |
ilmari | but $*REPO.repo-chain only includes inst#/usr/share/perl6, not lib/ | ||
literal | timotimo: it mentions /usr/share/perl6{,site,vendor}, but the modules are in /lib | ||
ZoffixW | :) | ||
timotimo | a-ha! | ||
13:56
hotel left
|
|||
timotimo | .u 🙇 | 13:56 | |
yoleaux | U+1F647 PERSON BOWING DEEPLY [So] (🙇) | ||
13:56
wamba joined
|
|||
ugexe | sounds like a cur::panda problem | 13:57 | |
RabidGravy | ZoffixW, it needs music too :) | ||
ZoffixW | lol | ||
literal | ugexe: more like a lacking PERL6LIB (or whatever it's called), since "use Shell::Command;" happens at the top of /usr/bin/panda | 13:58 | |
@INC I mean | |||
timotimo | @INC doesn't exist any more | 13:59 | |
and it used to be @*INC, iirc. or maybe @?INC. | |||
ugexe | cur::panda puts installed modules into a /lib folder | ||
RabidGravy | would anyone else find this snapshot thingy useful enough for me to stick it in the ecosystem? | 14:00 | |
14:00
pierre_ left
|
|||
ugexe | its meant so when you upgrade rakudo that your modules are still installed. however im not sure the way it does it is exactly koscher | 14:00 | |
14:01
crime left
|
|||
ugexe | (re: distro packages) | 14:01 | |
literal | is panda not able to install modules into a user-specific directory? gist.github.com/hinrik/a97d34db7bb...7736aabc2c | 14:02 | |
timotimo | is that with an up-to-date rakudo? | ||
we really ought to have that error not be fatal | 14:03 | ||
literal | 2016.04 from Debian unstable | ||
timotimo | and i thought we had code to deal with not-writable precomp stores | ||
RabidGravy | I thought if you set PERL6LIB to something panda would try there first | ||
or did that change? | |||
ugexe | the first lib will be where it precomps at | ||
literal | RabidGravy: it does, otherwise it would be complaining about a missing Shell::Command | 14:04 | |
ugexe | so give some writable path for the first lib path, and the real one for the 2nd | ||
literal | RabidGravy: oh sorry, misunderstood you | ||
14:04
crime joined
|
|||
literal | but from checking the source I see it has a --prefix option | 14:04 | |
14:05
rurban joined,
rurban left
|
|||
literal | so it works if I do: PERL6LIB="/home/hinrik/p6lib,/usr/share/perl6/lib" panda --prefix=/home/hinrik/p6lib install Linenoise | 14:06 | |
ugexe if only there was a package manager without 5+ dependencies... | |||
literal | but of course Linenoise has a test failure so it doesn't get installed :) | 14:07 | |
well, File::Which had the failure | |||
timotimo | ugexe: hah, i wonder why zef isn't being marketed more agressively | 14:08 | |
14:08
crime left
|
|||
timotimo | BBL | 14:08 | |
14:09
ufobat joined
14:12
grondilu left
14:14
grondilu joined
|
|||
RabidGravy | ugexe, does zef support versioned depencies BTW | 14:14 | |
14:14
zhmylove_ left
|
|||
RabidGravy | every once in a while I get real grief with changing dependencies which require a specific version | 14:15 | |
14:15
tharkun left
14:16
rjbs left,
tharkun joined
|
|||
ugexe | yeah, in the form of `My::Module:ver<xxx>`. all depends get turned into that form, so a typical depends has an implied :ver<*> | 14:18 | |
RabidGravy | cool | 14:19 | |
14:20
domidumont1 joined
|
|||
RabidGravy | does DependencySpecification have a constructor that takes that kind of string or do you pull the parts apart yourself? | 14:21 | |
14:22
domidumont left,
zakharyas left
14:23
ZoffixW left
|
|||
ugexe | you have to feed it each part. zef has its own Zef::Distribution::DependencySpecification which can break down a single string (My--Module:github:ugexe:1.0 or My::Module:auth<github:ugexe>:ver<1.0>) into those parts | 14:24 | |
14:26
grondilu left
|
|||
RabidGravy | groovy | 14:27 | |
ugexe | the only problem is that versions are kinda useless right now. the p6 ecosystem only gives access to the latest version in its meta data, and metacpan doesnt have up-to-date versions | 14:30 | |
mst | bargle | 14:31 | |
ugexe | i have github.com/ugexe/Perl6-ecosystems/...its/master which could conceivable match version changes to their commit id though | ||
mst | I owe the world a blog post, followed by several emails, followed by waiting 48hr, followed by letting the spice flow again | ||
moritz | mst: then stop procrastinating here and get to work! :-) | 14:32 | |
14:32
rjbs joined
|
|||
mst | moritz: www.trout.me.uk/poem.jpg | 14:33 | |
14:35
ptolemarch joined
|
|||
RabidGravy | ugexe, well the version is useful if a module requires a newer version than one that may be installed | 14:37 | |
which is part of the problem I've been having | |||
14:37
grondilu joined
|
|||
RabidGravy | ugexe, I've been doing some experiment with doing similar to that storing the META stuff in CouchDB | 14:39 | |
other JSONish document databases are available | 14:40 | ||
but that was more of a test/example for Sofa than anything for real use | 14:43 | ||
14:45
yqt joined
14:46
lostinfog joined
14:48
nd3i joined
|
|||
ugexe | yeah that would work better. the purpose of that repo is really just to be a more stable mirror of the normal api.p6c.org/packages.json or whatever (since sometimes the json posted there is not complete for some reason) | 14:51 | |
14:51
cyberviking joined
|
|||
ugexe | and to allow fetching the package list via `git`, so a proxy wont get in the way of the initial run | 14:51 | |
14:52
cyberviking left,
kerframil joined
|
|||
nd3i | I'm looking for a better/idiomatic way to do str ~~ s/x/y/ and get str' as the result. (ok, i'm golfing) | 14:52 | |
So far I have a sub that copies the input, s///, and returns the copy | 14:53 | ||
Something like: sub d-only ($in) { my $out = ~$in; $out ~~ s:g/\D+//; $out } | |||
ugexe | substr-mutate? | ||
moritz | nd3i: sub d-only($_) { S:g/\D+// } | 14:54 | |
ugexe | oh a copy | ||
grondilu | jeez perl6 is so much faster even on a VM it's crazy | ||
nd3i | Right. I don't want to change the input | 14:55 | |
perlpilot | grondilu: I don't think Rakudo is "crazy fast" just yet ;-) | ||
moritz | S/// returns a modified copy | 14:56 | |
s/// mdoifies in-place | |||
nd3i | Cool! That's what I missed. I'll play with S///. | ||
14:57
Xliff_ZZzzzz is now known as Xliff
|
|||
Xliff | \o #perl6 | 14:57 | |
RabidGravy, you mentioned a snapshot thingy. Sounds interesting. What is it taking snapshots of? | |||
RabidGravy | it just does what "cpan autobundle" does, but writes out a META file with all the installed modules as dependencies | 14:58 | |
so that if you, say, want to twat your rakudo install completely you can recreate the same modules | 14:59 | ||
or if you wanted to deploy something to a different machine or something | |||
nd3i | Also, I want to use the REPL to test subs loaded from a file (the debugger seems to crash a lot) | ||
Xliff | RabidGravy, Ooh! Yes, please! | ||
Considering I will have to do just that soon, it would be most helpful. | |||
nd3i | Someone suggested require /path/to/source.p6 but that doesn't seem to define the subs in the REPL | 15:00 | |
RabidGravy | give me an hour or so :) | ||
Xliff | RabidGravy++ | ||
Also, I will probably be releasing the draft version of Audio::OggVorbis. Are there any writeups on how to get it into the ecosystem? | 15:01 | ||
perlpilot | nd3i: subs are lexical | ||
RabidGravy | in short clone perl6/ecosystem add the location of your repo and make a PR | 15:02 | |
add your repo to META.list that is | |||
but looking forward to seeing that | 15:03 | ||
nd3i | perlpilot: right. I get that. | 15:04 | |
I know require pulls definitions into the current file; I guess it doesn't with the REPL | |||
Even cut/paste isn't working; it seems to be limited to one-liners. | 15:05 | ||
I guess I'll have to stick with the debugger. | |||
Ack! NM. Cut/paste is working for me now. Not sure what I was doing before. | 15:08 | ||
ttfn tyvm | 15:09 | ||
15:09
nd3i left
|
|||
masak | blogged! strangelyconsistent.org/blog/trinity | 15:09 | |
RabidGravy | oh, I was just about to explain that the subs would be lexical to the compilation unit anyway | ||
masak++ cool | 15:11 | ||
15:13
zhmylove joined
|
|||
dalek | c: 36f4e8d | (Wenzel P. P. Peppmeyer)++ | doc/Language/typesystem.pod: doc enum |
15:17 | |
15:21
zhmylove left
15:23
prammer left
15:25
domidumont1 left
15:34
prammer joined
15:35
pierre_ joined
15:36
pierre_ left
15:42
domidumont joined
15:45
ufobat left
15:52
domidumont1 joined
|
|||
jnthn | masak: Shiny diagrams in that post :) | 15:54 | |
15:55
domidumont left
15:57
abraxxa left
|
|||
RabidGravy catches up on a month's worth of new music | 16:00 | ||
you lot are cool but the musicians and DJs I know are quite awesome | 16:01 | ||
dalek | c: 7db3744 | (Jan-Olof Hendig)++ | doc/Type/IO/Handle.pod: Remove documentation for method ins since it no longer exists |
16:04 | |
stmuk_ | www.openhub.net/p/rakudo | 16:05 | |
dogbert2 | good afternoon #perl6 | 16:06 | |
what is the perl6 replacement for $. now that the IO::Handle ins method no longer exists? | 16:07 | ||
16:10
cognominal left,
cognominal joined,
khw joined
|
|||
masak | jnthn: they came out nice :) | 16:12 | |
perlpilot | dogbert2: .ins | 16:14 | |
oh, me can't read | |||
16:15
sno left
16:16
sufrostico left,
leont joined
|
|||
perlpilot | Why does IO::Handle no longer have .ins? | 16:16 | |
16:16
sufrostico joined
|
|||
dogbert2 | perlpilot: it seems to have been removed in 77fc44d9c0f | 16:18 | |
by none other than lizamt | |||
*lizmat | |||
16:20
dwarring left
16:21
wamba left,
wamba1 joined
|
|||
felher likes reading masak's posts :) | 16:21 | ||
they are always fun :) | |||
Xliff | m: my @b = [None xx 2] xx 2; say @b | 16:22 | |
camelia | rakudo-moar 3cab7c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HYbZWpYk6pUndeclared name: None used at line 1Undeclared routine: xx used at line 1» | ||
16:22
ZoffixW joined
|
|||
Xliff | m: my @b = [Nil xx 2] xx 2; say @b | 16:22 | |
camelia | rakudo-moar 3cab7c: OUTPUT«[[(Any) (Any)] [(Any) (Any)]]» | ||
ZoffixW | What is S///? An operator? Sub? Special syntax? | 16:23 | |
I wanna look up it's definition of ACCEPTS | |||
ilmari | m: None.WHAT.say | ||
camelia | rakudo-moar 3cab7c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9pKo9hFiOKUndeclared name: None used at line 1» | ||
dalek | osystem: 4cc08f3 | Altai-man++ | META.list: Add Devel::Trace to ecosystem |
16:24 | |
osystem: eff33e9 | (Zoffix Znet)++ | META.list: Merge pull request #200 from Altai-man/master Add Devel::Trace to ecosystem |
|||
16:24
leont left
|
|||
dogbert2 | ah, looking at the code it seems we should now use .lines.kv instead | 16:24 | |
dalek | rl6-most-wanted: 14c577d | Altai-man++ | most-wanted/modules.md: Remove Devel::Trace since we already have one. |
16:25 | |
rl6-most-wanted: 45e382e | (Zoffix Znet)++ | most-wanted/modules.md: Merge pull request #28 from Altai-man/master Remove Devel::Trace since we already have one |
|||
16:29
avenj left
|
|||
Xliff | Ahhh masak. I've been waiting for this blog post since you mentioned it..... | 16:31 | |
ZoffixW | I think I found it: github.com/rakudo/rakudo/blob/nom/....nqp#L7659 | 16:35 | |
No idea what it's calling though :P | |||
16:38
zhmylove joined
|
|||
masak | Xliff: cool. hope it makes sense. I'm sure there's tens of bits of relevant prior art that I've failed to mention or am not aware of. | 16:40 | |
but that's part of the charm of blogging ;) | |||
Universal/Isomorphic JS comes to mind, for example | 16:41 | ||
16:42
dakkar left
|
|||
ZoffixW | m: say 'foo' ~~ S/^// | 16:43 | |
camelia | rakudo-moar 3cab7c: OUTPUT«Potential difficulties: Smartmatch with S/// can never succeed because the string it returns will fail to match. You can use given instead of ~~. at /tmp/wYKB77ZbKI:1 ------> 3say 'foo' ~~ 7⏏5S/^//True» | ||
ZoffixW | ehehe :) It lies! | ||
16:43
zhmylove left
|
|||
timotimo | masak: the link to the msdn developer center is b0rked, as it forgot to have the .aspx in its url | 16:44 | |
Xliff | masak: What trips me out is that with webapps, the controller is emitting code to the browser to implement the UI. | 16:45 | |
Even more trippy - output templates containing UI code might be stored in the database. | 16:46 | ||
ZoffixW | All that suggests to me is the MVC pattern is a poor choice for web apps :) | ||
Xliff | ZoffixW, your replacement suggestion, then? | 16:47 | |
I mean MVC isn't perfect, but its the most sensible one I've seen, so far. | |||
[Coke] apologizes for breaking the build trying to unbreak the build. | 16:49 | ||
[Coke] waves from the highway | |||
ZoffixW | Xliff, well, I use MVC with fat models, but they just don't feel right. I saw a few months ago a post by someone proposing a new pattern, but the post was very long, dense, and I was hungover. | ||
ZoffixW tries to find it | |||
No idea... It was featured on HackerNews is all I know :P | 16:52 | ||
ugexe | MVVM :P | 16:53 | |
16:54
prammer left
16:55
prammer joined
16:56
_mg_ left
17:01
prammer left
17:02
prammer joined
17:04
prammer left
17:05
prammer joined
17:08
prammer left
17:09
prammer joined,
ZoffixW left
|
|||
pmurias | Xliff: re controller emitting code, isn't that sort of "solved" by single page webapps | 17:10 | |
17:15
tharkun left,
tharkun joined
17:17
baest joined
|
|||
dalek | c: ac18efb | (Jan-Olof Hendig)++ | doc/Type/Dateish.pod: Added documentation for method week-year |
17:18 | |
masak | timotimo: thank you. fixed now. | ||
Xliff | pmurias, controller still has to emit that single page. | ||
and SPAs, by definition, include JS. | |||
17:21
Actualeyes left
|
|||
RabidGravy | stmuk_, I blame you for this entirely, I just lost an hour dicking round with Open Hub | 17:23 | |
Xliff | Open Hub? | 17:26 | |
[Coke] | mst++ # my wife and I approve of your poem. | 17:27 | |
Xliff | s/Coffee/Spiced Chai Latte/ -- and it would be perfect! | 17:28 | |
RabidGravy | Xliff, www.openhub.net/ | 17:30 | |
Xliff | \o/ | 17:33 | |
ugexe | you are pretty much asking for a ViewModel | 17:34 | |
Xliff | perl6-Sudoku! | ||
ugexe | so MVVM, or even MVCVM | ||
Xliff | MV->c<-VM | ||
mst | MVC gets confusing with the web | 17:36 | |
ZoffixWin: I guess you should avoid Catalyst and Mojolicious then if you think that | |||
ZoffixWin: maybe try Web::Simple and Dancer instead :P | |||
17:38
zhmylove joined
17:41
leont joined
|
|||
_nadim | There's no page for MAIN on the docs site. but if you happen to type MAN instead (when your fingers are all messed up) you get to the performance page that no one says nothing about :) | 17:43 | |
17:47
uruwi joined
17:50
yqt left
|
|||
timotimo | will someone try to explain the central message of The Big Lebowsky to me? and why "the dude abides" is (seems to be) such a catchphrase | 17:55 | |
perlpilot | timotimo: www.quora.com/The-Big-Lebowski-199...bides-mean | 17:57 | |
ugexe | i believe its that smoking weed is cool and white russians are not a girl drink | ||
perlpilot | (I'm lazy) | ||
timotimo | thanks :P | 18:00 | |
i personally don't have a problem drinking "girl drinks"; maybe one of my role models is J.D. from Scrubs, who likes "Appletinis" | |||
_nadim | Am I conpletely mistake to think that MAIN does not need Getopt::Type to handle switches? I though I saw an example of that but I am not sure anymore. | 18:01 | |
timotimo | interestingly, before i looked it up, "abide" meant something like "comply" or "obey" to me | 18:02 | |
perlpilot | _nadim: design.perl6.org/S06.html#Declaring...subroutine | 18:03 | |
18:06
prammer left
18:07
zhmylove left
|
|||
_nadim | I was just reading that, it looks like it and I didn't understand why I got an error! | 18:09 | |
hmm, dumb ass me! maybe the name of the script on the command line would do some good | |||
18:12
sufrostico left
18:15
sno joined
18:18
firstdayonthejob left
18:20
firstdayonthejob joined
|
|||
Xliff | A test in Audio::OggVorbis requires the creation of a file. Does the automatic testing on modules.perl6.org allow that? | 18:21 | |
And also, how do I configure my module to work with that system? | |||
tony-o | the big lebowsky is about fighting the system, man | ||
timotimo | system be damned | 18:23 | |
tony-o | most of the stuff he says is also repeated | ||
Xliff | So is Fight Club | ||
tony-o | when he's writing a check at the beginning he first hears 'this aggression will not stand' | 18:24 | |
Xliff | Oops! I mentioned Fight Club. Hope Tyler didn't hear that. | ||
timotimo | ZoffixWin: you claim in your "extra typical perl6" that you can't have method chains across multiple lines | ||
tony-o | then he says that throughout the movie | ||
timotimo | ZoffixWin: i don't think that's correct | ||
gtodd | do many folks here use perl6 on the jvm? | ||
timotimo | at the moment perl6 on jvm isn't very usable, but it's being worked on, and people have used it in the past | 18:25 | |
18:25
avenj joined
|
|||
gtodd | I haven't done so for a long time because .... slow and not up to date ... | 18:25 | |
18:26
cdg left
|
|||
gtodd | when all that's available is a jvm I sometimes fiddle around with scala and/or groovy just wondered if perl6 was available | 18:27 | |
timotimo | right | 18:30 | |
bartolin | speaking of that, there is PR 748 for rakudo which should make about 5500 tests pass on the JVM (again). | 18:34 | |
gtodd | whoa | ||
bartolin | I know that psch++ worked on implementing something like VMNull for JVM -- which would be a better alternative to that PR | ||
18:35
firstdayonthejob left
|
|||
bartolin | but maybe the relevant part of that PR should be included until that work is finished? | 18:36 | |
timotimo | reverts are cheap. if it helps others move more quickly, maybe it's a good idea? i'd ask psch how hard it'd be to work on vmnull when that PR is applied on master in the mean time | ||
_nadim | can one die without a stack trace? | 18:37 | |
timotimo | you can note + exit | ||
_nadim | oki | ||
gtodd | things with versions that "also run on the jvm" periodically get out of sync | ||
_nadim | I tried to exit a string that didn't go well :) | 18:38 | |
timotimo | hah | ||
yeah, exit is only for the process' return code | |||
_nadim | exit is horrible anyway | 18:39 | |
timotimo | well, at least you can catch exit nowadays :) | ||
_nadim | Ha! Can I? | ||
timotimo | yup | 18:40 | |
_nadim | is exit an exception | ||
timotimo | not quite | ||
that stuff is new and i hadn't looked at it yet | |||
it involves a dynamic variable if i'm not mistaken | |||
_nadim | a link maybe? | ||
timotimo | a ... link? | 18:41 | |
_nadim | Bleah, a dynamic variable. what is wrong with throwing an exception that the run time catches? | ||
a link to where that is explained. | |||
gtodd | of course some things that start out on the jvm and hope to branch out end up staying :) ... e.g. scala | ||
timotimo | exceptions are too easily caught too broadly without thinking about it. | ||
_nadim | lol! isn't it exactly what it should be? | 18:42 | |
18:42
astj left
|
|||
timotimo | &*EXIT is what gets called when sme code runs "exit" | 18:43 | |
_nadim | ah! and that can be redefined I guess. | ||
timotimo | yeah, like any dynamic variable | 18:44 | |
_nadim | weird, I find Getopt::Type in the ecosystem but panda fails the installation with "resolve stage failed for Getopt::Type: Project Getopt::Type not found in the ecosystem" | 18:45 | |
moritz | _nadim: did you run "panda update"? | 18:46 | |
18:46
sufrostico joined
|
|||
_nadim | no, never have before, let's try | 18:47 | |
dalek | c: b1e8212 | (Jan-Olof Hendig)++ | doc/Type/Complex.pod: Added documentation for the reals method plus some examples for re and im |
||
_nadim | moritz: that's what it needed, thanks | 18:48 | |
18:48
rindolf left
|
|||
timotimo | maybe when we give the "not found in the ecosystem" error we should also point out when the last update was | 18:49 | |
_nadim | I think that sould be a nice hint | 18:51 | |
I am still not wrapping my head around design.perl6.org/S06.html#Declarin...ubroutine. I understand that I can use --options on the command line but if i I do i get a usage message! | 18:52 | ||
18:53
rindolf joined
|
|||
timotimo | the --options have to go before the positional arguments | 18:53 | |
that easily confuses people | |||
_nadim | Ah! like the panda command line | 18:54 | |
timotimo | yes, it uses MAIN, too | ||
masak | m: my &*EXIT = { say "OH HAI"; exit }; exit | 18:55 | |
DIHWIDT, I guess. | 18:56 | ||
camelia | rakudo-moar 3cab7c: OUTPUT«(timeout)OH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH HAIOH H…» | ||
gtodd | hehe | ||
18:56
ZoffixW joined
|
|||
ZoffixW | m: say quietly 'foo' ~~ S/f/m/; | 18:56 | |
camelia | rakudo-moar 3cab7c: OUTPUT«Potential difficulties: Smartmatch with S/// can never succeed because the string it returns will fail to match. You can use given instead of ~~. at /tmp/R7Bw8kNp0f:1 ------> 3say quietly 'foo' ~~ 7⏏5S/f/m/;False» | ||
ZoffixW | Is it a bug that quietly doesn't quiet that warning or am I using it wrong? | 18:57 | |
_nadim | timotimo: then I guess I have to go look at the example because it won't take switched at the begining of the command line or otherwise. | ||
timotimo | yeah, time for examples i suppose | 18:58 | |
ZoffixW: that's a compile-time warning; you'd suppress those with "no warnings" | |||
geekosaur | ZoffixW, I think that;s a compile warning... that | ||
ZoffixW | timotimo, RE article: that wasn't my claim. The claim was you can't have method chains with .&sub calls in them on multiple lines. | ||
I tried it on the weekend. Was I doing something wrong? | 18:59 | ||
Same applies to chains started on WhateverStar | |||
timotimo | oh, really? you can't? | ||
ZoffixW | m: sub even { $^a %% 2 }; say 42.&even.uc; | 19:00 | |
camelia | rakudo-moar 3cab7c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1NYXbpXv67Malformed postfix call (only alphabetic methods may be detached)at /tmp/1NYXbpXv67:2------> 3.7⏏5&even» | ||
timotimo | oh! | ||
19:00
sufrostico left
|
|||
timotimo | interesting | 19:00 | |
ZoffixW | Hm. Seems like the trully correct answer is: you can't break the chain *before* the &sub calls, but you can afterwards | ||
m: sub even { $^a %% 2 }; say 42.&even.uc; | |||
camelia | rakudo-moar 3cab7c: OUTPUT«TRUE» | ||
dalek | c: c4e1d89 | (John Gabriele)++ | doc/Language/5to6-perlfunc.pod: fix Pod typo, and minor reword |
19:01 | |
ZoffixW | timotimo++ # Article updated | 19:03 | |
timotimo | thx :) | 19:04 | |
ZoffixW | m: no warnings; say 'foo' ~~ S/f/m/; | ||
camelia | rakudo-moar 3cab7c: OUTPUT«===SORRY!===Don't know how to 'no warnings' just yet» | ||
ZoffixW | heh | ||
timotimo | m: no worries; say 'foo' ~~ S/f/m; | ||
camelia | rakudo-moar 3cab7c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UiJJNjUaPGMalformed replacement part; couldn't find final /at /tmp/UiJJNjUaPG:1------> 3no worries; say 'foo' ~~ S/f/m;7⏏5<EOL> expecting any of: infix stopper» | ||
timotimo | m: no worries; say 'foo' ~~ S/f/m/; | ||
camelia | rakudo-moar 3cab7c: OUTPUT«Potential difficulties: Smartmatch with S/// can never succeed because the string it returns will fail to match. You can use given instead of ~~. at /tmp/yxJEtrN5BB:1 ------> 3no worries; say 'foo' ~~ 7⏏5S/f/m/;False» | ||
timotimo | hm. | ||
geekosaur | isn;t worries just perl5 stuff? | ||
19:05
sufrostico joined
|
|||
timotimo | no clue :P | 19:05 | |
ZoffixW | That warning lies and I can think of some cases where the smartmatch S/// is kinda useful. | ||
Well... not to imply there isn't a better way to do those useful things :) | 19:06 | ||
19:13
domidumont1 left
19:15
jjido joined
|
|||
geekosaur | the precise situation in which "it lies" is when the result of the S/// is identical to its input. | 19:16 | |
19:16
yqt joined
|
|||
geekosaur | I can't think of a case where *an operation whose purpose is to produce a changed string on success* makes any real sense. it looks more like a thinko | 19:17 | |
(that is, as part of a smartmatch) | 19:18 | ||
but yes, if you are sufficiently "it doesn;t have to make any sense at all, just do *something*", it "lies" | |||
if I wanted that, I'd use Intercal\ | |||
ZoffixW | My critique of the S/// error and proposed change: rt.perl.org/Ticket/Display.html?id=128019 | 19:19 | |
geekosaur | sigh | ||
ZoffixW | What? | 19:20 | |
geekosaur | you win, the very few not even sensible but they work! outweigh that it;s almost always an error, please remove the warning | ||
ZoffixW | Have you even read the ticket? | ||
grondilu | I have a class that works fine but inefficiently. I'm considering making it a base and create a "Optimized" role that would improve on stuff. I annoyed by the choice on names, because is "is Optimized" sounds good but "does Optimized" sounds silly. | 19:21 | |
(it's crazy how much time I can waste thinking about names during programming) | 19:23 | ||
ZoffixW | There are only two hard problems in programming: cache invalidation, naming stuff, and off-by-one errors. | ||
lucs | grondilu++ It's not wasted time | ||
skids | "does Optimizing"? | 19:24 | |
ZoffixW | does Optimizations? :) | ||
grondilu | but then "is Optimizing" is not quite right. | 19:25 | |
ZoffixW | heh | ||
lucs | is Better, does Better ;) | ||
grondilu | lol | ||
ZoffixW | lucs++ # read my mind lol :) | ||
grondilu | or maybe "role Optimized {...}; role Optimization is Optimized {}" | 19:26 | |
making two roles, one being an alias of the other. | |||
skids | .oO(what does role A is B do?) |
19:27 | |
I always used does. | |||
grondilu | inheritance | ||
lucs | One thing I've come to realize and have started to accept is that those names we try to make just right (as we should) are above all symbols, and not necessarily real words. | ||
19:27
sufrostico left
|
|||
grondilu | m: role A {}; role B is A {} | 19:28 | |
camelia | ( no output ) | ||
19:28
tomboy65 left
|
|||
skids | Yeah it "works". Also, "my role X::Temporal is Exception" is in an example in S32. Just... never saw that before. | 19:29 | |
lucs | For example, I've got a project for handling code snippets, where I've got names like Snip (snippet), Snal (snipper alias), Snalex (snippet exception), Snalob (snippet object) | 19:31 | |
ZoffixW | geekosaur, my main concern is the suggested fix in the warning. The "lies" part, while less relevant, obscures what's actually happening with the code and is too wordy. I didn't mean to sound confrontational to your response, but I feel my suggestion is reasonable enough. | 19:32 | |
lucs | (er, snalex et al are "snippet alias foo") | ||
19:33
tomboy64 joined
19:36
colomon left,
colomon joined
|
|||
Xliff | Does someone have docs as to how you add something to the ecosystem. I have the basic gist of what to do, but there are questions... | 19:37 | |
For example, once added, can I force panda/zef to only extract a certain version? | |||
How do you set up automated testing? Can your tests access the filesystem? | 19:38 | ||
19:39
Relsak joined
19:40
sufrostico joined
|
|||
ZoffixW | Xliff, there's this docs.perl6.org/language/modules and the README: github.com/perl6/ecosystem/ | 19:40 | |
moritz | panda defaults to the master branch, so you can develop in a different branch and only merge releases into master | ||
(or it defaults to whatever the default branch on github is, rather) | |||
Xliff | Hrm. | 19:41 | |
OK. Was hoping I could specify a branch and develop on master. | |||
ugexe | zef can fetch a specific version, but the ecosystem only provides 1 version. if you use cpan with it you can get a specific version, but its contents are outdated | ||
Xliff | The opposite way makes just as much sense. | ||
ZoffixW | Doesn't panda fetch from whatever branch the META6.json is located at? | 19:42 | |
I recall RabidGravy saying they use a specific URL for releases or something | |||
RabidGravy | yeah, you can point at a tag | 19:43 | |
but that means you'd have to have some release branch or whatever | |||
skids | Yeah looks like there is explicit code for calling add_parent when a role has a parent class. Yet specs say "A role may not inherit from a class" and seems to go out of the way to use the "role A { also is Class; }" syntax rather than "role A is Class" when talking about forcing inheritance by the composing class. Mysterious. | 19:44 | |
moritz | ugexe: in the end we won't get around creating releases | ||
and uploading them | |||
skids: the two are exactly the same | |||
skids: and role A is Parent { } doesn't make A inherit from Parent; rather it makes a class that A is composed into inherit from Parent | 19:45 | ||
19:45
tomboy64 left
|
|||
skids | moritz: right, that I already knew. | 19:45 | |
moritz | skids: basically, roles copy their whole body into a class they are composed into. If you think of it that way, using the "also is ..." syntax inside the body is kinda more intuitive | 19:46 | |
jnthn | Since composition is flattening, then you can also view the "does" as "giving roles" to the target class too. | 19:47 | |
19:49
tomboy64 joined
19:50
ZoffixW left
19:52
Ven joined
19:55
jjido left
19:56
kaare_ left
20:02
tomboy64 left
20:03
tomboy64 joined
20:08
zakharyas joined,
Ven left
20:10
cdg joined
20:11
wilcov joined
|
|||
tony-o | MadcapJake: search should work a little bit better now | 20:12 | |
20:13
firstdayonthejob joined
20:15
vendethiel joined
20:18
ptolemarch left
20:19
dolmen joined
20:23
darutoko left
20:24
grondilu left
20:31
sortiz joined
|
|||
dalek | c: 7fa4c56 | skids++ | doc/Language/objects.pod: Document role-assisted inheritence and method definition pecking order |
20:35 | |
20:43
zakharyas left
|
|||
sortiz | \o #perl6 | 20:45 | |
RabidGravy | harr! | ||
20:49
dwarring joined
20:51
ZoffixLappy joined
20:57
spider-mario joined
|
|||
masak | d'arr! | 21:00 | |
21:00
skids left
|
|||
RabidGravy | :) | 21:10 | |
21:10
wilcov left,
cognominal left
|
|||
timotimo | r'arr | 21:11 | |
21:12
telex left
|
|||
dalek | Iish: 27d7de3 | (Salvador Ortiz)++ | lib/DBDish/Oracle (2 files): Oracle: Reorder native subs |
21:12 | |
Iish: f745116 | (Salvador Ortiz)++ | lib/DBDish/mysql (2 files): mysql: Reorder native subs |
|||
Iish: 9b1131c | (Salvador Ortiz)++ | / (2 files): For panda's users, now v0.5.7 Native call scope issues fixed, 40x ~ 60x faster |
|||
21:12
TEttinger joined,
telex joined
21:13
cognominal joined
|
|||
timotimo | wow! 40x ~ 60x? !?! | 21:14 | |
is that the "reorder native subs" commits? | |||
sortiz | yep: From 167s to 2.5s | 21:15 | |
timotimo | that diff is hard to read | ||
sortiz | Fetching 8000 records. | ||
timotimo | you moved native subs outside of the methods that call them?? | ||
21:15
wamba1 left
21:16
captain-adequate joined
|
|||
ZoffixLappy | sortiz++ | 21:16 | |
sortiz | timotimo, Yes, only that. | ||
21:16
jjido joined
|
|||
timotimo | interesting. so that prevents a closure from being taken i suppose? but what else? | 21:16 | |
sortiz | If the sub is declared inside the method, the Native Role attached by 'is native' trait is recomposed at every call, causing all the !setup dance to repeat. | 21:18 | |
Including the library searching, loading, symbol search, etc. | |||
21:19
_28_ria left
|
|||
jnthn | m: multi trait_mod:<is>(Routine $r, :$foo!) { $r does role { has $.x is rw } }; sub bar() is foo { }; &bar.x = 42; say &bar.x; say &bar.clone.x | 21:20 | |
camelia | rakudo-moar 3cab7c: OUTPUT«4242» | ||
jnthn | Hmmm | ||
21:20
_28_ria joined
|
|||
sortiz | As all are native calls, no closures involved. | 21:20 | |
21:21
atweiden joined
|
|||
jnthn | sortiz: A nested sub is a closure | 21:21 | |
sortiz: And so will be cloned on entry to the surrounding | |||
And that'll happen prior to the setup, which will then happen in a throw-away copy | |||
So yeah, not surprised this improves things :) | 21:22 | ||
sortiz | Yes and No, I was expecting that without "captures", no closure was formed. | ||
jnthn | No, it always will be at present. | ||
That'll probably be otpimized at some point | 21:23 | ||
sortiz | Yep, yesterday I discuss the details with masak. | ||
Originally the MoarVM profiler shows me the problem. | 21:24 | ||
And yes, I found that is cloned, so the role attributes reset. | 21:25 | ||
21:26
cognominal left
|
|||
jnthn | :) | 21:26 | |
profiler++ | |||
sortiz | The callsite setup is very expensive, so the gains :-) | 21:28 | |
21:28
cognominal joined
|
|||
jnthn | Yeah | 21:30 | |
NativeCall's internals are decidedly in the queue for a good performance-oriented overhaul | 21:31 | ||
The current factoring is opaque to the JIT, unfortunately. | |||
21:32
wamba joined
21:34
colomon left
|
|||
sortiz | I'm working, on an external module, in a Native Libs/calls revamp. One important thing is that, in Windows, LoadLibrary search all over the place at every call, no matter if the DLL is already loaded. | 21:35 | |
21:35
colomon joined
|
|||
sortiz | jnthn, BTW, MoarVM repo accepts PRs for dyncall? ;-) | 21:36 | |
21:37
uruwi left
|
|||
jnthn | sortiz: In theory, though it's nice to send the upstream too, and MoarVM targets both dyncall and libffi to get sufficient platform coverage. | 21:38 | |
sortiz: Also the trouble with our own derived versions of things is it can make life awkward for packagers on distributions that hate you bundling stuff. :) | |||
21:39
jjido left
|
|||
sortiz | Yes, I understand that. I'll try upstream first. | 21:39 | |
21:40
cognominal left
21:41
colomon left,
cognominal joined
|
|||
sortiz | Was asking 'cus github.com/MoarVM/MoarVM/blob/mast.../README.md ;-) | 21:42 | |
ZoffixLappy | What is :mm($samemark) arg in .subst/.subst-mutate? It doesn't seem to be documented | 21:43 | |
masak | 'night, #perl6 | 21:44 | |
ZoffixLappy | night | ||
sortiz | night masak | ||
jnthn | o/ masak | 21:45 | |
21:45
dolmen left
|
|||
jnthn | m: say 'püt'.subst(/p\w/, 'po', :mm) | 21:46 | |
camelia | rakudo-moar 3cab7c: OUTPUT«pöt» | ||
ZoffixLappy | Ah, thanks. jnthn++ | ||
geekosaur | pretty sure that's documented in the synopses | ||
ZoffixLappy | Right, S05 I forgot to check there | 21:47 | |
timotimo | these days it's hard to figure out when looking at the synopses is a good idea and when it's not :) | 21:48 | |
jnthn | sleep & | ||
sortiz | o/ jnthn | 21:49 | |
geekosaur | I'm just in the habit of checking both these days, because from my POV stuff is scattered all over the place and far too often I have to already know the answer to my question to figure out where the answer is : | ||
:/ | |||
ZoffixLappy | I'm going to document S/// in language/operators under.. um... "Miscellaneous Operators" unless someone can suggest a better place | ||
sortiz | timotimo, indeed, that is the hardest part for learning Perl6 :-) | 21:50 | |
21:50
grassass left
21:56
wamba left
|
|||
ZoffixLappy | m: sub foo ($x) { '42' }; my $m = 'foo' ~~ /f(o)(o)/; say foo($m) | 21:58 | |
camelia | rakudo-moar 3cab7c: OUTPUT«42» | ||
ZoffixLappy | m: say 'meowmix'.subst: /me (.) (.+)/, -> ($x) {}; | 21:59 | |
camelia | rakudo-moar 3cab7c: OUTPUT«Too many positionals passed; expected 1 argument but got 2 in sub-signature in block <unit> at /tmp/fjxOybStJY line 1» | ||
ZoffixLappy | m: say 'meowmix'.subst: /me (.) (.+)/, -> ($x, $y) {}; | ||
camelia | rakudo-moar 3cab7c: OUTPUT«Unexpected named argument '' passed in sub-signature in block <unit> at /tmp/iJFsMQMud1 line 1» | ||
ZoffixLappy | Weird, no? In the sauce, the Callable is called as $replacement($m), where $m is an element from the result of self.match in Str class | 22:00 | |
m: sub foo ($x) { '42' }; say 'meowmix'.subst: /me (.) (.+)/, &foo; | 22:02 | ||
camelia | rakudo-moar 3cab7c: OUTPUT«42» | ||
ZoffixLappy | Doesn't happen with subs... Am I declaring point block's sig wrong? | ||
22:02
rurban joined,
rurban left
22:07
[ptc] left,
avar left
|
|||
ZoffixLappy | m: my $callable = -> ($x) { 42 }; my $m = 'foo' ~~ /f(o)(o)/; say $callable($m) | 22:07 | |
camelia | rakudo-moar 3cab7c: OUTPUT«Too many positionals passed; expected 1 argument but got 2 in sub-signature in block <unit> at /tmp/xrZO2dcoGJ line 1» | ||
ZoffixLappy reports | |||
22:07
wtw_ joined
|
|||
geekosaur | m: say 'meowmix'.subst: /me (.) (.+)/, (-> $x, $y {}); | 22:07 | |
camelia | rakudo-moar 3cab7c: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in block <unit> at /tmp/vbj3H6VyoX line 1» | ||
geekosaur | huh | ||
22:08
ilogger2 joined,
ChanServ sets mode: +v ilogger2
|
|||
ZoffixLappy | m: my $callable = -> $x { 42 }; my $m = 'foo' ~~ /f(o)(o)/; say $callable($m) | 22:08 | |
camelia | rakudo-moar 3cab7c: OUTPUT«42» | ||
ZoffixLappy | m: my $callable = -> ($x, $y) { say "$x $y" }; say $callable([1, 2]) | 22:09 | |
camelia | rakudo-moar 3cab7c: OUTPUT«1 2True» | ||
ZoffixLappy | K, I see what my mistake was. geekosaur++ | ||
22:11
[ptc] joined
22:13
vendethiel joined
|
|||
MadcapJake | tony-o: search works great now! | 22:13 | |
22:14
avar joined
|
|||
dalek | c: 0712be4 | (Dabrien 'Dabe' Murphy)++ | doc/ (2 files): Document "Hash vs. Block" Gotcha my %fruits = apple => 'McIntosh', pear => 'Bartlett'; given (%fruits) { my $fails = { red => $_<apple>, green => $_<pear> }; say $fails.WHAT; # Block say $fails<red>; # ERROR: Type Block does not support associative indexing } |
22:16 | |
c: 496ec07 | (Dabrien 'Dabe' Murphy)++ | doc/ (2 files): Incorporate feedback re: idiomaticity zoffixznet++ ab5tract++ |
|||
c: 1cd7ebe | (Zoffix Znet)++ | doc/ (2 files): Merge pull request #463 from perl6/hash-block Document "Hash vs. Block" Gotcha |
|||
RabidGravy | boom | 22:18 | |
dalek | c: 942fada | (Zoffix Znet)++ | doc/Type/Str.pod: Update Str.pod |
22:20 | |
22:26
wamba joined
22:28
kid51 joined
22:30
Sgeo joined
22:35
vendethiel left
|
|||
sortiz | m: say "meowmix".subst: /me (.) (.+)/, -> { $1 ~ $0 }; # ZoffixLappy, I dunno how to destructure a Match, but this works. | 22:39 | |
camelia | rakudo-moar 3cab7c: OUTPUT«wmixo» | ||
22:39
colomon joined
22:40
grondilu joined
|
|||
ZoffixLappy | :) | 22:41 | |
RabidGravy | right that's enough, I'll finish the documentation for this thing in the morning | 22:43 | |
toodles | 22:45 | ||
ZoffixLappy | \o | 22:46 | |
22:46
infina joined,
infina left,
infina joined
22:49
colomon left
22:50
colomon joined
22:54
colomon left
|
|||
sortiz | In general I found more idiomatic to initialize a Hash with a list of pairs. | 22:54 | |
atweiden | i'm trying to make a parser that recursively parses `include` directives, as per here gist.github.com/atweiden/3a904d455...bd1f7e0c33 | 23:04 | |
however i keep getting this error message `Cannot assign to a readonly variable or a value`, which is being triggered at `make Inclusive.parsefile($filename, :$actions).made;` | 23:05 | ||
am i going about this incorrectly, or is this a compiler bug? | |||
23:16
BenGoldberg joined
|
|||
ZoffixLappy | New blog post: "Perl 6: The S/// Operator": blogs.perl.org/users/zoffix_znet/20...rator.html | 23:17 | |
captain-adequate | Nice one ZoffixLappy | 23:18 | |
23:24
BenGoldberg left
23:25
jameslenz joined,
BenGoldberg joined
23:27
geekosaur joined
23:29
uruwi joined
|
|||
BenGoldberg wonders how much difference there is between a pointy block and an anonymous sub. | 23:32 | ||
23:33
cognominal joined
|
|||
TimToady | they smell different | 23:37 | |
sortiz | BenGoldberg, imo the most important are its return semantics. | ||
TimToady | secondarily the parameters default differently, and block don't declare implicit $/ or $! | 23:38 | |
dalek | c: 43e79a2 | (Zoffix Znet)++ | doc/Language/operators.pod: Document s/// and S/// Closes #437 |
||
TimToady | pointies don't get their own $_ by default either unless you -> $_ | ||
ZoffixLappy | heh... I notice someone deliberately downvotes all Perl 6 posts posted on /r/perl/ reddit :P | 23:45 | |
gtodd | ZoffixLappy: So glad you documented overcoming the difficulty of S/// ++ | 23:49 | |
ZoffixLappy | \o/ | 23:50 | |
It makes perfect sense once you know what it's actually doing :) | 23:51 | ||
23:51
tardisx joined
|