»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31 Set by jnthn on 28 February 2015. |
|||
00:03
tinyblak joined
00:08
tinyblak left
00:15
araujo left
|
|||
b2gills | .tell jnthn It might be worth talking to Karl Williamson [email@hidden.address] about Unicode since he does most of the Unicode work on Perl 5, and may have some insight | 00:17 | |
yoleaux | b2gills: I'll pass your message to jnthn. | ||
00:30
DrEeevil left
00:35
xiaomiao joined
00:57
noganex joined
01:07
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:10
hobbs left
01:11
hobbs joined
01:13
telex left
01:14
telex joined
01:23
tinyblak joined
|
|||
ugexe | when i build in the wrong directory i get missing CORE.settings error, not QRegex.nqp | 01:25 | |
01:26
aborazmeh left
|
|||
ugexe | although i'd do a locate QRegex.nqp just to see what artifacts might be left | 01:26 | |
raydiak | not when I build, but when I invoke my installed perl6 from inside the build dir of another rakudo...like this: | 01:39 | |
~/data/projects/perl6/rakudo > perl6 -e 'say 1' | 01:40 | ||
Unhandled exception: Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp' | |||
01:40
gfldex left
|
|||
raydiak | I always thought it was weird, but if I cd .. or anywhere else it works fine, so guess it auto-detects some things in the cwd | 01:41 | |
anyway, maybe not the same problem, but obviously some similar mismatch somewhere | |||
s/obviously/likely/ | 01:42 | ||
tony-o | ive had that problem if make fails halfway through | 01:43 | |
01:46
ilbot3 left
01:48
ilbot3 joined
01:54
pierrot left
02:07
pierrot joined
02:13
noganex_ joined
02:15
noganex left
02:17
colomon left
02:22
skids joined
02:29
pierrot left,
pierrot joined
02:45
pierrot left
02:46
jack_rabbit joined
02:56
mishin joined
|
|||
mishin | ./join #ru.pm | 02:57 | |
03:03
jack_rabbit left
|
|||
hoelzro | literal++ really deserves all of the credit for vim-perl6, because iirc, he wrote the original perl6.vim | 03:07 | |
03:07
pierrot joined
|
|||
hoelzro | alester and I are merely stewards | 03:07 | |
dalek | ast: 0bd84e5 | TimToady++ | S06-multi/type-based.t: stretch goals for coercive multis |
03:25 | |
TimToady | .tell jnthn see the tests I added to S06-multi/type-based.t: there are 3 problems, 1) we need to set <constraint> or so on the candidate parameters that coerce (can emulate for now using 'where True'), 2) failed coercions fail hard rather than failing the bind, and 3) our current coercions are not suitable strict for pattern matching strings | 03:28 | |
yoleaux | TimToady: I'll pass your message to jnthn. | ||
03:35
fhelmberger joined
03:36
raiph left
03:40
fhelmberger left
03:46
mr-foobar left
03:56
jack_rabbit joined
03:57
kurahaupo1 joined
04:03
FROGGS_ joined
04:05
Sqirrel left
04:07
FROGGS left
04:11
kaare_ joined
04:25
KCL_ joined
04:30
mr-foobar joined
04:34
mr-foobar left
04:43
jack_rabbit left
04:45
Akagi201_ joined
04:47
Akagi201 left
04:55
mishin left
|
|||
TimToady | .tell jnthn also been thinking about MAIN subcommands, which probably need to have a command-line processor that knows how to produce a list of captures (one for each sublevel) rather than just a single capture | 05:02 | |
yoleaux | TimToady: I'll pass your message to jnthn. | ||
05:12
Sqirrel joined
05:37
rindolf joined
06:02
skids left
06:07
kaare_ left
|
|||
jnthn | TimToady Hmmmm. I could probably hack something up but it'd have...consequences... | 06:13 | |
yoleaux | 00:17Z <b2gills> jnthn: It might be worth talking to Karl Williamson [email@hidden.address] about Unicode since he does most of the Unicode work on Perl 5, and may have some insight | ||
03:28Z <TimToady> jnthn: see the tests I added to S06-multi/type-based.t: there are 3 problems, 1) we need to set <constraint> or so on the candidate parameters that coerce (can emulate for now using 'where True'), 2) failed coercions fail hard rather than failing the bind, and 3) our current coercions are not suitable strict for pattern matching strings | |||
05:02Z <TimToady> jnthn: also been thinking about MAIN subcommands, which probably need to have a command-line processor that knows how to produce a list of captures (one for each sublevel) rather than just a single capture | |||
jnthn | TimToady: The "set constraint" bit is easy. The second bit is the tricky one, since 1) it's not a type-based test, so we can't cache on it, so coercing candidates will always hit the multi-dispatch slow path, 2) we can't know a coercion will work out without trying it and that means we have to catch any exceptions it throws to refuse to coerce, and swallowing exceptions is a bit icky (we don't on where clauses), and 3) we'd perform the coercion tw | 06:16 | |
06:16
hobbs left
|
|||
TimToady | twice? | 06:18 | |
06:18
hobbs joined
|
|||
jnthn | Yes, in a try block in the multi-dispatcher for the constraint check | 06:18 | |
And then again once we pick the candidate and invoke and it does it as it binds. | 06:19 | ||
dalek | kudo/nom: f5b595e | TimToady++ | src/Perl6/Actions.nqp: disallow { *+* } |
||
jnthn | We might be able to avoid that in the future...somehow. | ||
For now we'd almost have to do it out-of-band though rather than in a normal bind check | 06:20 | ||
Because then we could not differentiate exceptions from trying to coerce from exceptions thrown by where clauses and default value expressions. | 06:21 | ||
TimToady | is there any way to just trap it at the real bind and nextsame to the next candidate | ||
jnthn | Not...really... | 06:22 | |
[Tux] | ===SORRY!=== | ||
This representation (NativeRef) cannot unbox to a native int | |||
Inline::Perl5 on fresh checkout | 06:23 | ||
jnthn | You mean emit a try statement as part of the sig binding? | ||
TimToady | yeah | ||
presumably the nextsame mechanism is already there | |||
jnthn | I'd really rather not make signature binding code behave differently in an only from a multi... | 06:24 | |
TimToady | though I doubt we can get all the way to removing IntStr etc if Rat() gladly accepts integers and Num() gladly accepts rats, and so on | ||
jnthn | But the nextsame would do odd things in an only, maybe? | ||
TimToady | well, but we know it's a multi at compile time | 06:25 | |
jnthn | Yes, but so far we've had the way we interpret a signature distinct from whether the thing is an only or a multi | 06:26 | |
TimToady | nod | ||
well, something to keep in the back of your head for now, anyway | |||
jnthn | Aye | 06:27 | |
It seems the non-strictness hurts at least as bad as the rest. | |||
Constrainty things then boil down to "which order are they in your program" | |||
In this case, humans I guess imagine Int <: Rat <: Num in some sense, and that's the order you'd want to attempt the coercions. | 06:28 | ||
But our type system (for the best in general) doesn't encode that. | |||
if $subelem ~~ QAST::WVal && $subelem.dump ~~ /WhateverCode/ # sheesh! :P | 06:30 | ||
nqp::istype($subelem.value, $*W.find_symbol(['WhateverCode'])) would be more robust, fwiw :) | 06:31 | ||
jnthn can patch it | |||
TimToady | go for it | ||
btw, we fail two arguably bogus tests because of that now | 06:32 | ||
jnthn | I'm in two minds about it... | ||
TimToady | it's easy enough to work around if you really need it | 06:33 | |
jnthn | I guess it's restricted to { *+* } as the circumfix, so -> { *+* } is a workaround. | ||
TimToady | or { ;*+* } works too | ||
or { do *+* } | |||
but not { return *+* } | |||
but we've seen that failure mode of thinking of * as $_ many times by now | 06:34 | ||
so I think someone who really wants that can deal with it | 06:35 | ||
people keep writing .map: { *.foo } | 06:36 | ||
jnthn | Yeah, it's been a common thinko. | ||
TimToady | and the last time I saw it, I added to my toto | 06:37 | |
and my little todo, too! | |||
jnthn | :D | ||
Oh, on the multiple Capture thing, I maybe could use an example of how it'd look | 06:38 | ||
06:40
sirdancealot left
|
|||
dalek | kudo/nom: c0b91a2 | jnthn++ | src/Perl6/Actions.nqp: Test types, not strings, in { *+* } check. |
06:43 | |
TimToady | basically a MAIN would have a sig that terminates with a 'subcommand' that can delegate to a different sub-command multi | 06:44 | |
jnthn | Well, we can already do stuff like | ||
sub foo('bar', |c) { } | |||
And c is just the args beyond bar | |||
TimToady | but we want to prevent the initial MAIN from seeing the named args from after the subcommand, I think, hence a different capture for the subdispatch | 06:45 | |
[Tux] | What would be the signature of a method that accepts a list of Pair's? | 06:46 | |
TimToady | do they have to keep their order? | ||
[Tux] | nope | ||
06:46
Akagi201_ left
|
|||
TimToady | are there dup keys? | 06:46 | |
[Tux] | nope | ||
TimToady | then *%hash will slurp them as named args | 06:47 | |
[Tux] | it is like it is called with the content of a Hash instead of the Hash ref | ||
TimToady | sub foo (*%hash) { say %hash.keys }; foo %*ENV | ||
m: sub foo (*%hash) { say %hash.keys }; foo %*ENV | 06:48 | ||
camelia | rakudo-moar 6e7735: OUTPUT«Too many positionals passed; expected 0 arguments but got 1 in sub foo at /tmp/5DEK0sfOQ1:1 in block <unit> at /tmp/5DEK0sfOQ1:1» | ||
TimToady | hmm, that oughta work | ||
m: sub foo (*%hash) { say %hash.keys }; foo |%*ENV | |||
camelia | rakudo-moar 6e7735: OUTPUT«MANPATH PERLBREW_VERSION PERLBREW_PERL SHELL PERL5LIB USER PERLBREW_BASHRC_VERSION PERLBREW_ROOT PATH _ PWD LANG PERLBREW_HOME HOME SHLVL PERLBREW_MANPATH LOGNAME PERLBREW_PATH LC_CTYPE» | ||
TimToady | there you go | ||
jnthn | |%*ENV | ||
ah, you got it. | |||
[Tux] | gist.github.com/Tux/cbaf8932d690c2bf4509 | ||
TimToady | m: sub foo (*@pairs) { say %@pairs.keys }; foo %*ENV | 06:49 | |
camelia | rakudo-moar 6e7735: OUTPUT«MANPATH PERLBREW_VERSION PERLBREW_PERL SHELL PERL5LIB USER PERLBREW_BASHRC_VERSION PERLBREW_ROOT PATH _ PWD LANG PERLBREW_HOME HOME SHLVL PERLBREW_MANPATH LOGNAME PERLBREW_PATH LC_CTYPE» | ||
jnthn | TimToady: Is the two captures thing nothing more than about the args processor that invokes MAIN somehow splitting off a first arg, or args up to some point? | ||
TimToady | there's another way | ||
jnthn | I guess the piece I'm (we're? :)) missing is what gets the second set of args. | 06:50 | |
TimToady | named plus any positionals up to the last one that is something like: 'show' is subcommand(&show-MAIN) | 06:51 | |
the arg to some trait that redispatches, maybe like that | 06:52 | ||
presumably at the point you say something like 'nextsame' in the body | |||
[Tux] | in that gist I had «multi method print (IO:D $io, *@fld) returns Bool» commented out, as that is what gets called instead | ||
TimToady | or maybe you end it 'show', |c and then in the body you just call show_MAIN(|c), but I don't know how it intuits from that that it needs captures each with their own named hashes | 06:54 | |
could also Str $subcmd, |c and later &$subcmd(|c), but that's perhaps depending a bit too much on the goodwill of the PEBCAK | 06:55 | ||
anyway, just random thoughts, but the important one was not combining all the switches into one hash | 06:56 | ||
jnthn | I guess it's figuring out the "stopper" | ||
Anyways, $gf is back from work and has ideas about celebrating easter, so I should probably go do that. :) | 06:57 | ||
TimToady | Happy Eastier indeed! | ||
*er | |||
jnthn | Thanks, you too! | ||
o/ | |||
TimToady | m: .map: { *.foo } | 06:58 | |
camelia | rakudo-moar f5b595: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RiQIbINdIrMalformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *at /tmp/RiQIbINdIr:1------> 3.map: { *.foo…» | ||
07:01
vendethiel left
07:02
vendethiel joined
07:09
hobbs left
07:11
hobbs joined
|
|||
TimToady wonders if Rat[Int, 1000000] could be persuaded to yield a fixed-point type | 07:13 | ||
zzz & | 07:17 | ||
07:29
dolmen joined
|
|||
moritz | Happy Easter everybody! | 07:31 | |
07:36
diana_olhovik joined
|
|||
dolmen | moritz, Joyeuses Pâques ! | 07:47 | |
07:51
darutoko joined
07:55
Ven joined
07:56
Ven left
|
|||
moritz | God Påsken | 08:00 | |
08:02
Ven joined
|
|||
cdc | .u 卵 | 08:02 | |
yoleaux | No characters found | ||
cdc | m: say uniname(0x5375) | 08:03 | |
camelia | rakudo-moar c0b91a: OUTPUT«<CJK Ideograph>» | ||
cdc | :( that was supposed to be Unicode Han Character 'egg' | 08:04 | |
08:07
dolmen left
08:20
espadrine_ joined
|
|||
cdc | m: say uniname(0xf09091a7) | 08:31 | |
camelia | rakudo-moar c0b91a: OUTPUT«should eventually be unreachable in block <unit> at /tmp/RTPPEaodVe:1» | ||
cdc | m: say uniname(0x10467) | ||
camelia | rakudo-moar c0b91a: OUTPUT«SHAVIAN LETTER EGG» | ||
cdc | \o/ | ||
FROGGS_ | :o) | 08:39 | |
08:47
RabidGravy joined
08:54
hobbs left,
hobbified joined
09:05
nbdsp joined
|
|||
Ven | m: say "\0\1"; | 09:06 | |
camelia | rakudo-moar c0b91a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/a0U736fsDTUnrecognized backslash sequence: '\1'at /tmp/a0U736fsDT:1------> 3say "\0\7⏏051"; expecting any of: argument list double quotes term» | ||
Ven | how2soh | ||
DrForr | m: my %a; %a<a> = item(%a); say %a | 09:07 | |
camelia | rakudo-moar c0b91a: OUTPUT«(timeout)» | ||
DrForr | While we're waiting, is there the equivalent to Scalar::weaken? :) | ||
nbdsp | Greetings! Could someone advise please if there is a vim plugin supporting Perl 6 tags? 'Taglist' plugin supports only Perl 5, unfortunately. | 09:08 | |
09:10
diana_olhovik left,
Akagi201 joined
09:18
Ven left
09:27
diana_olhovik joined
09:34
Akagi201 left,
Akagi201 joined
09:36
gfldex joined
|
|||
masak | good almost-noon, #perl6 | 09:41 | |
09:41
diana_olhovik left
09:44
Ven joined
|
|||
Ven | lizmat++ wendy++ # insanity, in the best possible way | 09:44 | |
masak | nbdsp: not sure what you mean by "Perl 6 tags", but is github.com/vim-perl/vim-perl enough for your needs? | 09:45 | |
Ven | TimToady: what do you mean by "MAIN subcommands"? | 09:46 | |
looks like something I'd be really interested with, considering a lot of my p6 work involves creating small tools that rely heavily on MAINs (and subsets :P) | 09:47 | ||
09:49
diana_olhovik_ joined
|
|||
nbdsp | masak: As far as can understand, vim-perl only does syntax highlighting. 'Perl 6 tags' - means source code navigation between functions, definitions etc. | 09:50 | |
09:53
eli-se joined
|
|||
RabidGravy | m: class Sofware::Vendor {}; Software::Vendor.new() | 09:59 | |
camelia | rakudo-moar c0b91a: OUTPUT«Could not find symbol '&Vendor' in method <anon> at src/gen/m-CORE.setting:15902 in any find_method_fallback at src/gen/m-Metamodel.nqp:2908 in any find_method at src/gen/m-Metamodel.nqp:1052 in block <unit> at /tmp/alKwrk4V2T:1» | ||
RabidGravy | I think I understand *why* it forms the message like that, but is it possible to make it so that it has the whole name that was attempted by used? | 10:01 | |
masak | nbdsp: oh! | ||
RabidGravy | having made the typo already it can be difficult to spot | ||
masak | nbdsp: I'm not re of anything that does that at present. | ||
Ven | irclog.perlgeek.de/perl6/2015-04-04#i_10389729 -- intellij does that | 10:02 | |
masak | RabidGravy: feels like something we should be able to do Levenshtein on. | ||
Ven: cool. I was not aware. | 10:03 | ||
Ven | it does so with certain kinds of things, and you also have a button to show the source code for a routine (usually pretty on point) | ||
RabidGravy | nbdsp, I guess it would be possible to create a tag file generator for p6 | 10:05 | |
Ven has used and abused intellij, but is currently using emacs+evil-mode and hasn't found a very convincing perl hl package... | |||
(though it seems I went a bit over-the-top as it tends to freeze after 3/4 hours) | |||
10:06
Rounin joined
10:18
Ven left
10:21
prl joined
|
|||
prl | guys, can you tell me what does ':D' mean in the language design and function definitions? | 10:22 | |
like multi sub infix:<cmp>(Real:D, Real:D) | |||
RabidGravy | a "defined" instance of the type | ||
vs :U "undefined" (i.e. a plain type) | 10:23 | ||
prl | thus the following will not match :D: | ||
my Int $var; | 10:24 | ||
RabidGravy | yep | ||
prl | cool, thank you! | ||
10:25
prl left
|
|||
RabidGravy | oh, I was just going to demonstrate | 10:26 | |
m: multi sub foo(Int:D) { say "defined" }; multi sub foo(Int:U) { say "undefined" }; my Int $a; foo($a); $a = 1; foo($a) | |||
camelia | rakudo-moar c0b91a: OUTPUT«undefineddefined» | ||
10:41
Ven joined
10:44
espadrine_ left
10:50
colomon joined
|
|||
nbdsp | I wonder hasn't there been an idea yet to add perl6 support to Exuberant ctags ctags.sourceforge.net/ which is extensively used in Vim plugins? | 10:59 | |
11:02
Sqirrel left
11:05
Perl6_newbee joined
11:07
kaare_ joined
11:40
Akagi201_ joined
11:44
Akagi201 left
|
|||
RabidGravy | nbdsp, I would think making a p6 version of metacpan.org/release/Perl-Tags would be the way to go in the first instance :) | 11:45 | |
11:49
espadrine_ joined
11:52
eli-se left
|
|||
RabidGravy | infact it would be way easier because you could just use the existing grammar | 11:54 | |
nbdsp | RabidGravy: Strangely that such project hasn't yet been started, where one could contribute. | 11:55 | |
12:00
wtw left
12:01
espadrine_ left,
wtw joined
12:11
Ven left
12:17
eli-se joined
12:19
Ven joined
12:35
torbjorn_ joined,
torbjorn left
12:45
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk,
eli-se left
12:47
Ven left
|
|||
[Tux] | $ p6doc use | 12:50 | |
Cannot locate use in any of the following paths: | |||
masak's Text::CSV (of course) conflicts namewise with mine. In order to discriminate between the both, I need to create a test file that explicitely requires either | 12:51 | ||
I saw it pass by on IRC, but cannot find it in the docs | |||
use Text::CSV:auth<masak>; # would fit the lines I grepped from the log, except that masask did not have a auth entry in META.info (not provides fwiw) | 12:53 | ||
12:54
torbjorn_ left
12:56
Ven joined
|
|||
[Tux] | so when testing in my own environment, it'll still take my module instead of masak's | 12:57 | |
12:59
eli-se joined
|
|||
[Tux] out -> family. bbl | 13:00 | ||
masak | [Tux]: if your module's functionality is a superset of mine, then I'm willing to take my module off the ecosystem. | 13:05 | |
13:06
torbjorn joined
|
|||
RabidGravy | can anyone point me where in the spec that macros are discussed? | 13:06 | |
struggling to find it | |||
masak | RabidGravy: end of S06. | ||
RabidGravy: but if you have any specific questions, this channel is the best place for them. | 13:07 | ||
also perhaps read strangelyconsistent.org/blog/macros...long-break after S06. | |||
RabidGravy | cool cheers, wasn't quite understanding what the argument to the macro definition was | 13:13 | |
masak | it's an AST. | 13:14 | |
an AST is an object representing a piece of program. | |||
m: my $ast = quasi { say "OH HAI" }; say $ast.^name | |||
camelia | rakudo-moar c0b91a: OUTPUT«AST» | ||
RabidGravy | yeah got it now | ||
masak | \o/ | ||
13:19
Ven left
|
|||
masak | because of the role I have with Perl 6 macros, when anyone takes an interest in macros, I perk up too. I get a lot of useful information through feedback from interested people. | 13:20 | |
OpenBSD people discussing Long Term Support and compilers. marc.info/?l=openbsd-misc&m=137530560232232 -- I get vibes of Rakudo Star and pmichaud when I read that. | 13:21 | ||
of course, Long Term Support is not the same thing as "doesn't break the ecosystem" -- but it's close enough. | 13:22 | ||
nwc10 reads | 13:23 | ||
13:24
Ven joined
|
|||
nwc10 references www.curiousefficiency.org/posts/201...hon26.html -- Stop Supporting Python 2.6 (For Free) | 13:24 | ||
13:25
Ven left
|
|||
masak | not supporting Python 2.6 makes a whole lot of sense, IMO. | 13:25 | |
nwc10 | yes, having got about 50% into your link, agree | 13:26 | |
13:26
raiph joined
|
|||
masak | Python 2.7 is from 2010. that means that if you're still on 2.6 or lower, you did not get the happy news from *5 years ago*. | 13:27 | |
13:27
Ven joined
|
|||
nwc10 | Oh gosh, 5.8.8 was over 9 years ago | 13:30 | |
2.5 is newer than 5.8.8 | 13:32 | ||
masak | they grow up so fast | ||
nwc10 | anyway, many CPAN authors seem to feel the same thing. | ||
masak | not sure I disagree -- except perhaps from a stubbornly "always make everything backwards compatible back to forever" standpoint | 13:33 | |
nwc10 | I'm not totally sure what I think. It's a balancing act. It's rather like the joke | 13:34 | |
you owe the bank £1000, you have a problem | 13:35 | ||
you owe the bank £1,000,000, the bank has a problem | |||
masak | I see what you mean. | ||
nwc10 | in that, too much "100% backwards compatibility" and you never get anywhere new | ||
masak | it's kind of in the interest of those who need that kind of backwards compatibility to make sure modules have it | 13:36 | |
nwc10 | too little, and no-one upgrades, and then you might be somewhere new, but your userbase isn't your userbase any more | ||
anyway, it's hard | |||
13:36
brrt joined
|
|||
nwc10 | the thrust of that post about Python 2.6 was that you can get (supported) packages for "newer than 2.6" so please use them | 13:36 | |
if I read it correctly | |||
masak: that was a very interesting message you linked to | 13:40 | ||
13:41
nbdsp left,
Ven left
13:43
tinyblak left
|
|||
masak | oh, cool. I wasn't 100% sure. | 13:43 | |
13:48
telex left
13:50
telex joined,
sirdancealot joined
13:53
Ven joined
13:57
mohij joined
14:01
mohij left
14:02
BenGoldberg joined
14:03
tinyblak joined
14:04
BenGoldberg left
14:10
BenGoldberg joined
14:22
raiph left
14:24
nbdsp joined
14:37
ggoebel joined
|
|||
timotimo | o/ | 14:38 | |
brrt | \\o timotimo | 14:40 | |
nbdsp | Could someone advise please how to get the number of bytes in Str? ( '.chars' AFAIU returns the number of graphemes?) | 14:44 | |
timotimo | that's right; if you want the number of bytes, you'll have to decide on an encoding first | 14:45 | |
so you'd do something like this: | |||
FROGGS_ | nbdsp: convert it to a buffer where bytes actually mean something | ||
timotimo | m: say "foobar".encode('ascii').perl | ||
camelia | rakudo-moar c0b91a: OUTPUT«Blob[uint8].new(102, 111, 111, 98, 97, 114)» | ||
timotimo | the Blob type now has an "elems" method | ||
FROGGS_ | m: say "foobar".encode('ascii').bytes | 14:46 | |
camelia | rakudo-moar c0b91a: OUTPUT«6» | ||
timotimo | m: say "fööbär".encode('ascii').perl # while this blows up, of course | ||
camelia | rakudo-moar c0b91a: OUTPUT«Blob[uint8].new(102, 63, 63, 98, 63, 114)» | ||
timotimo | ... er ... | ||
m: say "fööbär".encode('ascii').decode('ascii').perl | |||
camelia | rakudo-moar c0b91a: OUTPUT«"f??b?r"» | ||
nbdsp | timotimo, FROGGS, many thanks! | ||
timotimo | that's not supposed to raise an exception? | ||
probably has a named for that | |||
FROGGS_ | m: say "fööbär".encode('ascii').decode('ascii') # there is an RT ticket about that | ||
camelia | rakudo-moar c0b91a: OUTPUT«f??b?r» | ||
timotimo | ah, OK | 14:47 | |
FROGGS_ | timotimo: it should throw, yes | ||
m: my $b = utf16.new(65); say $b.elems; say $b.bytes | 14:48 | ||
camelia | rakudo-moar c0b91a: OUTPUT«12» | ||
timotimo | ah, "bytes" | ||
that's better, since you don't have to look at the type of buf you have | |||
FROGGS_ | aye | ||
working with .elems and utf8 would be fun :o) | 14:49 | ||
14:50
brrt left
14:51
brrt joined
|
|||
brrt | m: "foobar".encode("utf16").bytes.say | 14:51 | |
camelia | rakudo-moar c0b91a: OUTPUT«12» | ||
brrt | nice | ||
\is it me r has cameia gotten faster | 14:52 | ||
14:52
skids joined
14:54
raiph joined
14:55
kaare_ left
|
|||
FROGGS_ | brrt: it feels faster, yes | 14:55 | |
timotimo | well, the recent moarvm tuning that made rakudo do almost no speshing during startup enhanced startup time and memory usage | 14:56 | |
that could be a part of it | |||
though to be honest, i seem to see a disimprovement locally instead :| | 14:57 | ||
brrt | hmm | 15:06 | |
15:11
hobbified left
15:13
kurahaupo1 left,
hobbs joined
|
|||
nbdsp | Could someone advise please what is the way to specify a custom module location for using in a program? Something like PERL5LIB environment variable? | 15:16 | |
When I try 'push @INC, "/path/to/module"' I get "variable @INC is not defined" | |||
timotimo | you can use either -I to supply one, use PERL6LIB, or use "use lib '/path/to/module'" in your code | 15:17 | |
Zoffix | nbdsp, or use lib: doc.perl6.org/language/5to6#Perl_mo...brary_path | 15:18 | |
Oh you said that. | |||
15:19
eli-se left
|
|||
nbdsp | Zoffix, timotimo, Thanks! | 15:19 | |
timotimo | you're welcome | 15:20 | |
15:27
kurahaupo1 joined
|
|||
timotimo | github.com/timo/naive_json_parser - i'm looking to build a "classical" json parser in this repository to see if it'd be much faster than JSON::Tiny | 15:34 | |
i wonder where i should start looking | |||
for inspiration, that is ... how other parsers are built | 15:36 | ||
15:38
raiph left
|
|||
Ven | what's the best way to read a binary file in perl6? I can't seem to find "buffer" in IO, IO::File, IO::Handle, io_operators | 15:40 | |
JimmyZ | Buf | 15:41 | |
moritz | Ven: .read | ||
Ven: doc.perl6.org/routine/read | |||
Ven | m: 4 R= my $f; # :D? | 15:42 | |
camelia | rakudo-moar c0b91a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jSCcoeDhe3Cannot reverse the args of = because list assignment operators are too fiddlyat /tmp/jSCcoeDhe3:1------> 034 R=7⏏5 my $f; # :D?» | ||
Ven | aww. | ||
15:43
diana_olhovik_ left
|
|||
Ven | Okay, thanks moritz / JimmyZ | 15:43 | |
TimToady | m: $(4) R= my $f; | 15:44 | |
camelia | ( no output ) | ||
TimToady | m: $(4) R= my $f; say $f; | ||
camelia | rakudo-moar c0b91a: OUTPUT«4» | ||
Ven | TimToady: should that be suggested in the error message? | ||
TimToady | m: 4 ==> my $f; say $f | ||
camelia | rakudo-moar c0b91a: OUTPUT«4» | ||
TimToady | no, it shouldn't :) | ||
Ven | or is that just insanity | ||
TimToady | m: 4 ==> my $f; say $f.WHAT | 15:46 | |
camelia | rakudo-moar c0b91a: OUTPUT«(Array)» | ||
TimToady | er... | ||
15:47
raiph joined
|
|||
Ven | list assignment too fiddly, they said | 15:48 | |
it is somewhat surprising, but it's true ==> is supposed to deal with list I guess :P | |||
masak | TimToady: bug? did you expect $f to be an Int? | ||
TimToady | not really, which is why I looked | ||
masak | oki | ||
TimToady | thing is, if we did allow list assignent to be reversed, it might do the same thing as ==> | 15:51 | |
hmm | |||
m: 4 R|= my $f; say $f; | |||
camelia | rakudo-moar c0b91a: OUTPUT«any(any(), 4)» | ||
TimToady | m: 4 R||= my $f; say $f; | 15:52 | |
camelia | rakudo-moar c0b91a: OUTPUT«===SORRY!===Cannot find method 'flat'» | ||
TimToady | m: 4 Ror= my $f; say $f; | ||
camelia | rakudo-moar c0b91a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zseXh3I5YMCannot reverse the args of because assignment operator operators are too fiddlyat /tmp/zseXh3I5YM:1------> 034 Ror=7⏏5 my $f; say $f;» | ||
masak | m: say 42 R= my $x; say $x | ||
camelia | rakudo-moar c0b91a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZsrtR8HVrzCannot reverse the args of = because list assignment operators are too fiddlyat /tmp/ZsrtR8HVrz:1------> 3say 42 R=7⏏5 my $x; say $x» | ||
masak | but that's not a list assignment, once you reverse it :) | ||
TimToady | m: 4 R+|= my $f; say $f; | 15:53 | |
camelia | rakudo-moar c0b91a: OUTPUT«4» | ||
TimToady | m: 4 R//= my $f; say $f; | ||
camelia | rakudo-moar c0b91a: OUTPUT«===SORRY!===Cannot find method 'flat'» | ||
15:54
brrt left
15:55
Ven left
|
|||
TimToady | m: 4 R+= my $f; say $f; | 15:55 | |
camelia | rakudo-moar c0b91a: OUTPUT«4» | ||
TimToady | (if you know it's numeric) | 15:56 | |
15:56
captain-adequate left,
molaf joined,
captain-adequate joined
|
|||
TimToady | m: 4 Rmin= my $f; say $f; | 15:56 | |
camelia | rakudo-moar c0b91a: OUTPUT«4» | ||
TimToady | m: -4 Rmin= my $f; say $f; | 15:57 | |
camelia | rakudo-moar c0b91a: OUTPUT«-4» | ||
TimToady | that works with anything orderable | ||
15:58
kaare_ joined
|
|||
FROGGS_ | $ perl6-j t/04-nativecall/15-rw-args.t | 16:08 | |
1..10 | |||
ok 1 - Perl's rw variable was set by C (char) | |||
\o/ | |||
(note the j in perl6-j) | |||
masak | wow. | ||
16:10
ggoebel left
|
|||
timotimo | that's impressive | 16:13 | |
FROGGS_ | hmmm, no, not quite | 16:14 | |
the patch is quite small, but the difference between how nativecall works in moar and jvm is usually interesting :o) | 16:15 | ||
timotimo | OK :) | 16:18 | |
16:27
darutoko left
16:39
tinyblak left
|
|||
timotimo | m: say nqp::CCLASS_WORD | 16:53 | |
camelia | rakudo-moar c0b91a: OUTPUT«===SORRY!===No registered operation handler for 'CCLASS_WORD'» | ||
timotimo | is there a good place to get these constants from? | 16:54 | |
16:54
nbdsp left
|
|||
dalek | Heuristic branch merge: pushed 47 commits to rakudo/newio by lizmat | 16:56 | |
FROGGS_ | m: say nqp::const::CCLASS_WORD | 16:58 | |
camelia | rakudo-moar c0b91a: OUTPUT«8192» | ||
FROGGS_ | timotimo: ^^ | ||
dalek | Heuristic branch merge: pushed 47 commits to roast/newio by lizmat | 16:59 | |
Heuristic branch merge: pushed 44 commits to specs/newio by lizmat | 17:00 | ||
timotimo | oh, neato | 17:02 | |
tony-o | timotimo: github.com/perl6/nqp/blob/7533c6bd....nqp#L1843 | ||
there is a full list - i was digging around in there yesterday | |||
timotimo | i saw the list and just copy-pasted that into my p6 code %) | ||
17:02
Ven joined
|
|||
nine_ | moritz: I just ordered my new server. It'll have 32 GiB of RAM. More than enough to give a camelia VM 8 GiB. | 17:21 | |
Zoffix | \o/ | 17:24 | |
timotimo | so we'll be able to run "hello world" on rakudo-jvm now? :) | 17:28 | |
17:34
dolmen joined
17:36
Patterner joined
|
|||
tony-o | did the perl6 servers ever get ordered and put into use? | 17:36 | |
tadzik | I think that's what p6c.org is :) | ||
tony-o | i think it was about 4 months ago :-) | 17:37 | |
awesome | |||
timotimo | yeah, many things if not all of them have been migrated | 17:38 | |
17:38
fhelmberger joined
|
|||
timotimo | a bunch of user's irc sessions, for example, now live on irc.p6c.org | 17:38 | |
17:38
lucasb joined
17:40
tinyblak joined,
Psyche^ left,
darutoko joined
17:42
Perl6_newbee left,
fhelmberger left
|
|||
tadzik | synopsebot is still on feather | 17:44 | |
17:45
tinyblak left
|
|||
FROGGS_ | tadzik: lol | 17:48 | |
masak | we should totally have a bot called "synapsebot", too. you tell it a word you're thinking about, and it tells you a word back. people add associations by telling it "synapsebot: parameters makes me think of arguments" | 17:49 | |
"arguments makes me think of brawling" etc | |||
the usefulness of all this for the Perl 6 community is debatable, and subject to further study. quite possibly I'm just starving for dinner. :) | 17:50 | ||
we should also have a "synopsisbot", which accepts a gist with text and summarizes it for you. | 17:51 | ||
tadzik | FROGGS_: NO LOL | 17:52 | |
masak | NO PROJECT EULER | 17:53 | |
tadzik | NO FUN ALLOWEDT | ||
masak | THERE'S ONLY ONE OBVIOUS WAY TO HAVE FUN | ||
(and it doesn't involve laughing out loud, or asking about math problems) | |||
then we should get a syllogismbot, which tells you if your conclusion that Socrates is mortal follows from the propositions. | 17:54 | ||
and a syntaxbot, that... wait, camelia's std already does that. | 17:55 | ||
17:58
Ven left
18:15
dolmen left
|
|||
lucasb | Hello, #perl6 | 18:25 | |
Zoffix | \o | ||
lucasb | Given a class, is there a way to find all the subclasses it has? | ||
timotimo | m: say Int.^methods | 18:32 | |
camelia | rakudo-moar c0b91a: OUTPUT«Int Num Rat FatRat abs Bridge chr sqrt base polymod expmod is-prime floor ceiling round lsb msb narrow Range sign conj rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotan…» | ||
timotimo | m: say Int.HOW.^methods | 18:33 | |
camelia | rakudo-moar c0b91a: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine' in method gist at src/gen/m-CORE.setting:9076 in sub say at src/gen/m-CORE.setting:18721 in block <unit> at /tmp/hN7khobE04:1» | ||
timotimo | m: say Int.HOW.^methods>>.name | ||
camelia | rakudo-moar c0b91a: OUTPUT«archetypes new new_type add_fallback compose roles role_typecheck_list concretization is_composed can setup_junction_fallback find_method_fallback has_fallbacks set_name name WHY set_why ver auth set_ver set_auth set_stash_type add_stash add_attribute comp…» | ||
timotimo | m: say Int.HOW.^methods>>.name[^20] | ||
camelia | rakudo-moar c0b91a: OUTPUT«archetypes new new_type add_fallback compose roles role_typecheck_list concretization is_composed can setup_junction_fallback find_method_fallback has_fallbacks set_name name WHY set_why ver auth set_ver» | ||
timotimo | m: say Int.HOW.^methods>>.name[20..^40] | ||
camelia | rakudo-moar c0b91a: OUTPUT«set_auth set_stash_type add_stash add_attribute compose_attributes set_rw rw get_attribute_for_usage attributes add_method methods method_table submethod_table declares_method lookup cache cache_get cache_add add_private_method private_method_table» | ||
timotimo | m: say Int.HOW.^methods>>.name[40..^60] | ||
camelia | rakudo-moar c0b91a: OUTPUT«find_private_method set_autogen_proto add_multi_method multi_methods_to_incorporate incorporate_multi_candidates add_meta_method meta_method_table compose_meta_methods add_role roles_to_compose exclude_parent add_parent parents hides hidden set_hidden set_…» | ||
timotimo | m: say Int.HOW.^methods>>.name[50..^70] | ||
camelia | rakudo-moar c0b91a: OUTPUT«exclude_parent add_parent parents hides hidden set_hidden set_default_parent_type has_default_parent_type get_default_parent_type compute_mro c3_merge mro mro_unhidden find_method find_method_qualified publish_method_cache isa does type_check publish_type_…» | ||
timotimo | m: say Int.HOW.^methods>>.name[70..^80] | 18:34 | |
camelia | rakudo-moar c0b91a: OUTPUT«add_trustee trusts is_trusted create_BUILDPLAN BUILDPLAN BUILDALLPLAN set_is_mixin is_mixin set_mixin_attribute mixin_attribute» | ||
timotimo | hmm | ||
18:38
raiph left
|
|||
dalek | p: 9956347 | FROGGS++ | tools/build/MOAR_REVISION: bump moar revision |
18:44 | |
p: 2ce7c31 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files): handle 'is rw' params in native calls We pass these arguments off as pointers to their given type, and therefore allocate, let the C function write to it, fetch the written value and store it in our variable after the call was made. |
|||
nwc10 | # A fatal error has been detected by the Java Runtime Environment: | 18:45 | |
# | |||
# SIGSEGV (0xb) at pc=0x00007f91cad761d7, pid=17870, tid=140263983933184 | |||
that was make test, with TEST_JOBS=24 | |||
dalek | kudo/nom: 64ac2bd | FROGGS++ | tools/build/NQP_REVISION: bump nqp/jvm revision for 'is rw' params in nativecall |
18:46 | |
kudo/nom: 143f621 | FROGGS++ | t/04-nativecall/15-rw-args. (2 files): add tests for 'is rw' params in nativecall |
|||
FROGGS_ | nwc10: do you know what test file segfaulted? | 18:47 | |
nwc10 | not exactly. "all of them" roughly | ||
I either get all the tests passing | |||
or | 18:48 | ||
FROGGS_ | :S | ||
nwc10 | they all fail with parse errors | ||
that was the first SEGV,though | |||
so,I don't know if it's Rakudo on JVM concurrency bug | |||
or JVM bug | |||
but if we can get a SEGV, that suggests JVM bug | |||
FROGGS_ | or just about hitting memory limits? | ||
nwc10 | possibly, but for the JVM, probably not the machine | 18:49 | |
timotimo | TEST_JOBS doesn't do concurrency, or does it run the evalserver perhaps? | ||
nwc10 | I figure it has to be the eval server, but I've not checked the code | ||
I was trying to work out if there's a magic number below which it always passes, and above which it always fails | 18:50 | ||
no, there isn't | |||
24 goes eitherway | |||
moritz | j: say 'Hello, world' | 18:52 | |
camelia | rakudo-jvm c0b91a: OUTPUT«Error while reading '/home/camelia/p6eval-token': No such file or directory at /home/camelia/rakudo-inst/bin/eval-client.pl line 10.» | ||
moritz | eeks | ||
j: say 'Hello, world' | 18:54 | ||
camelia | rakudo-jvm c0b91a: OUTPUT«Hello, world» | ||
moritz | timotimo: ^^ we can already :-) | ||
18:57
Zoffix left
|
|||
nwc10 | it has to be the jobserver, as there's a single java process that looks like this: | 18:58 | |
28081 nicholas 20 0 8587m 2.3g 11m S 1648.6 2.4 7:52.38 java | |||
that's 1648.6% of CPU, 2.4% of RAM | |||
19:04
rindolf left
|
|||
moritz | nine_: once you have the VM, and have given me access, I can start to migrate camelia | 19:07 | |
19:11
vendethiel left
19:12
vendethiel joined
|
|||
tadzik | oh joy.. imgur.com/BS6ufuC | 19:15 | |
masak | today's autopun spotting: twitter.com/rabcyr/status/584779188093251584 | 19:18 | |
vendethiel | tadzik: that just tells how amazing you are for perl6 :p | 19:19 | |
masak | tadzik++ | ||
vendethiel | tadzik++ :-) | ||
tadzik | hm, that's a good way to look at it | 19:20 | |
masak | lucasb: classes are "not supposed to" know which subclasses they have. | 19:21 | |
lucasb: if they do know that, your system has un-GC-able subclasses. | |||
vendethiel | masak: actually, that's a feature I'd love to have "in some way" | ||
my use case is: pattern-matching exhaustiveness checking, most probably in a macro | |||
masak | if it were up to me, that should be computable, but "the hard way", O(classes in the system) | ||
vendethiel | scala has that (with abstract class + case classes extending it, but only if the abstract base class is "sealed", meaning it can't be extended from another file) | 19:22 | |
masak | *nod* | ||
ooh! question: what should I use if I want the output from a shell command, like from qqx[$cmd], but I want it lazily, line-by-line. basically qqx[$cmd].lines but get the lines ASAP. | 19:25 | ||
...? | |||
moritz | masak: Proc::Async | 19:26 | |
masak | ok, and Bring Your Own Quote Modifier? | ||
my goal is `for <<something simple>> -> $line { .. }` | |||
I guess I could define my own sub. | 19:27 | ||
moritz | you'd have to, yes | ||
masak checks out Proc::Async | |||
moritz | doc.perl6.org/type/Proc::Async it's even documented! | ||
masak | \o/ | 19:28 | |
dalek | c: c84b34a | moritz++ | lib/Type/Proc/Async.pod: Small fix for Proc::Async |
||
tony-o | masak: you can use Proc::Async.stdout.act(-> $data { ... }) if you're looking to just capture data as it happens | 19:31 | |
lucasb | masak: thanks for the note | ||
dalek | c: a0d233f | moritz++ | lib/Perl6/TypeGraph/Viz.pm: Generate links in type graphs without trailing .html |
||
masak | tony-o: cool. and then wrap that in a sub so it looks nice :) | 19:32 | |
tony-o | i found it the other day when writing 'overwatch' :-) | ||
masak | overwatch? | ||
tony-o | i pipe mine to 'print' and to $*ERR.print | ||
are you familiar with supervisor in node? | 19:33 | ||
moritz wonders if gather { $proc.stdout.act(&take) } works | |||
masak | tony-o: yes, I know what it is. | ||
tony-o | github.com/tony-o/perl6-overwatch | ||
masak | also inotify on Linux. | 19:34 | |
tony-o | a clone of that, i plan to go a step further and develop a way to create daemon scripts for nix and services for windows | ||
more just a 'how does it work' thing, for me | |||
masak | cool. tony-o++ | ||
tony-o | m: my $p = Proc::Async.new("find", ["."]); gather { $p.stdout.act(&take); }; await $p.start; | 19:43 | |
camelia | rakudo-moar 143f62: OUTPUT«Proc::Async is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:1 in method new at src/RESTRICTED.setting:32 in block <unit> at /tmp/XxvDrJttsH:1» | ||
tony-o | ah, segfaulted for me | ||
masak: interestingly .act doesn't seem to get called without the <newline> character - if i try the .act on a process of "echo -n 'test'" then i get a ===SORRY=== message | 19:45 | ||
masak | sounds like a bug to me. | 19:46 | |
vendethiel, eli-se: I thought of you two when I found jozefg.bitbucket.org/posts/2015-03-24-pcf.html | 19:54 | ||
vendethiel | it probably doesn't look enough like c++ to el-ise ;-) | 19:55 | |
masak | very clear and inspiring code/explanations. | ||
19:59
noganex_ left
|
|||
ugexe | is Test::IO::Capture a core perl6 module? i cant install http::useragent because of it | 20:02 | |
n/m, panda just isnt installing all of the dependencies it should apparently | 20:07 | ||
20:08
btyler_ left
20:17
darutoko left
|
|||
lucasb | m: 1; 2 | 20:19 | |
camelia | rakudo-moar 143f62: OUTPUT«WARNINGS:Useless use of constant integer 1 in sink context (line 1)» | ||
lucasb | m: 1.0; 2 | ||
camelia | ( no output ) | ||
masak | lucasb: 'say' | ||
lucasb | ^^ I don't know if this is intended or not, but these "constant in sink context" warnings only appear for ints, nums and strings, but not for any arbitrary object. | ||
masak | oh, interesting. | 20:20 | |
m: 1e0; 2 | |||
camelia | rakudo-moar 143f62: OUTPUT«WARNINGS:Useless use of constant floating-point number 1 in sink context (line 1)» | ||
masak | judging from the source code, those seem to be the easy ones to catch. | 20:21 | |
m: say 1.WHAT; say 1e0.WHAT; say "HAI".WHAT; say 1.0.WHAT | |||
camelia | rakudo-moar 143f62: OUTPUT«(Int)(Num)(Str)(Rat)» | ||
masak | (see method visit_want in src/Perl6/Optimizer.nqp) | 20:22 | |
20:23
Sqirrel joined
|
|||
lucasb | masak: You are right, just SVal, IVal, NVal... | 20:23 | |
masak | I don't know if that's a hard limit, or just "we did the simple stuff first". | 20:24 | |
I agree that it feels like Rats should be just as sink-detectable. | |||
but sadly I don't have the l33t props to whip up a fix for that. | |||
someone jnthn-complete might be able to. | 20:25 | ||
lucasb | :) | ||
20:26
eli-se joined
|
|||
masak | eli-se! \o/ | 20:27 | |
eli-se | hi | ||
masak | eli-se: irclog.perlgeek.de/perl6/2015-04-05#i_10392680 | ||
20:27
btyler joined
|
|||
eli-se | wooot | 20:27 | |
well | |||
I am implementing a language. :p | 20:28 | ||
masak | guess that's why I thought of you :) | ||
eli-se | I just went out to dinner with entire family | ||
and I was thinking about a programming problem all the time | |||
like, for four hours. | |||
masak | eli-se: been there, done that ;) | ||
eli-se | the spareribs were delicious though | 20:30 | |
:3 | |||
tony-o | is 'start { ... }' and 'start({ ... })' handled differently behind the scenes? | 20:37 | |
20:38
Zoffix joined
|
|||
tony-o | if i send a connection accepted in one block to a channel and try to .recv i never receive data, if i try to .close in the same channel i get the error that the socket is not available | 20:40 | |
masak | m: say &start.WHAT | 20:42 | |
camelia | rakudo-moar 143f62: OUTPUT«(Sub)» | ||
masak | tony-o: shouldn't be handled differently. | ||
all other things being equal. | |||
tony-o | masak: if i do start {...} the connection.write never happens (with no error) and with parens it does happen and close is possible, although .recv still doesn't happen as i'd expect | 20:43 | |
20:44
Zoffix left
|
|||
tony-o | gist.github.com/tony-o/ae5c68d1b61ce97db09e | 20:45 | |
20:45
KCL joined
|
|||
masak | weird. | 20:46 | |
I don't see anything wrong or suspicious offhand. | |||
tony-o | should that .recv work cross thread? | ||
20:47
Zoffix joined
20:48
KCL_ left
20:50
kaare_ left
|
|||
tony-o | it appears the IO::Socket::INET.accept doesn't work cross thread either | 20:53 | |
or not in a way i'd expect - | |||
20:58
jack_rabbit joined
|
|||
RabidGravy | is it possible that some static storage in the c library is screwing that up? | 21:15 | |
tony-o | in moar? | 21:17 | |
21:17
dolmen joined
|
|||
RabidGravy | in the glibc or wherever I was thinking | 21:17 | |
haven't look at either code so it's merely wild speculation | 21:20 | ||
BenGoldberg | m: say uniname('𝑚') | 21:23 | |
camelia | rakudo-moar 143f62: OUTPUT«MATHEMATICAL ITALIC SMALL M» | ||
BenGoldberg | m: say uniname('𝑛') | ||
camelia | rakudo-moar 143f62: OUTPUT«MATHEMATICAL ITALIC SMALL N» | ||
21:26
espadrine_ joined
21:29
noganex joined
21:41
khisanth_ joined
21:42
dj_goku joined
21:43
tinyblak joined
21:44
Khisanth left,
dj_goku_ left
21:48
tinyblak left
|
|||
dalek | ecs: 438163b | (Stéphane Payrard)++ | S99-glossary.pod: bundle, Task::Star, irc related infos |
21:49 | |
BenGoldberg | Is there any chance that perl6 could be made to run in a web browser? Either by compiling to java, actionscript, or perhaps chrome's NaCL? | 21:51 | |
masak | BenGoldberg: I think our best shot at that is pmurias++' work on giving Rakudo a JS backend. | 21:53 | |
as far as I understand, nqp already has a JS backend. Rakudo not quite yet. | |||
RabidGravy | I find the idea strangely compelling and horrible at the same time | 21:54 | |
masak | it's 2015. everyone compiles to JS. better get used to it. :) | 21:55 | |
Zoffix | :) | ||
21:56
virtualsue joined
21:57
virtualsue left
|
|||
BenGoldberg | I was hoping to hear that someone had gotten the jvm backend of rakudo working in a java applet | 21:58 | |
Zoffix | Oh god! The horror! | ||
RabidGravy | no on balance I think I'd rather have javascript | 21:59 | |
21:59
espadrine_ left
22:01
erdic left
|
|||
eli-se | .tell vendethiel I implemented sleep with Boost.Asio! | 22:07 | |
yoleaux | eli-se: I'll pass your message to vendethiel. | ||
eli-se | yoleaux: thanks mate you're great | 22:08 | |
22:11
jack_rabbit left
22:13
RabidGravy left
22:18
erdic joined
|
|||
timotimo | eli-se: yoleaux likes to get .botsnack | 22:21 | |
eli-se | .botsnack | 22:22 | |
yoleaux | :D | ||
eli-se | .botsnack | ||
yoleaux | :D | ||
eli-se | :D | ||
22:26
jack_rabbit joined
|
|||
dalek | ecs: ecda04f | (Stéphane Payrard)++ | S21-calling-foreign-code.pod: S21: removing now obsolete mentions of zavolaj |
22:30 | |
22:49
Zoffix left
|
|||
dalek | ast: 008b78c | TimToady++ | S0 (2 files): Deal with double-closures found by new prohibition |
22:49 | |
masak | new prohibition? where? | 22:50 | |
22:53
dolmen left
|
|||
TimToady | (1,2,3).map: { * + 1 } | 22:53 | |
m: (1,2,3).map: { * + 1 } | |||
camelia | rakudo-moar 143f62: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_8C9fcwl_TMalformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *at /tmp/_8C9fcwl_T:1------> 3(1,2,3).map: …» | ||
TimToady | easily worked around if that's really what you mean | 22:54 | |
m: (1,2,3).map: -> { * + 1 } | |||
camelia | rakudo-moar 143f62: OUTPUT«Unhandled exception: Too many positionals passed; expected 0 arguments but got 1 at /tmp/QP9KUtjyO5:1 (<ephemeral file>::2) from src/gen/m-CORE.setting:9662 (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm::558) from src/ge…» | ||
TimToady | m: (1,2,3).map: -> $ { * + 1 } | ||
camelia | ( no output ) | ||
masak | ah; f5b595ed2 | ||
TimToady | but we keep seeing that error of thinking of * as if it were $_ | 22:55 | |
I just was too under the weather last night to fix the spillover in roast from that | 22:57 | ||
masak | got it. | ||
well, I have no complaints. this seems to be a good case of limiting crazy uses. | |||
I have never used {} with *, nor have I ever considered it, nor do I think I ever will. | 22:58 | ||
lucasb | m: say (1,1e0).map: *.isa(Int) | 23:05 | |
camelia | rakudo-moar 143f62: OUTPUT«True False» | ||
lucasb | m: say (1,1e0).map: * ~~ Int | ||
camelia | rakudo-moar 143f62: OUTPUT«No such method 'count' for invocant of type 'Bool' in method reify at src/gen/m-CORE.setting:9586 in block at src/gen/m-CORE.setting:9494 in method reify at src/gen/m-CORE.setting:9469 in block at src/gen/m-CORE.setting:9494 in method…» | ||
lucasb | I suppose I can't use "* ~~ SomeType" to mean "isa"? | 23:06 | |
Another thing... | |||
m: module Foo {}; say Foo.does(Any) | 23:07 | ||
camelia | rakudo-moar 143f62: OUTPUT«True» | ||
lucasb | m: module Foo {}; say Foo.isa(Any) | ||
camelia | rakudo-moar 143f62: OUTPUT«Cannot call isa(Perl6::Metamodel::ModuleHOW: Foo, Any); none of these signatures match: (\SELF: $type, *%_) (\SELF: Str:D $name, *%_) in method isa at src/gen/m-CORE.setting:1284 in block <unit> at /tmp/aEzUCy4Fex:1» | ||
lucasb | Is a module even an object? | ||
masak | m: module F {}; say F ~~ Mu | 23:08 | |
camelia | rakudo-moar 143f62: OUTPUT«True» | ||
masak | seems so :) | ||
'night, #perl6 | |||
TimToady | m: say * ~~ Whatever | 23:10 | |
camelia | rakudo-moar 143f62: OUTPUT«True» | ||
23:14
Rounin left
23:26
telex left
23:28
telex joined,
lucasb left
23:31
xiaomiao left
23:35
xiaomiao joined
|
|||
timotimo | tony-o: maybe it'd be better to pass rich objects around through the channel and not have a hash that's being accessed concurrently? | 23:37 | |
our hashes don't lock themselves by default and if you don't mutex write access on its keys, you might get into trouble | 23:38 | ||
ah, you're only adding new keys in the connection handler ... i'd still pass around that whole hash that also includes the buffer to at least couple it looser | 23:39 | ||
timotimo heads off to bed | 23:40 | ||
testers.p6c.org/reports/39580.html - this looks painful :( | 23:41 | ||
tony-o | timotimo: i tried just passing the connection off | 23:44 | |
has the same effect of .recv being empty, also noticed if i created the I:S:I in the same thread as the .recv call, it would receive data where it wouldn't otherwise | 23:45 | ||
timotimo | that's weird! perhaps we lack code to handle sockets that "belong to" or "have been created for" a different uv_loop, but i thought since we only have the sockets in the given loop for a very short time, that should be fine? | 23:47 | |
it's good that you found something like this; could you turn it into a simple-ish test case perhaps? | |||
23:48
rivarun left
23:49
rivarun joined
|
|||
dalek | kudo-star-daily: c591c5c | coke++ | log/ (2 files): today (automated commit) |
23:54 | |
kudo-star-daily: f2c364e | coke++ | log/ (2 files): today (automated commit) |
|||
kudo-star-daily: 21fb00b | coke++ | log/ (2 files): today (automated commit) |
|||
rl6-roast-data: fc8dee4 | coke++ | / (8 files): today (automated commit) |
|||
rl6-roast-data: 1f88773 | coke++ | / (9 files): today (automated commit) |
|||
tony-o | timotimo: yea i'll upload a gist | 23:59 |