»ö« 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! Set by masak on 12 May 2015. |
|||
lizmat | so what is the status on Proc::Async wrt ".start" and ".finish" ? | 00:01 | |
japhb | kbenson just submitted the perl6-course deck to HN. Anyone with an account there that would like to upvote, I guess now is the time. :-) | 00:04 | |
news.ycombinator.com/item?id=10168170 | |||
00:06
colomon left
|
|||
japhb | Looks like there's a post on www.reddit.com/r/perl6 | 00:07 | |
*also | |||
00:07
colomon joined
|
|||
japhb | Apologies for the rah-rah, but this really feels like one to advertise | 00:07 | |
colomon | upvoted | 00:08 | |
and now I’ll actually look at it. ;) | |||
this was what was going on Saturday while we were hackathoning? | 00:09 | ||
dalek | ast/glr: ccb5d4e | skids++ | S32-list/seq.t: Add a cacophony of slice assignment tests involving Seqs |
00:11 | |
00:12
colomon left
00:16
Alina-malina left
00:19
yqt left
00:20
colomon joined
|
|||
japhb | masak++ # masak.org/carl/yapc-eu-2015-interes...s/talk.pdf | 00:31 | |
That one was definitely like " snuggling up with your | 00:32 | ||
favorite cozy language, Perl 6." | |||
00:34
colomon left
00:39
dha left,
dha joined
00:44
abaugher left
00:45
laouji joined
|
|||
lizmat | sleep& | 00:47 | |
tony-o | is there a mechanism for react whenever process is idle? | 00:48 | |
00:50
abaugher joined
|
|||
japhb | tony-o: What is your definition of idle? | 01:00 | |
pink_mist is now imagining whenever ... { } whenever ... { } else { #we're idle } :P | 01:10 | ||
01:18
sufrostico left
01:23
dha left
01:24
rangerprice left
01:43
nits joined,
nits is now known as Guest34789
01:45
ilbot3 left
01:46
ilbot3 joined
01:59
tinyblak joined
02:08
noganex_ joined
02:10
noganex left
02:11
Guest34789 left
02:19
laouji_ joined,
laouji left
02:39
tinyblak left
02:44
tinyblak joined
02:48
kaare_ joined
|
|||
ShimmerFairy | [Coke]: for the record, my change on that was just to match existing behavior. I'd prefer if you could do +"-:16<-42>" and it came out to 0x42 (double negation) :) | 02:59 | |
03:10
ShimmerFairy left
03:22
ShimmerFairy joined
03:29
qnap``` joined
03:42
lizmat_ joined
03:43
tinyblak left,
tinyblak joined
03:44
tinyblak left
03:45
lizmat left
04:01
AlexDaniel left
04:03
BenGoldberg left
04:16
tinyblak joined
04:17
tinyblak left
04:33
Alina-malina joined
04:35
aborazmeh joined,
aborazmeh left,
aborazmeh joined
04:38
tinyblak joined
04:42
tinyblak left
|
|||
_itz | pl6anet.org/stats/ (50000+ hits per month last month) | 04:47 | |
05:10
mohij joined,
mohij left
05:14
khw left
|
|||
dalek | c: d20da36 | paultcochrane++ | lib/Type/Temporal.pod: Add an alarm clock example for sleep-till |
05:24 | |
05:28
skids left
05:45
domidumont joined
05:50
domidumont left
05:53
domidumont joined
05:58
[Sno] joined
06:01
diana_olhovik_ joined
06:02
[TuxCM] left
06:11
lizmat_ left
|
|||
FROGGS | if there is anybody around with an osx box who would like to try a branch, please ping me | 06:13 | |
bbi10 | 06:15 | ||
06:15
FROGGS left
06:19
masak_venue joined
|
|||
masak_venue | good morning, #perl6 | 06:20 | |
T minus 10 minutes for nine++'s talk | |||
06:20
RabidGravy joined
|
|||
masak_venue | 'If you go look at the Perl 6 FAQ, there's a section, "Why should I learn Perl 6?". It lists a grab-bag of language features, rather than a set of problems that Perl 6's new design can solve.' | 06:22 | |
from news.ycombinator.com/item?id=10168170 | |||
just wanted to flag that one up. seems we can do better on that FAQ answer. | |||
the whole HN thread is rather on topic and interesting, in my opinion. | 06:23 | ||
even though, as one might expect, a fair bit of it is "why Perl 6?" | |||
06:24
vendethiel joined
|
|||
masak_venue | pink_mist: I think `whenever {} else {}` would be a non-good idea from a perf perspective | 06:27 | |
RabidGravy | I think the headline could be "less boilerplate" | 06:28 | |
06:29
xdbr joined
|
|||
masak_venue | pink_mist: also, using `else` for something other than `if` -- or using it for loops at all -- feels a little too much like Python's questionable for/else | 06:32 | |
ShimmerFairy | masak_venue: well, 'if' or 'when' :) | 06:33 | |
masak_venue | ShimmerFairy: right, but even `when` is just a funny kind of `if` | ||
ShimmerFairy | I meant to say 'with', oops | ||
but still yes to what you said :) | 06:34 | ||
06:34
lizmat joined
|
|||
vendethiel | masak_venue: I think for/else is a good idea, but I dislike python's version (I prefer one where else is invoked if no iterations were made) | 06:35 | |
masak_venue | vendethiel: heh. | ||
vendethiel: I think at this point I'm of the (strange) opinion that Python's design choice is surprising/unintuitive but "right" | 06:36 | ||
"it didn't issue a `break`" is strictly more powerful than "it didn't iterate" | 06:37 | ||
also, the use case for it is "else (if we didn't find anything)", and "find anything" is usually associated with issuing a `break` | |||
ShimmerFairy | are there any cases where wrapping the loop in a conditional is really that much worse? | ||
masak_venue | yes-ish | 06:38 | |
I mean, there are worse code smells out there, but you're teetering on breaking DRY when you do `if @things { for @things { ... } } else {}` | 06:39 | ||
06:39
FROGGS joined
|
|||
ShimmerFairy | masak_venue: I can see why a break would be more powerful to do an else on, but there are phasers to be put in a loop, IIRC :) . An else-ish thing after a loop would be more useful for a loop not running at all | 06:40 | |
06:40
_mg_ joined
|
|||
lizmat | perhaps a NONE phaser ? | 06:40 | |
FROGGS | morning | ||
lizmat | to be fired whenever we didn't do *any* iterations in a loop ? | ||
ShimmerFairy | mornin' FROGGS o/ | 06:41 | |
lizmat | FROGGS o/ | ||
masak_venue | m: for [1, 2, 3], [] -> @things { unless (for @things { .say }) { say "no iterations" } } | 06:42 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«123no iterations» | ||
camelia | rakudo-moar e6f360: OUTPUT«123no iterations» | ||
masak_venue | I'm not sure how to do the "no break" thing idiomatically in Perl 6. | ||
FROGGS | lizmat: either that or allowing 'else' after loops :o) | ||
masak_venue | FROGGS: see backlog. | 06:43 | |
ShimmerFairy | Interesting idea on the phaser, but that might be problematic, depending on what kind of performance gain we get from skipping looking in a loop's block | ||
FROGGS | masak: I did | ||
masak_venue | one problem would be that the NONE phaser would run inside a scope that wasn't entered. | ||
lizmat | relatedly, I think we might need the opposite of a "once" block | ||
masak_venue | (which is allowed, but a little uncomfortable) | ||
lizmat | a block that will execute always *except* the first time | 06:44 | |
ShimmerFairy | I could also see something like 'if for @stuff { ... } else { ... }' | ||
masak_venue | lizmat: maybe we should call it a "nonce" block :P | ||
lizmat | masak_venue: the thought has crossed my mind :-) | ||
masak_venue | or call it "NEVAR" or something | ||
"NOWAI" | 06:45 | ||
ShimmerFairy | while $condition { ... } meanwhile { ... } :P | 06:46 | |
masak_venue | ShimmerFairy: the VM is not "looking in a loop's block" in any relevant sense. it's just running code it was told to run. | ||
ShimmerFairy | yeah, I figured my performance concern probably isn't much of one in any case :) | 06:47 | |
masak_venue | if that's a real worry, then you need a lower-level language | ||
but it probably isn't | |||
ShimmerFairy | masak_venue: based on my understanding, it might mean an extra subscripting call on QAST blocks in places to get to the proposed new phaser. the horror :P . | 06:48 | |
vendethiel | masak_venue: seems like iffor / nonce kind a thing would be an easy macro to add anyway..:) | 06:51 | |
.oO( did he just say "easy"? ) |
|||
masak_venue | vendethiel: yes, I think so | ||
modulo the usual "how to extend the language from a macro" open questions | 06:52 | ||
ShimmerFairy | masak_venue: to me, the first design problem that Perl 6 is there for is text processing, esp. text with non-trivial syntaxes (since grammars are soooooooooo awesome) | 06:53 | |
masak_venue | I've been talking about it with TimToady++ a little during YAPC::Europe | 06:54 | |
he has some ideas that might help | 06:55 | ||
ShimmerFairy | I'd be interested in hearing what he thinks P6 is best for solving :) | 06:56 | |
FROGGS | m: say $*KERNEL.name # lizmat: that's darwin for you, right? | ||
GLRelia | rakudo-moar 62e17b: OUTPUT«linux» | ||
camelia | rakudo-moar e6f360: OUTPUT«linux» | ||
lizmat | $ 6 'say $*KERNEL.name' | 06:57 | |
darwin | |||
FROGGS: indeed :-) | |||
FROGGS | thanks :o) | ||
RabidGravy | it should be as there is a bit of code in Process.pm tjat depends on that | ||
06:59
tinyblak joined
07:01
tinyblak left
|
|||
ShimmerFairy | lizmat: by the way, that sorting thing I had trouble with on val()? Turns out, adding a simple check to see if there are any digits in the string brought 0.^methods.sort down from 90s to 25s :P (further improvements I've done have brought it down to the tens of seconds, still twice as long as before val) | 07:02 | |
I could push the branch if you're ever interested in testing its startup time now. | 07:03 | ||
lizmat | I won't have any time today... tomorrow would be better for me | 07:04 | |
ShimmerFairy | lizmat: ok. You don't have to, I'm just offering in case you're interested in doing further comparisons :) | ||
lizmat | I am :-) just not today :-) | ||
ShimmerFairy | I'm also considering making a compile-time version of val() inside World.nqp or such, to handle strings with C<compile_time_value>s and perhaps free up some execution time :) | 07:05 | |
07:05
virtualsue joined
|
|||
lizmat | (/me is doing jnthn's talks this afternoon) | 07:05 | |
*talk | 07:06 | ||
ShimmerFairy | cool :) | ||
07:08
telex left
07:10
tinyblak joined,
telex joined
|
|||
ShimmerFairy | BTW, am I right in remembering that P6 _used_ to be the normal, direct successor to P5, until things morphed into the current sibling-like relationship between the two langs? (If so, I'd like to add that historical explanation to the FAQ) | 07:14 | |
07:14
tinyblak left
|
|||
FROGGS | ShimmerFairy: that was the original idea, aye | 07:15 | |
07:16
darutoko joined
|
|||
RabidGravy | yeah, but it's likely that went out the window after 5.8.0 came out :) | 07:16 | |
ShimmerFairy | Yeah, my understanding is "P6 started when P5 was in a slump, more work went into P5 after a while, now they're parallel-y organized, instead of serially" :) | ||
FROGGS | I can just guess but that is also what I am thinking | 07:17 | |
lizmat | I have an opinion about this ;-) | ||
FROGGS | *g* | ||
07:18
cognominal joined,
Heather joined
|
|||
ShimmerFairy | It's tempting for me to think "gee, people should've just contributed to P6 instead of giving up and going back to 5", but I assume rakudo wasn't so clearly the main impl to work on (or even existed) back then :) | 07:18 | |
Heather | hi, Pugs is still being in development? | ||
moritz | Heather: no | ||
(unless you do it :-) | |||
vendethiel | Heather: hey :). no, sadly | ||
ShimmerFairy | Not really, though I did see a commit recently that at least made it run on newer systems :) | ||
RabidGravy | I think we should re-invent the origin story like they do with superhero movies | 07:19 | |
FROGGS | Heather: long time no read! | ||
Heather | FROGGS hi | ||
lizmat | .oO( Reboot of $_ ) |
||
vendethiel | Heather: do you want to make bikini run on pugs? *g* | 07:20 | |
Heather | -_-' vendethiel I wish I can at least repair it | 07:21 | |
vendethiel | Heather: did new idris break it? | ||
Heather | vendethiel yes | ||
vendethiel | aw :( | ||
Heather | vendethiel and error is as mystic as usual | 07:22 | |
vendethiel | yes, that sounds idris-ish :-). | ||
Heather | vendethiel unless I will create yet another minimalistic reproduction | ||
vendethiel well... it's not alike mystic error this time, this time it's error inside error because it has no relation with that is really going wtong | 07:23 | ||
vendethiel | .oO( unification is both humanity's greatest strength, and its greatest weakness ) |
||
masak_venue | hi Heather, welcome back | 07:24 | |
07:24
masak_venue left
|
|||
vendethiel | I should get going, but anyway, Heather, you've contributed to Agda, Idris shouldn't be much harder :P. | 07:24 | |
Heather | vendethiel agda refused my change! :) | 07:25 | |
masak hi | |||
07:25
virtualsue left
|
|||
Heather | hell... rakudo installer is still being that kind... | 07:26 | |
lizmat | what kind? | 07:28 | |
Heather | lizmat it just unpack into folder you can't specify, without even adding it to path | 07:29 | |
panda --version returns usage but doesn't tell version | |||
lizmat | well, I guess rakudo is still too modest wrt to global installation | ||
ShimmerFairy | moarvm also still doesn't default to /usr/local for linuxes, like any sensible compilable program :P | 07:30 | |
07:30
tinyblak joined
|
|||
lizmat | about a week ago, I added infix == eq eqv candidates for 2 Promises | 07:30 | |
the idea was that you would be able to say: | 07:31 | ||
m: say (start { 42 }) == start 42 | |||
GLRelia | rakudo-moar 62e17b: OUTPUT«True» | ||
camelia | rakudo-moar e6f360: OUTPUT«True» | ||
lizmat | in other words, the infix operator would block until both results are there, and then do the comparison | ||
is this something that we would like to keep? | 07:32 | ||
Heather | pugs moved to stack :/ | ||
FROGGS | it feels rather magical but I have not enough information to judge on that | ||
ShimmerFairy | lizmat: I feel like == and eq would probably want results, since they're coercive ops, but perhaps eqv is on the Promises themselves? | 07:33 | |
lizmat | the example jnthn used in his talk, would basically become: | ||
sub MAIN($file1, $file2) { | 07:34 | ||
start { from-json(slurp($file1)) } eqv start from-json(slurp($file2)) | |||
?? 'Files contain identical JSON' | |||
!! 'Files contain different JSON'; | |||
} | |||
ShimmerFairy | lizmat: in the sense of avoiding a couple declaration lines beforehand (my $json'd1 = start ...; my $json'd2 = start ...; $json'd1 eqv $json'd2), that might be nice. | 07:35 | |
lizmat: but are there cases aside from the literal 'start' keyword that it might be helpful? I imagine "real" starts could be a too verbose to inline in an expression. | 07:36 | ||
moritz | my $same = [eqv] map start { from-json(slurp($_)) }, $file1, $file2 | 07:37 | |
lizmat | Proc::Async.start/finish returns a promise | ||
moritz | erm, the start should be inside the block, of course | ||
lizmat | anyway, I think I'll leave that out the presentation for now... :-) | 07:38 | |
ShimmerFairy | I don't think I mind comparsion ops being transparent for Promises, as long as working with the Promises themselves don't get too hard for however common it'd be to interact with those objects :) | 07:39 | |
Heather | I can't read my own perl -_-' | 07:44 | |
07:46
Loren_ joined
07:49
vendethiel left
|
|||
dalek | q: e808a96 | ShimmerFairy++ | answers.md: Add a bit to the "Why not rename it?" question Just a small historical explanation for why it has the name "Perl 6" in the first place, since that would likely aid understanding of this question :) . |
07:52 | |
07:55
kjs_ joined
07:59
virtualsue joined
08:00
_itz_ joined
08:01
z448 joined
08:03
_itz left
08:04
FROGGS left
08:05
z448 left,
virtualsue left
08:07
z448 joined
08:10
z448 left,
kjs_ left
|
|||
lizmat | what was the backronym for "Cool" again ? | 08:20 | |
(it's not in S99) | |||
ShimmerFairy | <something> Object Oriented Loop is what I remember | 08:21 | |
jdv79 | "Cool, also known as the Convenient OO Loop, is a base class for strings, numbers and other built-in classes that you are supposed to use mostly interchangeably." - doc.perl6.org/type/Cool | 08:28 | |
lizmat | jdv79++ | 08:30 | |
08:30
lizmat left
08:42
kjs_ joined
08:52
btyler_yapc joined,
zakharyas joined
|
|||
RabidGravy | is there a thingy for testing whether some code made any warnings (whilst actually hiding the warnings preferably?) | 08:53 | |
cdc | m: say '/etc/wgetrc'.IO.e | 08:56 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«True» | ||
camelia | rakudo-moar e6f360: OUTPUT«True» | ||
cdc | say '/etc/wgetrc'.IO.lines.hyper.map(* ~~ /<{'.'}>/).all.so | ||
m: say '/etc/wgetrc'.IO.lines.hyper.map(* ~~ /<{'.'}>/).all.so | |||
GLRelia | rakudo-moar 62e17b: OUTPUT«Cannot find method 'Any' in whatevercode at /tmp/pBrLk3Ugbr:1Incompatible MROs in P6opaque rebless in any mixin at src/gen/m-Metamodel.nqp:1273 in whatevercode at /tmp/pBrLk3Ugbr:1False» | ||
camelia | rakudo-moar e6f360: OUTPUT«Method 'hyper' not found for invocant of class 'List' in block <unit> at /tmp/KKX587MC47:1» | ||
btyler_yapc | hi folks -- I found a repeatable segfault that I _suspect_ is trying to write to a closed socket: gist.github.com/kanatohodets/66427...7c2616f6f2 | 08:57 | |
cdc | m: say '/etc/wgetrc'.IO.lines.map(* ~~ /<{'.'}>/).all.so | ||
GLRelia | rakudo-moar 62e17b: OUTPUT«False» | ||
camelia | rakudo-moar e6f360: OUTPUT«False» | ||
btyler_yapc | this happens with spesh, jit, and optimizations enabled or disabled. I'm happy to start trying to expose moar's async socket close to nqp if it seems like that's the right direction | 08:58 | |
08:58
Ven joined
08:59
FROGGS joined
|
|||
cdc | What does "Incompatible MROs in P6opaque rebless" ^^^ mean? It appears only when using .hyper. | 09:00 | |
diakopter | lol GLRelia | 09:02 | |
09:05
rindolf joined
|
|||
moritz | cdc: do you want it more specific than "bug"? | 09:07 | |
cdc | moritz: I was not sure :) | 09:08 | |
moritz | btyler_yapc: please opne a ticket (email to [email@hidden.address] | ||
09:08
lizmat joined
|
|||
moritz | (and yes, debugging help is also appreciated :-) | 09:10 | |
09:10
z448 joined,
z448 left
|
|||
btyler_yapc | moritz: nine just suggested trying to confirm the write-after-close issue by sleeping before socket close, and what do you know, no segfault :) | 09:11 | |
moritz | btyler_yapc: aye; but it shouldn't segfault :-) | 09:13 | |
btyler_yapc | right, of course -- this was just debugging | 09:14 | |
this was just to try to narrow down the segfault cause | 09:15 | ||
09:18
andreoss joined
09:20
laouji_ left
09:21
laouji joined,
Ven left
09:22
espadrine joined
09:23
laouji left,
laouji joined
09:25
laouji left
|
|||
andreoss | m: my @z = 1,2,3; my @x = gather take |@z; say @x. perl | 09:25 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0dV8RAOH7oUnsupported use of . to concatenate strings; in Perl 6 please use ~at /tmp/0dV8RAOH7o:1------> 031,2,3; my @x = gather take |@z; say @x. 7⏏5perl» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EC0sdkOMF4Unsupported use of . to concatenate strings; in Perl 6 please use ~at /tmp/EC0sdkOMF4:1------> 031,2,3; my @x = gather take |@z; say @x. 7⏏5perl» | ||
andreoss | m: my @z = 1,2,3; my @x = gather take |@z; say @x.perl | ||
GLRelia | rakudo-moar 62e17b: OUTPUT«[(1, 2, 3),]» | ||
camelia | rakudo-moar e6f360: OUTPUT«[1, 2, 3]<>» | ||
09:25
laouji joined
|
|||
andreoss | which is correct? | 09:25 | |
moritz | well, glr correctly implements the new semantics | 09:26 | |
09:26
laouji left
09:27
laouji joined
09:30
zakharyas left
09:33
zakharyas joined
09:43
larion joined
09:44
rmgk left,
rmgk_ joined,
rmgk_ is now known as rmgk
|
|||
andreoss | can i specify with use v... ; to which version my code belongs? | 09:46 | |
moritz | yes, but currently only 'use v6' is implemented (and possibly 'use v5' if Inline::Perl5 is installed, dunno) | 09:47 | |
andreoss | i mean like use v6 'glr'; | ||
moritz | nope | ||
09:52
kjs_ left
|
|||
ShimmerFairy | the glr branch is to be merged into nom Real Soon™, so it wouldn't be necessary for that specific thing in the future :) | 09:52 | |
And anyway, the 'v' pragma(?) is for Perl versions, not compiler versions. | |||
RabidGravy | and it doesn't really do much in P6 anyway | 09:54 | |
m: use v7 | |||
GLRelia | ( no output ) | ||
camelia | ( no output ) | ||
ShimmerFairy | As of now, at least, it's mainly useful for telling a Perl 5 compiler to back off :) | ||
andreoss | m: say v6 cmp v5 | 09:55 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«More» | ||
camelia | rakudo-moar e6f360: OUTPUT«More» | ||
ShimmerFairy | m: use v5 | 09:56 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«===SORRY!===Could not find Perl5 in any of: file#/home/steve/.perl6/2015.07.1-721-g62e17b4/lib inst#/home/steve/.perl6/2015.07.1-721-g62e17b4 file#/home/steve/sandbox/perl6/rakudo/install/share/perl6/lib file#/home/steve/sandbox/perl6/ra…» | ||
camelia | rakudo-moar e6f360: OUTPUT«===SORRY!===Could not find Perl5 in any of: file#/home/camelia/.perl6/2015.07.1-215-ge6f3602/lib inst#/home/camelia/.perl6/2015.07.1-215-ge6f3602 file#/home/camelia/rakudo-inst-2/share/perl6/lib file#/home/camelia/rakudo-inst-2/share/per…» | ||
09:59
zakharyas left
10:04
zakharyas joined
10:07
virtualsue joined
10:08
kjs_ joined
|
|||
RabidGravy | I'm about to try to print something, there may be swearing and destruction | 10:13 | |
10:14
Heather left
10:24
btyler_yapc left
10:25
_mg_ left
|
|||
jnthn | lizmat: Not fully up on backlog, but: no, I think I like the only way to wait on a Promise is .result (blocking), await (efficient) and .Supply (reactive); I'd rather keep such things visible and spelled out, not have them implicit. | 10:27 | |
yoleaux | 29 Aug 2015 21:28Z <laben> jnthn: can you check why "say \(Hash) ~~ :(*@a)" and "say \(List) ~~ :(*@a)" die with exception "Invocant requires an instance of type Hash|List, but a type object was passed." in the binder? | ||
31 Aug 2015 21:38Z <timotimo> jnthn: when you're back, could you upload t.h8.lv/MoarVM-2015.08.tar.gz to moarvm.org? | |||
3 Sep 2015 23:53Z <japhb> jnthn: jnthn.net/papers/2015-spw-perl6-course.pdf is fantastic! Some variation on that needs to be part of a future "getting started" section on perl6.org. | |||
jnthn | lizmat: Otherwise it'll become a "list to remember" | 10:28 | |
lizmat | jnthn | 10:29 | |
jnthn: ok | |||
baest | do perl6 have autoload? | ||
10:31
btyler_yapc joined
|
|||
btyler_yapc | did some more fruitful digging on the segfaulty thing -- the handle is NULL by the time the write task takes place; it's clear that this isn't an issue of lacking nqp::asyncclose because closefh already maps to the right thing in moar for async sockets | 10:33 | |
10:34
rurban joined
|
|||
lizmat | m: class A { method FALLBACK($a) { say $a } }; A.foo # baest AUTOLOAD in Perl 6 | 10:36 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«foo» | ||
camelia | rakudo-moar e6f360: OUTPUT«foo» | ||
baest | lizmat: thanks! I just saw the method CANDO, is that outdated? | 10:38 | |
10:40
masak_venue joined
|
|||
masak_venue | hey, #perl6, I wrote this: gist.github.com/masak/b84a87a694217c9508d6 | 10:40 | |
I was sad to see I got a scary exception when running it :/ | |||
maybe someone can help me? | |||
diegok | -o/ masak_venue | 10:41 | |
masak_venue | \o | ||
lizmat | baest: I think CANDO is still NYI | ||
virtualsue | m: say (1,2).WHAT | 10:42 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«(List)» | ||
camelia | rakudo-moar e6f360: OUTPUT«(Parcel)» | ||
10:42
tinyblak left,
tinyblak joined
|
|||
masak_venue | I think "Cannot invoke this object" in this case is at the very least unexpected, and probably reportable as a bug | 10:42 | |
baest | lizmat: Ok, but FALLBACK is pretty cool anyways, elegant and simple | ||
lizmat | S12:606 | ||
synbot6 | Link: design.perl6.org/S12.html#line_606 | ||
masak_venue | ok, it happens in the first .map | 10:43 | |
10:43
tinyblak left
10:44
Ven joined,
ldc joined
|
|||
moritz | m: constant nums = 1, 2, 3 ... Inf; say nums | 10:47 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«Cannot .elems a lazy list in block <unit> at /tmp/jwYZbBpc4N:1Actually thrown at: in block <unit> at /tmp/jwYZbBpc4N:1» | ||
camelia | rakudo-moar e6f360: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 8…» | ||
masak_venue | I've golfed it down to something that requires newlines. | 10:49 | |
let me try to paste it here | |||
m: constant nums = 1, 2, 3 ... Inf;constant fizzbuzz = nums\ .map({ $_ %% 3 ?? "Fizz" !! $_ }); | 10:50 | ||
GLRelia | rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1J8VbjABI1An exception occurred while evaluating a constantat /tmp/1J8VbjABI1:2Exception details: 5===SORRY!5=== Error while compiling  Cannot invoke this object (REPR: Null, cs = 0) at…» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kAAlvWKBSoAn exception occurred while evaluating a constantat /tmp/kAAlvWKBSo:2Exception details: 5===SORRY!5=== Error while compiling  Cannot invoke this object (REPR: Null, cs = 0) at…» | ||
masak_venue | if I inline `nums`, the problem goes away | ||
if I remove the unspace, the problem goes away | |||
10:50
raiph left
|
|||
masak_venue | vewwy stwange | 10:50 | |
masak_venue submits rakudobug | |||
ShimmerFairy | m: constant nums = 1; constant fizzbuzz = nums\.map({ $_ }); | 10:54 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Y2BW2WrSV9An exception occurred while evaluating a constantat /tmp/Y2BW2WrSV9:1Exception details: 5===SORRY!5=== Error while compiling  Cannot invoke this object (REPR: Null, cs = 0) at…» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VVtZHQ5EZSAn exception occurred while evaluating a constantat /tmp/VVtZHQ5EZS:1Exception details: 5===SORRY!5=== Error while compiling  Cannot invoke this object (REPR: Null, cs = 0) at…» | ||
ShimmerFairy | masak_venue: a bit shorter :) | ||
10:54
wtw left,
wtw joined
|
|||
masak_venue | thank you | 10:55 | |
ShimmerFairy | m: my \nums = 1; constant fizzbuzz = nums\.map({ $_ }); | ||
GLRelia | rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GsejRQtSaAAn exception occurred while evaluating a constantat /tmp/GsejRQtSaA:1Exception details: 5===SORRY!5=== Error while compiling  Cannot invoke this object (REPR: Null, cs = 0) at…» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/J5ZF7NN3EUAn exception occurred while evaluating a constantat /tmp/J5ZF7NN3EU:1Exception details: 5===SORRY!5=== Error while compiling  Cannot invoke this object (REPR: Null, cs = 0) at…» | ||
masak_venue | lunch & | 10:56 | |
10:56
masak_venue left
|
|||
ShimmerFairy | m: my \nums = 1; nums\.map({ $_ }); | 10:56 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4GMO_WE26UVariable '&nums' is not declaredat /tmp/4GMO_WE26U:1------> 3my \nums = 1; 7⏏5nums\» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u9FZZNPAsjVariable '&nums' is not declaredat /tmp/u9FZZNPAsj:1------> 3my \nums = 1; 7⏏5nums\» | ||
ShimmerFairy | ^ that's probably related | ||
10:56
lizmat left
10:57
btyler_yapc left
10:58
virtualsue left
11:01
zakharyas left
|
|||
RabidGravy | printer restored to shelf, no-one was injured. | 11:03 | |
11:04
laouji left
11:10
rurban left
11:16
kjs_ left,
rurban joined
11:20
_mg_ joined
|
|||
Ven | .tell lizmat irclog.perlgeek.de/perl6/2015-09-04#i_11168004 design.perl6.org/S02.html#Undefined_types | 11:21 | |
yoleaux | Ven: I'll pass your message to lizmat. | ||
11:35
colomon joined
11:38
kjs_ joined
11:39
rurban left
11:47
rurban joined
11:50
rurban left
11:51
aborazmeh left
11:52
xinming joined
12:00
xfix joined,
xfix left,
xfix joined
12:12
Ven left
12:13
Ven joined
|
|||
TimToady | trying to make List into a tuple type doesn't work | 12:21 | |
(because it ends up forcing non-lazy trying to determine WHICH) | |||
ShimmerFairy | So we'd need a separate Tuple type if we wanted one, then? | 12:22 | |
TimToady | m: prolly | 12:24 | |
GLRelia | rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nlBK7doQzyUndeclared routine: prolly used at line 1. Did you mean 'roll'?» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dSKxLGMuEEUndeclared routine: prolly used at line 1. Did you mean 'roll'?» | ||
TimToady | oops | 12:25 | |
dalek | kudo/glr: 17411ef | TimToady++ | src/core/List.pm: List can't be Tuple We can't afford to have WHICH based on all the elements of List, for two reasons: it's slow, and its .elems is forcing eagerness that causes the self-reference check to bring on heat-death of the universe. |
12:31 | |
12:32
rurban joined
12:33
btyler_yapc joined
|
|||
TimToady | 'sides, it breaks one of my slides... | 12:33 | |
12:35
JimmyZ joined
|
|||
FROGGS | SDD++ | 12:38 | |
12:43
rurban left
12:45
sufrostico joined
|
|||
Ven notices he's started to use ?? everytime he wants to write a ternary, even in ruby... | 12:46 | ||
moritz in perl 5 too | |||
FROGGS | same here :S | 12:48 | |
timotimo | yeah, ?? !! seems quite a bit nicer than ? : | ||
FROGGS | but more often I use ~ to concat stuff in P5 | ||
timotimo | oh my ~.~ | ||
daxim | unfilled array elements: I know they stringify to the empty string and their type is Any, but what is their value? | ||
moritz | daxim: Any | ||
timotimo | daxim: their value is Any, too | ||
moritz | daxim: the type object | 12:49 | |
[Coke] | m: my @a; @a[4]=3; say @a[1].WHAT; | 12:53 | |
GLRelia | rakudo-moar 17411e: OUTPUT«(Any)» | ||
camelia | rakudo-moar e6f360: OUTPUT«(Any)» | ||
12:54
inokenty left
|
|||
daxim | what's the design decision for making exists and deletes adverbs and not a method like kv? | 12:57 | |
12:57
btyler_yapc left
|
|||
jdv79 | daxim: i have wondered that but didn't care enough to ask | 12:58 | |
they seem like outliers | 12:59 | ||
timotimo | because we'd have to have delete_pos and delete_key | ||
for things that behave like Match or Capture, i.E. things that have both positional and associative functionality | |||
daxim | can you give a concrete example? | ||
timotimo | i never can :P | 13:01 | |
FROGGS | if there was a method called .exists instead of the adverb, you would call .exists on Any | 13:02 | |
... on any Any in fact | |||
so what if you store Any to a slot of an array? the slot exists then but would be the same Any as a slot that is made up for you because you asked for it | 13:03 | ||
timotimo | mhm | ||
FROGGS | and adverbs get passed to the method, like AT-POS for the postcircumfix [] | ||
and this method can then properly check if a slot exists or not | |||
13:03
Ven left
|
|||
FROGGS | daxim: so in every case you want to talk to the method that is returning something instead of talking to the return value directly, you'd probably want adverbs | 13:04 | |
daxim | is that the generalised explanation for the existence of adverbs? | 13:05 | |
timotimo | a little bit | 13:06 | |
FROGGS | daxim: put differently: adverbs are just flags to the sub/method they get applied on, so these subs/methods can do different stuff then usual | 13:07 | |
timotimo | i'm not sure it helps daxim, though? | 13:10 | |
13:10
btyler_yapc joined
|
|||
FROGGS | I don't know :o) | 13:10 | |
daxim | it is still a bit vague, but that's not the fault of your explanation, but my lack of experience. I figure it will sink in later | 13:11 | |
ShimmerFairy | daxim: our hashes and arrays don't have some sort of encapsulating type around values it returns, so you can't really define a method to go after the subscripting. | 13:12 | |
daxim: and when you think "I could just put a method before the subscript instead, to modify what the subscript does!", well, that's what adverbs are suited for. :) | |||
timotimo | ShimmerFairy: i don't think that's what daxim is suggesting, though. as i understand it, it's more like "why not @foo.exists(10) or %test.exists('hello')" | 13:13 | |
13:14
[TuxCM] joined
|
|||
jdv79 | imo adverbs stick out as an inconsistency or a rarity where the why is not obvious. | 13:16 | |
ShimmerFairy | daxim: if what timotimo said is true, then in that case there's the argument that :exists and :delete are better for demonstrating the fact that you're basically subscripting, just something slightly different happens. | ||
.exists(42) or .delete("foo") don't visually look like a subscript access, even though that's the main thing happening in those operations ("find this thing, but just tell me if it exists" / "find this thing, and delete it") | 13:18 | ||
[Coke] now controlls @perlhex | 13:20 | ||
timotimo | cool | ||
friendly take-over! >:) | |||
[Coke] has no idea what to DO with it, mind. | 13:21 | ||
timotimo | we'll hopefully be able to help you with that | ||
it's supposed to be for interesting/enlightening one-liners and snippets, right? | |||
[Coke] | Sure. :) | 13:22 | |
moritz | ShimmerFairy, daxim, timotimo: $match.exists($key) wouldn't make it obvious if $match{$key}:exists or $match[$key]:exists is meant | ||
13:23
skids joined,
masak_venue joined
|
|||
moritz | and for things like IntStr (subclass of both Int and Str), a type-based distinction is impossible | 13:23 | |
ShimmerFairy | ah yes, there's that critical detail as well :) | ||
jdv79 | you might be able to just pick random p6 rosetta snippets | ||
masak_venue | I have a question about rosettacode.org/wiki/Man_or_boy_test#Perl_6 | ||
timotimo | i already said that! :) | ||
ShimmerFairy | Ah look, here's one now! | ||
moritz | also, we wouldn't get autoquoting from %h<key>>exists | ||
masak_venue | how come it works as stated, but not when I change `--$k` to `$k - 1` ? | ||
jdv79 | ha | ||
moritz | timotimo: yes, but I don't know if your point came accross | ||
timotimo | neither do i :S | 13:24 | |
masak_venue | when I change it to `$k - 1` it hangs. and I don't immediately see why it should even be different. | ||
what am I missing? :) | |||
ShimmerFairy imagines a special P6 keyboard that just has «» keys, perhaps as supershift™+,/supershift™+. | 13:25 | ||
timotimo | neo2 has those :P | ||
it has something very similar to supershift™ | |||
13:26
masak_venue left
|
|||
daxim | in X you can use Compose out of the box, no need to learn a whole 'nother layout like neo | 13:26 | |
timotimo | of course | ||
but neo is amazing | |||
13:26
hernanGOA joined
|
|||
ShimmerFairy | I use compose as well, perhaps the special keyboard is just a set-aside Compose key :) | 13:26 | |
timotimo | it'd be pretty cool if other layouts got the "multiple layers" treatment neo2 has without rearranging all the basic letters | 13:27 | |
so it'd be much less of a re-learn for regular folks | |||
ShimmerFairy | (or as the config files would have it, a "Multi_key", which can almost fit into our use of the word "multi") | ||
timotimo | isn't it more like an adverb key? :P | ||
ShimmerFairy | a slang key, surely :) | 13:28 | |
daxim | btw neo was designed before the author learned about duckduckgo.com/?q=ISO_LEVEL5_SHIFT that's why its levels and resp. shift keys are so quirky | ||
timotimo | "quirky" meaning "doesn't work in java applications", right | 13:29 | |
? | |||
daxim | ? | 13:30 | |
timotimo | i don't think i understand what you mean :| | ||
the first few results from that search are all "how do i get my level 5 arrow keys to work with $foo" | |||
and yeah ... it's difficult to make that work across everything | 13:33 | ||
QtCreator on windows, for example ... very frustrating | |||
[Coke] | The description at rosettacode.org/wiki/Category:Perl_6 could be updated to mention Christmas. | 13:37 | |
13:37
charsbar joined
13:39
muraiki joined
|
|||
muraiki | hihi | 13:39 | |
timotimo | ohai | ||
13:41
Ven_ joined
13:42
charsbar left
13:43
charsbar joined
13:45
[TuxCM] left
|
|||
cdc | m: react { whenever supply { for "/etc/os-release".IO.lines { emit $_ }; done } { .say } } | 13:46 | |
GLRelia | rakudo-moar 17411e: OUTPUT«PRETTY_NAME="Debian GNU/Linux 8 (jessie)"Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:1Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/shar…» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ykCFEpuHxMUndeclared routines: done used at line 1. Did you mean 'none', 'one'? emit used at line 1. Did you mean 'exit'?» | ||
13:46
kjs_ left
|
|||
cdc | why does it^ work only for the first line? | 13:47 | |
I mean, in this example, "emit" is not from the "react" block, it is from the "supply" block and should be used by "whenever". | 13:49 | ||
[Coke] | I think move the supply outside of the react. testing.. | 13:50 | |
cdc | it is already the case with my not-reduced code. | 13:51 | |
my $s = supply { for "/etc/os-release".IO.lines { emit $_ }; done }; react { whenever $s { | 13:52 | ||
m: my $s = supply { for "/etc/os-release".IO.lines { emit $_ }; done }; react { whenever $s { .say } } | |||
GLRelia | rakudo-moar 17411e: OUTPUT«PRETTY_NAME="Debian GNU/Linux 8 (jessie)"Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:1Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/shar…» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3NldpYeH3cUndeclared routines: done used at line 1. Did you mean 'none', 'one'? emit used at line 1. Did you mean 'exit'?» | ||
timotimo | huh, so the dynamic scope somehow gets messed up? | 13:54 | |
or the handler only fires once for some reason? | |||
i'm not sure if we even expect this to work properly? | 13:55 | ||
m: my $s = supply { emit 1; emit 2; emit 3; }; react { whenever $s { .say } } | |||
GLRelia | rakudo-moar 17411e: OUTPUT«1Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:1Useless use of emit in react in any at /home/steve/sandbox/perl6/rakudo/install/share/perl6/runtime/CORE.setting.moarvm:1» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0QyO8_37T6Undeclared routine: emit used at line 1. Did you mean 'exit'?» | ||
timotimo | i think we expect emit inside a supply { } only as a reaction to a whenever triggering something? perhaps? or something like that? | ||
dalek | ecs: a71e379 | skids++ | S99-glossary.pod: Add "list to remember" to glossary |
13:56 | |
timotimo | as in, the first time the block inside runs, it's only for setup? | ||
13:56
Ven_ left
13:57
FROGGS left
|
|||
cdc | .ask jnthn is irclog.perlgeek.de/perl6/2015-09-04#i_11168945 a bug or a misunderstanding on my part? Thanks in advance! | 13:59 | |
yoleaux | cdc: I'll pass your message to jnthn. | ||
RabidGravy | m: react { whenever Supply.from-list("/etc/os-release".IO.lines) { .say }} | 14:01 | |
GLRelia | rakudo-moar 17411e: OUTPUT«PRETTY_NAME="Debian GNU/Linux 8 (jessie)"NAME="Debian GNU/Linux"VERSION_ID="8"VERSION="8 (jessie)"ID=debianHOME_URL="www.debian.org/"SUPPORT_URL="http:...an.org/"» | ||
camelia | rakudo-moar e6f360: OUTPUT«NAME=openSUSEVERSION="13.2 (Harlequin)"VERSION_ID="13.2"PRETTY_NAME="openSUSE 13.2 (Harlequin) (x86_64)"ID=opensuseANSI_COLOR="0;32"CPE_NAME="cpe:/o:opensuse:opensuse:13.2"BUG_REPORT_URL="bugs.opensuse.org"HOME_URL="https://…» | ||
timotimo | we can probably install a handler for EMIT around the initial creation of the supply or react block and give a better error message in any case | ||
cdc | timotimo: thanks! :) | 14:04 | |
timotimo | all thanks should go to RabidGravy :) | ||
cdc | RabidGravy: thanks! :) too ;) | 14:05 | |
however, I'm still wondering why "Supply.from-list" doesn't behave like "supply { for { emit } }" ... | |||
14:09
n0tjack joined
|
|||
RabidGravy | the parser doesn't get to see the already compiled emit | 14:11 | |
timotimo | hm? | ||
14:12
Ven_ joined
|
|||
RabidGravy | the useless use of emit is in the grammar I think | 14:12 | |
PerlJam | src/core/Supply.pm line 1065 | 14:14 | |
jnthn | cdc: Looks like a bug, probbly 'cus I implemented the whole lot supply/react/whenever in 6 hours on a plane... :) | 14:18 | |
yoleaux | 13:59Z <cdc> jnthn: is irclog.perlgeek.de/perl6/2015-09-04#i_11168945 a bug or a misunderstanding on my part? Thanks in advance! | ||
cdc | jnthn: ok, not a big worry then :) Thanks ! | ||
cdc would be capable to implement awesomeness in 6 hours too ... | 14:19 | ||
PerlJam | Is there a way (besides using tap) to say whenever $supply.is-done { do-something } ? | ||
jnthn | PerlJam: whenever is a loop ;) | 14:20 | |
whenever $supply { LAST do-something() } | |||
PerlJam | doh! | ||
yeah, I keep forgetting that . IT doesn't look loopy enough to me :) | |||
jnthn | for $seq -> $value { } | ||
whenever $supply -> $value { } | |||
;) | |||
timotimo | ohai jnthn | 14:21 | |
jnthn | o/ timotimo | 14:22 | |
cdc | For information: RT #125987 Unexpected "Useless use of emit in react" | 14:23 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125987 | ||
14:23
andreoss` joined
|
|||
btyler_yapc | on the topic of whenever and react, I'm about to present this as a lightning talk at YAPC::EU: gist.github.com/kanatohodets/8ffb1...04c80225cc | 14:24 | |
jnthn | cdc: Thanks :) | ||
14:24
khw joined
14:25
lizmat joined
|
|||
jnthn | btyler_yapc: cute :) | 14:25 | |
RabidGravy | is this stuff fairly settled? If so I'll stick it in the docs | ||
14:25
andreoss left
|
|||
jnthn | RabidGravy: Yeah, and you may find my original gist on it informative | 14:25 | |
Though it's not all done and as I mentioned a moment ago was done on a pretty short timescale ;) | |||
I'll be polishing :) | 14:26 | ||
14:26
kjs_ joined
|
|||
btyler_yapc | same thing with IO::Select in perl5 also now in that gist (I gave a talk about event loop workings at SPW, and that was my simple example) | 14:26 | |
lizmat | messages! | 14:27 | |
yoleaux | 11:21Z <Ven> lizmat: irclog.perlgeek.de/perl6/2015-09-04#i_11168004 design.perl6.org/S02.html#Undefined_types | ||
RabidGravy | jnthn, cool, I haven't checked the original gist since before you implemented it :) | ||
lizmat | jnthn: I managed to do your 50 min talk in 25 :-( | ||
good thing there were some questions... | |||
RabidGravy | lizmat, I always seemed to deliver talks in half the alloted time | 14:28 | |
jnthn | lizmat: ...how?! | 14:29 | |
I overran my slot at SPW o.O | |||
Apparently I waffle a lot :P | |||
14:29
FROGGS joined
|
|||
timotimo | oh, waffles are great, though! | 14:29 | |
RabidGravy | gaufres! | 14:30 | |
ShimmerFairy | jnthn: you took all the extra time then, clearly! :P | 14:31 | |
lizmat | jnthn: I just spoke too fast, didn't pace myself properly | ||
I guess I'm a bit out of touch with presenting | |||
was the first presentation for a large group I gave in a long time (a year to be precise) | 14:32 | ||
14:32
yqt joined
|
|||
jnthn | lizmat: Still, good you filled the slot I had to vacate with something 6y :) | 14:33 | |
lizmat++ | |||
14:33
yqt left
|
|||
lizmat | thank you :-) | 14:33 | |
14:33
yqt joined
|
|||
lizmat | especially since DrForr's talk was cancelled due to his unfortunate fall | 14:33 | |
timotimo | argh, i hope he gets well soon! | ||
lizmat | basically, he did an mst | 14:34 | |
timotimo | so it was very loud? | ||
lizmat | no, it was very broken | ||
the hip, then | |||
14:35
btyler_yapc left
|
|||
lizmat | daxim: if you really want to check for existence of a key in a hash and not use adverbs | 14:35 | |
m: my %h = a => 42; say %h.EXISTS-KEY('a') | 14:36 | ||
GLRelia | rakudo-moar 17411e: OUTPUT«True» | ||
camelia | rakudo-moar e6f360: OUTPUT«True» | ||
lizmat | m: my %h = a => 42; say %h.DELETE-KEY('a'); say %h | ||
GLRelia | rakudo-moar 17411e: OUTPUT«42» | ||
camelia | rakudo-moar e6f360: OUTPUT«42» | ||
pink_mist | 0_o that's suprising to me | ||
*surprising | |||
lizmat | but that won't work for slices | ||
just for single values | 14:37 | ||
it's basically directly using the underlying logic | |||
pink_mist | oh wait, it isn't surprising; I missed that you had a say in front of the delete | ||
14:38
kjs_ left
|
|||
daxim | good to know, "underlying" means where? | 14:38 | |
jnthn | EXISTS-KEY is the low-level API a collection type actually implemented so the @foo{$x}:exists actually works | 14:39 | |
14:39
yqt left
|
|||
ShimmerFairy | the default [] and {} implementations use methods like EXISTS-KEY or AT-POS as part of their logic, to make supporting those for your own classes easier | 14:39 | |
jnthn | @foo{@keys}:exists calls .EXISTS-KEY on each key in the slice, for example | 14:40 | |
daxim | anyone else bothered by the distortions of history in the first paragraph of <news.ycombinator.com/item?id=10168821>? | 14:42 | |
14:42
rindolf left
|
|||
[Coke] | "most of the core language developers were working on Perl 6" seems especially false. | 14:44 | |
RabidGravy | m: class M is Hash { method EXISTS-KEY(|c) { say "boo"; nextsame; }}; my M $m = M.new; say $m{42}:exists; # for reference | ||
GLRelia | rakudo-moar 17411e: OUTPUT«booFalse» | ||
camelia | rakudo-moar e6f360: OUTPUT«booFalse» | ||
jnthn | daxim: I might still be if I'd not heard the line a thousand times and grown too thick a skin to care any more. :) | 14:45 | |
[Coke] | in other news: people still read ycombinator? | ||
diakopter | thick++ skin++ | ||
[Coke] | A wild diakopter++ appears! | ||
14:45
kjs_ joined
|
|||
[Coke] waves | 14:46 | ||
diakopter particles | |||
timotimo | most of the core language developers were working on perl 6 !!! | 14:47 | |
cool! | |||
RabidGravy | nearer to 5.6.0 than 5.8.0 | ||
timotimo | so in this parallel universe, perl 6 has already been past its "finished release" for the last 10 years | ||
competing implementations of perl 6, with hatred and contempt between all of them | 14:48 | ||
every team trying their best to swipe the rug from under the feet of the other implementing teams in order to grasp the golden perl 6 graal first | |||
diakopter | [Coke]: to answer your HN question: cs.stanford.edu/people/karpathy/hn...lysis.html | ||
14:48
rindolf joined
|
|||
ShimmerFairy | timotimo: I think someone threw the grail against the wall before the fights begun, though :P | 14:49 | |
14:49
braintwist left
|
|||
timotimo | and then, the perl 5 camp committed to regular releases, out of spite towards the perl 6 people, who became more and more foreign to them | 14:49 | |
jdv79 | did someone say waffles? i could do a few right now. | 14:50 | |
timotimo | jdv79: look in front of you now. | ||
do you have a waffle? | |||
jdv79 | i read hn all the time | ||
timotimo | wouldn't you be happier if you did? | ||
jdv79 | i do not | ||
sadly | |||
diakopter | [Coke]: also this porter.io/blog/hackernews-cheaters...f-you-can/ | ||
jdv79 | completely | ||
RabidGravy | no time for gofres there's beer ro be drunk | 14:51 | |
[Coke] | huh. | 14:52 | |
14:54
inokenty joined,
_mg_ left,
pat_js joined
14:56
Ven_ left
14:59
Ven_ joined
|
|||
[Coke] | hoelzro: if I try #125977, I get Type check failed in binding &code; expected 'Callable' but got 'Hash' | 15:02 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125977 | ||
15:03
Averna joined
|
|||
hoelzro | [Coke]: ah, my bad; I should've posted my actual script | 15:04 | |
hoelzro fixes it | |||
[Coke] | hoelzro: I added a "say 1" in there, segfaults fine. :| | ||
note that if I just use 1;, it completes and doesn't segfault. | 15:05 | ||
15:06
njmurphy joined
|
|||
[Coke] | RT: 1,037 tickets again. :| | 15:06 | |
15:07
diana_olhovik_ left
|
|||
hoelzro | [Coke]: the pointy block version should probably segfault; I just added it to the ticket | 15:07 | |
grondilu | m: class A { has @!a handles <at_pos>; submethod build(:@a) {} }; say A.new(:a(my @ = 1))[0]; | ||
GLRelia | rakudo-moar 17411e: OUTPUT«A.new» | ||
camelia | rakudo-moar e6f360: OUTPUT«A.new» | ||
grondilu | m: class A { has @!a handles <at_pos>; submethod BUILD(:@a) {} }; say A.new(:a(my @ = 1))[0]; | ||
GLRelia | rakudo-moar 17411e: OUTPUT«A.new» | ||
camelia | rakudo-moar e6f360: OUTPUT«A.new» | ||
15:08
kinslayer joined
15:10
zakharyas joined
|
|||
jnthn figures he's an hour or so's worth of energy to hack on something :) | 15:13 | ||
Maybe like merging glr into nom :) | 15:14 | ||
hoelzro | dun dun dun | 15:15 | |
RabidGravy | jnthn++ # plan! I've only got a few hours hacking to fix my modules before I off to Beefa | 15:16 | |
hoelzro | then we can start removing deprecations =) | ||
15:16
telex left
15:18
telex joined
15:20
njmurphy left,
rarara joined
|
|||
grondilu | m: class A { has @!a handles <at_pos>; submethod build(:@a) { @!a = @a } }; say A.new(:a(my @ = 1))[0]; | 15:20 | |
GLRelia | rakudo-moar 17411e: OUTPUT«A.new» | ||
camelia | rakudo-moar e6f360: OUTPUT«A.new» | ||
grondilu | m: class A { has @!a handles <at_pos>; submethod BUILD(:@a) { @!a = @a } }; say A.new(:a(my @ = 1))[0]; | ||
GLRelia | rakudo-moar 17411e: OUTPUT«A.new» | ||
camelia | rakudo-moar e6f360: OUTPUT«A.new» | ||
grondilu | tinyurl.com/phq49fm | 15:23 | |
jnthn | It's called AT-POS now, not at_pos | ||
# Your branch is ahead of 'origin/nom' by 510 commits. | 15:24 | ||
So commit! | |||
RabidGravy | wahay! | ||
grondilu, --> | |||
m: class A does Positional { has @!a handles <AT-POS>; submethod BUILD(:@a) { @!a = @a } }; say A.new(:a(1,2))[0]; | |||
grondilu | oh OK, a deprecation warning for at_pos would be nice | ||
camelia | rakudo-moar e6f360: OUTPUT«1» | ||
GLRelia | rakudo-moar 17411e: OUTPUT«1» | ||
grondilu | I suppose that may explain why my Clifford module was broken | 15:25 | |
RabidGravy | it never gets called so it can't be deprecated as it were | ||
flussence | should trait_mod:<handles> check .^can on the thing it's attaching to and throw a warning for things like that? | 15:26 | |
jnthn | grondilu: It's been, like, months and months. | ||
grondilu | yeah sorry I haven't done any perl6 related stuff for quite some time. | 15:27 | |
jnthn | grondilu: No probs; just noting there almost certainly was such a message until rather recently :) | 15:30 | |
bah, I did the spectest without merging glr into master in roast also... | |||
std: class Foo { method bar { } }; Foo.new.bar:; | 15:33 | ||
15:33
GLRelia left
|
|||
camelia | std 28329a7: OUTPUT«5===SORRY!5===Illegal use of colon as invocant marker at /tmp/xoqG0_SJVe line 1:------> 3ass Foo { method bar { } }; Foo.new.bar:7⏏5;Check failedFAILED 00:00 138m» | 15:33 | |
jnthn | std: class Foo { method bar { } }; Foo.new.bar: ; | ||
camelia | std 28329a7: OUTPUT«ok 00:00 136m» | ||
jnthn | "ass Foo" :D | ||
15:34
GLRelia joined
|
|||
GLRelia | std : OUTPUT«Can't chdir to '/home/steve/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 171. EvalbotExecuter::_auto_execute(HASH(0x206fe38), "class Foo { method bar { } }; Foo.new.bar:;", GLOB(0x23ad250), "/tmp/5P6bBXa6If", "std") called at lib/EvalbotExecute…» | 15:34 | |
FROGGS | what the | ||
what is that rude jnthn doing in here! :D | 15:35 | ||
jnthn | I love how the error started "Illegal use of colon"... :P | ||
FROGGS | *g* | 15:37 | |
jnthn | Some spectest fallout with the merge, but I'm going to push it and we can clean it up together :) | ||
dalek | Heuristic branch merge: pushed 510 commits to rakudo/nom by jnthn | 15:38 | |
Heuristic branch merge: pushed 276 commits to roast by jnthn | |||
jnthn | It's done! \o/ | ||
FROGGS | ohh, is that the glr -> nom merge? | 15:39 | |
RabidGravy | apparently | ||
FROGGS | \o/ | ||
jnthn | Yes :) | 15:40 | |
RabidGravy | jnthn++ # nothing like a spot of jfdi on a friday | ||
FROGGS | ohh a pro pos jfdi... I'm intending merging C++ support this weekend | 15:41 | |
jnthn | Yeah, well, the backlogs were full of consensus this and what would jnthn do that...so I decided to jfdi :) | ||
FROGGS | it cannot hurt but it will let es get in in shape by playing with it... | ||
jnthn | FROGGS: +1, I've been fine with that merge for a good while :) | ||
FROGGS | yay! | ||
jnthn: AFAICT g++, clang++ and cl pass the sanity tests | 15:42 | ||
RabidGravy | FROGGS++ # groovetastic - I can take the shonky C wrapper out of the soundtouch module | ||
15:42
rarara left
|
|||
FROGGS | RabidGravy: ohh, that will mean that I'll get feedback :o) | 15:42 | |
jnthn | I guess now I've done the merge I should be good and help clean up some spectests :) | 15:43 | |
FROGGS | I'll hook in in about 3 hours, when the kids are in bed | 15:44 | |
15:49
Averna left,
rangerprice joined
15:51
thou left
|
|||
dalek | ast: 777fc21 | jnthn++ | S02-magicals/KERNEL.t: Extra test for easier failure analysis. |
15:54 | |
kudo/nom: 0802eec | jnthn++ | src/core/Kernel.pm: Add missing `flat` to fix signals test on Win32. |
15:55 | ||
jnthn | That's one down :) | ||
15:55
dustinm` left
15:56
dustinm` joined
|
|||
jnthn | Ah, a bunch of the new failures are 'cus TimToady decided List.WHICH should go away. :) | 15:56 | |
lizmat | :-) | 15:58 | |
I see 7 | |||
one of which is an OS X known issue | |||
so we're really at 6 :-) | |||
jnthn | At least 3 are about the TimToady change | 15:59 | |
I guess I'll fix them and if we get a Tuple-y type in the future we just write tests for that | 16:00 | ||
16:01
xfix left
16:03
cbk1090 left
|
|||
Loren_ | sub MAIN(@files) { for @files -> $f { } } | 16:03 | |
16:03
dalek left
16:04
dalek joined,
ChanServ sets mode: +v dalek
|
|||
ugexe | sub MAIN(*@files) { for @files -> $f { } } | 16:05 | |
Loren_ | sub MAIN(@files) { for @files -> $f { say $f; } } > merge.pl , I use like this ./merge.pl something.txt, but it's not working | ||
grondilu | hang on. Has the GLR just happened? | ||
jnthn | grondilu: yes | ||
dalek | ast: f12a825 | jnthn++ | S (2 files): Fixes now List is back to being a reference type. |
||
grondilu | jnthn++ | 16:06 | |
jnthn | (many other folks)++ made it possible :) | ||
16:06
masak_venue joined
|
|||
Loren_ | Oh.. thks. | 16:06 | |
ugexe, thks | |||
FROGGS | the next steps probably are to check all modules and try to find issues in the implementation | ||
ugexe | glad i could answer it before you could ask :) | ||
grondilu | so any early estimate on perf improvement or is that too soon? | ||
FROGGS | and after that looking into optimizations and cleanups | ||
masak_venue | m: sub foo( Str &b:(Bool --> Int) ) { say "alive" }; foo( sub (Bool) { 42 } ) | 16:07 | |
GLRelia | rakudo-moar 17411e: OUTPUT«Type check failed in binding &b; expected 'Callable[Str]' but got 'Sub' in sub foo at /tmp/ubc2f2A6Cn:1 in block <unit> at /tmp/ubc2f2A6Cn:1» | ||
camelia | rakudo-moar e6f360: OUTPUT«Type check failed in binding &b; expected 'Callable[Str]' but got 'Sub' in sub foo at /tmp/fBPFLs3lWv:1 in block <unit> at /tmp/fBPFLs3lWv:1» | ||
FROGGS | grondilu: it is too early | ||
masak_venue submits rakudobug | |||
jnthn | masak_venue: Wait, why? | ||
masak_venue | (it ignores the inner/Int return type directive) | ||
jnthn | Oh... | 16:08 | |
DIHWIDT :P | |||
masak_venue | I think it should fail by forbidding doubly declaring it like that | ||
jnthn | Yeah, there's precedent for trying to catch such thinkos | ||
masak_venue | jnthn: yes, lichtkind did it by mistake and didn't even realize. | ||
16:08
zakharyas left
|
|||
jnthn | m: my Int foo() returns Str { } | 16:08 | |
GLRelia | rakudo-moar 17411e: OUTPUT«5===SORRY!5===Type 'Int' is not declared. Did you mean 'int'?at /tmp/kE7BRJqeZr:1------> 3my Int 7⏏5foo() returns Str { }Malformed myat /tmp/kE7BRJqeZr:1------> 3my Int 7⏏5foo() returns Str { }» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5===Type 'Int' is not declared. Did you mean 'int'?at /tmp/FG3lZlDRBh:1------> 3my Int 7⏏5foo() returns Str { }Malformed myat /tmp/FG3lZlDRBh:1------> 3my Int 7⏏5foo() returns Str { }» | ||
masak_venue | it would be nice to catch it and throw the perfect error message | ||
jnthn | m: my Int sub foo() returns Str { } | ||
GLRelia | rakudo-moar 17411e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KWyJw7BEBSRedeclaration of return type for foo (previous return type was Int)at /tmp/KWyJw7BEBS:1» | ||
camelia | rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RNk5jWh_lGRedeclaration of return type for foo (previous return type was Int)at /tmp/RNk5jWh_lG:1» | ||
jnthn | Something like that | ||
masak_venue | yes, that one | 16:09 | |
Loren_ | hehe.. I hope have a book 'perl6 program language' | 16:10 | |
someday . | |||
masak_venue | Loren_: me too! | 16:11 | |
dalek | ast: 18b7541 | jnthn++ | S32-io/IO-Socket-INET.pl: Update socket test for GLR, deprecations. |
||
masak_venue | Loren_: it will happen -- question is how soon. | ||
Loren_: are you new here? if so, welcome! | 16:12 | ||
Loren_: (if you're a lurker, then welcome anyway!) :P | |||
RabidGravy | have any publishers expressed interest in making one? | ||
16:12
domidumont left
|
|||
dalek | ast: 3a02f73 | jnthn++ | integration/advent2013-day07.t: Another victim of List.WHICH removal. Happily, restoring the behavior in the original advent article. |
16:13 | |
masak_venue | RabidGravy: I believe it's more about authors expressing an interest than about publishers expressing an interest | ||
Loren_ | masak_venue, Em, yes. | ||
masak_venue | :) | 16:15 | |
RabidGravy | masak_venue, I dunno back in the just-pre-dotcom-boom days, they were actively canvassing for authors for Perl books | ||
masak_venue | Loren_: are you a fiver? are you at YAPC::EU? | ||
Loren_ | masak_venue, No. That has a little difficult to learn perl6, I'm from china . Insied g.f.w. | ||
My English just so so.. | 16:16 | ||
RabidGravy | give it a couple of hours and your English will be better than mine ;-) | 16:17 | |
Loren_ | RabidGravy, thks, i will. | 16:18 | |
RabidGravy | my what a lot of spectests | ||
PerlJam has an interest in writing a Perl 6 book | 16:19 | ||
Now ... if only I had the time to do it well. | |||
RabidGravy | have they multiplied in the last while or has my computer got slower | ||
16:20
pat_js left
|
|||
dalek | kudo/nom: 5db6cbd | jnthn++ | src/core/Capture.pm: Fix/optimize Capture.WHICH. Accidentally relied on List.WHICH, even though it didn't mean to. |
16:23 | |
masak_venue | Loren_: 很高兴认识你! | 16:24 | |
^^ | |||
masak_venue 's battery is running low | |||
Loren_ | masak_venue, i just a 'pi min' | ||
masak_venue, i just a 'pi ming' | |||
jnthn | masak_venue: So you use Chinese so you can make less keystrokes to say the same thing? :) | ||
masak_venue | jnthn: 是 | 16:25 | |
Loren_ | masak_venue, it can't display properly | ||
masak_venue, just use english | 16:26 | ||
PerlJam | heh | ||
dalek | kudo/nom: 9c5cb50 | jnthn++ | src/core/Capture.pm: Toss a bogus flat in Capture.WHICH. |
||
jnthn | Spectest should be a good bit cleaner now. | 16:27 | |
(The fallout wasn't really much glr merge, and mostly List.WHICH getting removed and an unfortunate consequence that had for the GLR code) | |||
RabidGravy | screw it then, not going to re-spectest, just rakudobrew it all up | 16:28 | |
jnthn | RabidGravy: We were only talking a dozen failures over several files anyways | 16:29 | |
16:29
masak_venue left
|
|||
jnthn | Out of thousands of tests/files that ain't bad | 16:29 | |
moritz | m: say <a b> === <a b> | 16:30 | |
GLRelia | rakudo-moar 17411e: OUTPUT«False» | ||
camelia | rakudo-moar e6f360: OUTPUT«True» | ||
RabidGravy | yeah, I'd already started running it before you fixed them | ||
jnthn | On HEAD that is now False | ||
Guess camelia is behind | |||
moritz | glr is gone? | 16:31 | |
RabidGravy | gone, gone, gone | 16:32 | |
jnthn | moritz: Aye, merged | 16:33 | |
GLRelia++ can also be wished a fond goodbye too :) | |||
16:33
ChanServ sets mode: +o moritz
16:34
GLRelia was kicked by moritz (GLRelia)),
moritz sets mode: -o moritz
|
|||
moritz | :-) | 16:34 | |
jnthn | I'm not sure that was fond :P | ||
Effective, however :) | |||
moritz | it was a very fond kick, with no rudness whatsever in the message :-) | ||
jnthn | I need to have another whack at Windows-specific issues in spectests, not to mention some further S17 flakiness work, but run I just did looked alright | 16:36 | |
RabidGravy | looks like most of my fallout is the done -> done-testing thing whch ain't no glr thang | 16:37 | |
moritz | yes, I think I fixed my modules, and submitted one or two pull requests for that | 16:38 | |
but the ecosystem isn't small anymore :/ | |||
16:39
kjs_ left
|
|||
RabidGravy | Ooh and a Parcel | 16:40 | |
16:41
ldc left
|
|||
RabidGravy | and a Parcel in a Pair tree | 16:42 | |
16:42
Ven_ left
|
|||
moritz | moritz@hack:~/p6/perl6-all-modules$ git grep --word Parcel | cut -d/ -f 1,2|sort -u|wc -l | 16:43 | |
16 | |||
hoelzro | jnthn++ # glr merge | ||
16:44
perl6_newbee joined
|
|||
perl6_newbee | hi all | 16:45 | |
Loren_ | welcome to perl6 | 16:46 | |
jnthn rejects RT #125963 with a little explanation of why | 16:47 | ||
That's one RT down :) | |||
perl6_newbee | Can someone explain how I can return two arrays from a sub? return (@array, @array1) does not work as expected. I know I could use sub irgendwas(@array is rw, @array1 is rw) but i want it the Perl way :-) | ||
RabidGravy | m: say ("a".."z","A".."Z").pick(15).join(""); | 16:48 | |
camelia | rakudo-moar e6f360: OUTPUT«riAXKWStlEcUyJH» | ||
jnthn | RabidGravy: That needs a .flat.pick after GLR I think | 16:49 | |
(I guess camelia ain't updated...) | |||
RabidGravy | yep, cheers | ||
another one down ;-) only another 14 modules | |||
jnthn | heh, I should check my modules too | 16:50 | |
moritz | perl6_newbee: I'm fairly certain that return (@a1, @a2) works; it's just a matter of what you do with it on the caller side | ||
jnthn | But I should probably cook us some dinner here first :) | ||
And then probably relax, so I can more properly recover... :) | |||
& | 16:51 | ||
JimmyZ | perl6_newbee: you can't do my(@c, @d) = (@a1, @a2) | ||
16:51
domidumont joined
|
|||
moritz | but my ($c, $d) = thesub() works | 16:52 | |
perl6_newbee | hmm, I have my (@array, @array1) = irgendwas() in my script. But I get always all stuff in the first array. | 16:53 | |
Loren_ | m: sub test() { my @a1 = (1, 3); my @a2 = (2, 4); return (\@a1, \@a2); }; my @x = test(); say @x[0].perl; say @x[1].perl; | 16:54 | |
camelia | rakudo-moar e6f360: OUTPUT«Potential difficulties: To pass an array, hash or sub to a function in Perl 6, just pass it as is. For other uses of Perl 5's ref operator consider binding with ::= instead. Parenthesize as \(...) if you intended a capture of a single var…» | ||
16:54
vinraec joined
|
|||
Loren_ | it's print '\([1, 3]<>) | 16:55 | |
\([2, 4]<>)' in my perl6 | |||
lizmat | m: my (@a,@b) = sub { (1,2,3),(4,5,6) }(); dd @a,@b | 16:56 | |
camelia | rakudo-moar e6f360: OUTPUT«@a = [1, 2, 3, 4, 5, 6]<>@b = []<>» | ||
lizmat | hmmm | ||
16:56
xfix joined
|
|||
lizmat | according to glr, that shouldn't have flattened, should it ? | 16:56 | |
JimmyZ | m: my ($a,$b) = sub { (1,2,3),(4,5,6) }(); dd $a,$b | 16:57 | |
camelia | rakudo-moar e6f360: OUTPUT«$a = 1$b = 2» | ||
pink_mist | is camelia glr-ified yet? | ||
lizmat | ah... good point | ||
$ 6 'my (@a,@b) = sub { (1,2,3),(4,5,6) }(); dd @a,@b' | 16:58 | ||
@a = [(1, 2, 3), (4, 5, 6)] | |||
@b = [] | |||
different, still not good, I think | |||
perl6_newbee | that looks like my problem | ||
what is 'dd'? | |||
JimmyZ | ./perl6-m -e 'my ($a,$b) = sub { (1,2,3),(4,5,6) }(); dd $a,$b' | ||
lizmat | yeah | ||
JimmyZ | $a = $(1, 2, 3) | ||
$b = $(4, 5, 6) | |||
[Coke] | jnthn++ merging. I was not looking forward to that. :) | ||
lizmat | perl6_newbee: dd is tiny data dumper | ||
16:58
domidumont left
|
|||
lizmat | m: my $a = 42; dd $a, "foo" | 16:59 | |
camelia | rakudo-moar e6f360: OUTPUT«$a = 42"foo"» | ||
Loren_ | m: sub test() { my @a1 = (1, 3); my @a2 = (2, 4); return (\@a1, \@a2); }; my @x = test(); dd @x; | ||
camelia | rakudo-moar e6f360: OUTPUT«Potential difficulties: To pass an array, hash or sub to a function in Perl 6, just pass it as is. For other uses of Perl 5's ref operator consider binding with ::= instead. Parenthesize as \(...) if you intended a capture of a single var…» | ||
16:59
skids left
|
|||
perl6_newbee | ah I use always say xyz.perl | 16:59 | |
cool | 17:00 | ||
moritz | fwiw Stage parse on the JVM-build dies with "java.lang.NullPointerException" | ||
which is why camelia isn't up-to-date | |||
Loren_ | The above code works fine in my perl6 'version 2015.05-198-gd6430c1 built on MoarVM version 2015.05-79-g458940f' | 17:01 | |
17:01
diana_olhovik_ joined
|
|||
ugexe | thats something like 2 months old | 17:01 | |
17:02
domm_holiday left
|
|||
ugexe | around when all the list changes started | 17:02 | |
perl6_newbee | my script is running with rakudo-2015-06 on WIndows 10. | ||
[Coke] | and predates glr, no doubt. | ||
Loren_ | ugexe, yes, i'm not update it since i installed . | ||
[Coke] | hoelzro: You still planning on ripping out the deps? | 17:04 | |
perl6_newbee | I have WIndows 10 only at work. so next week I will try to figure out what happens | ||
hoelzro | [Coke]: yes, I was just about to start | ||
[Coke] | hoelzro++ | ||
[Coke] tries a local jvm build.. | 17:05 | ||
ugexe | m: say $*PERL.compiler.version | ||
camelia | rakudo-moar e6f360: OUTPUT«v2015.7.1.215.ge.6.f.3602» | ||
ugexe | thats old. latest you can just do return (@a1, @a2) | 17:06 | |
[Coke] | those last 4 words should probably be one word. | ||
17:08
andreoss` left
|
|||
Loren_ | I will try that code when rakudo update finish. | 17:10 | |
17:12
btyler_yapc joined
|
|||
[Coke] confirms the jvm buildfail | 17:18 | ||
17:19
wtw left
|
|||
dalek | kudo/nom: d977ee6 | hoelzro++ | src/core/Pod.pm: Remove deprecated Pod::Block.content |
17:20 | |
kudo/nom: e251aa7 | hoelzro++ | src/Perl6/Actions.nqp: Remove deprecated $*OS and $*OSVER |
|||
ugexe | jvm has been failing for like 1.5 months i thought | ||
dalek | ast: 68f7764 | hoelzro++ | S02-types/deprecations.t: Fix up deprecation warnings test $*OS and $*OSVER are no longer deprecated; they're just gone now |
17:21 | |
ast: 6786fc8 | hoelzro++ | S17-lowlevel/lock.t: Only skip low level lock test for RT #125977 on Moar It works fine on JVM |
|||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125977 | ||
lizmat | YAPC::EU shutting down& | 17:22 | |
17:23
btyler_yapc left,
lizmat left
|
|||
RabidGravy | m: my @d := ".".IO.parent.dir | 17:30 | |
camelia | ( no output ) | ||
RabidGravy | is camelia not updated? | 17:31 | |
cognominal | so, parcels are gone? | ||
[Coke] | cognominal: yes, gone | 17:33 | |
(jvm) github.com/coke/perl6-roast-data/b...ummary.out - not failing everywhere. I confirmed it's failing on os x. | 17:34 | ||
RabidGravy: the e6f360 tells you if it is or not | 17:35 | ||
it's the sha1 used to build that rakudo-moar. | |||
RabidGravy | er, WTF does "Bytecode stream version too low" mean? | 17:42 | |
grondilu | hum somehow I suspect my install does not work well: | 17:44 | |
$ perl6 --version | |||
This is perl6 version 2015.07.1-728-g9c5cb50 built on MoarVM version 2015.07-108-g7e9f29e | |||
^that does not look very recent | |||
m: say $*VERSION | |||
camelia | rakudo-moar e6f360: OUTPUT«Dynamic variable $*VERSION not found in block <unit> at /tmp/QUAwXPdiFt:1Actually thrown at: in block <unit> at /tmp/QUAwXPdiFt:1» | ||
ugexe | thats within the last hour? | 17:45 | |
grondilu | yes | ||
at least it's supposed to | 17:46 | ||
ugexe | it is for rakudo at least | ||
17:46
n0tjack left
17:50
espadrine left
17:52
sjn_phone_ joined,
diana_olhovik_ left,
n0tjack joined
17:57
n0tjack left
18:00
kbenson joined
|
|||
moritz | camelia doesn't update, because the rakudo-JVM build fails | 18:00 | |
kbenson | ugexe: I just build with rakudobrew within the last 30-45 minutes: "This is perl6 version 2015.07.1-730-ge251aa7 built on MoarVM version 2015.07-108-g7e9f29e" | 18:03 | |
masak | jnthn++ # glr merge | 18:04 | |
soooo.... | |||
...when are we renaming 'nom' to 'master'? :) | |||
kbenson | was glr just merged? | ||
masak | yes | 18:05 | |
nine | Woohoo! | ||
moritz | nine++ # doing a huge amount of the fixup work | ||
18:06
n0tjack joined
|
|||
kbenson | then let me be the first to suggest there may be a regression somewhere :( | 18:06 | |
hopefully just in the p6doc module or its tests | |||
gist.github.com/kbenson/9f16328b11dad400a695 | 18:07 | ||
[Coke] | we are trying to shake out ecosystem regressions, yes. bring 'em in. | 18:08 | |
18:10
n0tjack left
18:11
pyrimidine left
|
|||
hoelzro | $*CWD = IO::Path.new(cwd()) # what's the recommended way to do this, now that cwd() is going away? | 18:12 | |
dalek | line-Perl5: 9a4e8b0 | (Stefan Seifert)++ | / (4 files): Adjust to the post GLR world |
18:13 | |
Inline-Perl5: 78dc003 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6: | |||
Inline-Perl5: Seem to need a sink() on Perl5Parent now as well | |||
18:13
dalek left,
pyrimidine joined
|
|||
nine | Sorry dalek :/ | 18:13 | |
18:13
dalek joined,
ChanServ sets mode: +v dalek
|
|||
muraiki | yay glr merge jnthn++ nine++ everyone ++ | 18:14 | |
nine | Btw. Inline::Perl5 passes its own tests and the spec tests. I'm not sure if it needs further changes. Right now you often have to itemize a hash to avoid flattening which makes using Perl 5 modules from Perl 6 a bit weirder than I'd like. | ||
Many Perl 5 APIs require you to pass a hash with arguments to emulate named arguments. Right now you have to write foo(${bar => 1}) in such cases | 18:17 | ||
muraiki | nine: yeah, almost all of our internal code uses named args | ||
well, we use the: foo(bar => baz) form | 18:18 | ||
and there are some weird cases where we foo({bar => baz}) | |||
but that was abandoned at some point in the last 15 years | |||
I guess the latter form isn't uncommon in javascript ;) | 18:19 | ||
18:20
domidumont joined,
pochi left
|
|||
nine | The latter form has the advantage that you get the "odd number of elements" warning in the caller's place. | 18:20 | |
That's why it's recommended at least by some. | |||
muraiki | good point. I never thought about that | ||
nine | Ok, out for dinner now. | 18:21 | |
muraiki | looks like Log::Syslog::Native has an error running tests post-glr | ||
dalek | kudo/nom: 686e9aa | hoelzro++ | src/ (2 files): Remove deprecated winner/more from Supply |
18:24 | |
kudo/nom: 03b5a0a | hoelzro++ | src/core/ (5 files): Removed a bunch of deprecated I/O constructs |
|||
ast: 5c6d958 | hoelzro++ | S02-types/WHICH.t: Remove Proc::Status from WHICH check It has been removed with open(:pipe) |
|||
18:24
pochi joined,
n0tjack joined
|
|||
masak heads down to dinner | 18:25 | ||
timotimo | get down and dinner! | ||
muraiki | here's the failing Log::Syslog::Native test info gist.github.com/muraiki/fe68e78a0427c93ea3e0 | 18:26 | |
18:26
z448 joined
18:27
z448 left
|
|||
muraiki | although it's weird because neither test file reported any failures explicitly. is it because of "Parse errors: No plan found in TAP output" ? | 18:27 | |
18:29
n0tjack left
18:33
n0tjack joined
18:36
skids joined
|
|||
hoelzro | I think that's all the deprecation removals I'll do for today | 18:38 | |
let the ecosystem breathe a bit | |||
18:39
sufrostico left
|
|||
ugexe | muraiki: there is no plan, and the tests use 'done()' which no longer sets the plan (its done-testing() or something) | 18:40 | |
muraiki | ugexe: that explains it. thanks! | ||
18:41
n0tjack left
18:42
larion left
18:43
n0tjack joined
18:48
n0tjack left
18:54
sufrostico joined
|
|||
flussence | first glr fallout on my end (probably): panda now thinks "Text-Tabs-Wrap" isn't a valid module name and refuses to install it... | 18:54 | |
18:56
n0tjack joined
18:58
domidumont left
19:01
n0tjack left
|
|||
ugexe | on a side note, Test::Corpus's META.info<provides> looks like it was incorrectly generated | 19:06 | |
flussence | probably... I ought to redo all my META.info files by hand. Any docs for the file format? | 19:07 | |
ugexe | S22 | 19:08 | |
design.perl6.org/S22.html#META6.json | |||
it says provides is optional, but i dont think it is anymore (or wont be in the future) | 19:10 | ||
Ulti | ohai | 19:11 | |
check out the latest comments gist.github.com/MattOates/c2e19950..._primes-p6 | |||
also the Stats module is GLR ready (in other news) | 19:14 | ||
19:16
n0tjack joined
19:17
vinraec left
|
|||
muraiki | awesome! | 19:18 | |
19:18
colomon left
|
|||
muraiki | wow, what a speedup | 19:20 | |
19:21
colomon joined
|
|||
FROGGS | ugexe: provides is optional in a sense that your dist might not ship packages/modules, but binaries or other resoures | 19:23 | |
Ulti | yeah the best thing about it is it just DWIMs and isn't slow! so much more obvious what its doing than some of the other solutions | 19:24 | |
dalek | c: 44c6360 | muraiki++ | lib/Language/testing.pod: done() has become done-testing() |
||
c: cc499db | FROGGS++ | lib/Language/testing.pod: Merge pull request #122 from muraiki/master done() has become done-testing() |
|||
19:26
pmurias joined
|
|||
pmurias | hi | 19:26 | |
dalek | kudo/cpp3: 73a46f6 | FROGGS++ | t/04-nativecall/ (3 files): try cl, g++ and clang++ to build/test C++ libs |
19:27 | |
kudo/cpp3: 327bb6b | FROGGS++ | lib/NativeCall.pm: automatically guess C++ name mangler |
|||
Ulti | primes-naive-functional: ran in 0.007 wow o___O just the same minus the race | 19:32 | |
that's so much faster I better check its actually doing anything | 19:34 | ||
flussence | oh great, Text-Tabs-Wrap is actually broken by glr. Something for me to do :D | ||
19:36
dwarring joined
|
|||
Ulti | nope its really doing it that much faster wow | 19:36 | |
jdv79 | RabidGravy: what did you do to H::U? | 19:37 | |
now i get test fails | |||
dalek | p: ac4a334 | FROGGS++ | tools/build/MOAR_REVISION: bump moar revision for C++ support |
||
RabidGravy | it was working fine for me about an hour ago | ||
Ulti | once you go to far more load like 10000 as the max parallel comes online and does faster | ||
RabidGravy | I'll take a look when I have done with these other modules | 19:38 | |
FROGGS | hmpf, I totally forgot that I have to port the C++ stuff to jvm before I can merge the NativeCall stuff in rakudo :o( | 19:39 | |
jdv79 | does it work on glr? i haven't updated in a couple days. | ||
FROGGS | .tell japhb I merged C++ stuff in moar, but have to port it to jvm before I can merge the rakudo/cpp3 branch... hopefully this happens this weekend | 19:40 | |
yoleaux | FROGGS: I'll pass your message to japhb. | ||
jdv79 | i'll also look later. dinner & | 19:41 | |
19:41
perl6_newbee left
19:46
n0tjack left
|
|||
RabidGravy | jdv79, some weird glr fallout but nothing I've touched recently | 19:57 | |
timotimo | Ulti: what the hell? | 19:58 | |
that's amazing | |||
but isn't "upto 1000" really small? | 19:59 | ||
Ulti: also, loop labels are implemented in rakudo now | 20:00 | ||
20:01
pmurias left
|
|||
timotimo | m: outer: loop (my $n = 0; $n < 10; $n++) { loop (my $m = 0; $m < $n; $m++) { next outer if $m == $n div 2; say "$n $m" } } | 20:01 | |
camelia | rakudo-moar e6f360: OUTPUT«2 03 04 04 15 05 16 06 16 27 07 17 28 08 18 28 39 09 19 29 3» | ||
timotimo | hm | ||
not so simple to say if it's doing anything here %) | |||
i think it is doing something. | |||
Ulti | timotimo: feel free to add to the gist :P I took those direct from Tim King's blog | 20:06 | |
timotimo | oh | ||
i thought that was just a typo of "timing" :D | |||
Ulti | yeah 1000 is small if you do 10000 the parallel grep is the bestest | 20:07 | |
timotimo | ah, that's the post from many years ago? | ||
Ulti | yeah | ||
where it took like 11 seconds | |||
timotimo | draw a time growth curve? :) | 20:08 | |
Ulti | soooo 11 down to 0.007 seconds not too shabby! | ||
timotimo | kinda good | ||
Ulti | progress has been made >:D | ||
timotimo | oh, that's the built-in is-prime | ||
Ulti | yeah | ||
timotimo | of course that's fast :P | ||
Ulti | :P | 20:09 | |
yeah its a statistical test rather than iterate all the things | |||
timotimo | yup | ||
it's also written in C and such | |||
Ulti | fine I'll write a parallel one of a similar form | ||
timotimo | thank you :3 | 20:10 | |
20:13
dha joined
|
|||
Ulti | throw in a few native types for good measure... | 20:14 | |
20:15
yqt joined,
diakopte1 joined
|
|||
timotimo | well, only for up to 64 bit big prime numbers of course | 20:15 | |
20:15
cxreg2 joined,
cognominal_ joined
20:16
cognominal left,
diakopter left,
Alina-malina left,
esh left,
shmibs_ joined
20:17
mr-foobar left,
esh joined
|
|||
timotimo | and when are 64bit sized prime numbers interesting enough? | 20:17 | |
dalek | rl6-roast-data: 9c185f8 | coke++ | / (10 files): today (automated commit) |
20:18 | |
timotimo | someone uploaded "all prime numbers that fit into 32bits" saying "File primes.32b presents all 203280220 32-bit odd prime numbers from 3 to 4294967291. | ||
" | |||
so there's more or less enough of them to be interesting | |||
20:22
darutoko left
|
|||
Ulti | doh segfault gunna have to think harder | 20:24 | |
screw it im gunna do the one that doesn't require any state | 20:26 | ||
that would also be more impressive if it beats one of the non parallel ones that does a lot fewer comparissons | 20:27 | ||
RabidGravy | there, it only took three and a half hours to GLR up those 16 modules | 20:29 | |
20:29
xfix left
|
|||
RabidGravy | jnthn, you'll be happy to know the OO::Monitors is fine | 20:29 | |
20:30
rangerprice left
20:40
Alina-malina joined
|
|||
Ulti | my code causes all sorts of horror gist.github.com/MattOates/125009c88f6ee9f5f101 | 20:46 | |
tony-o | japhb: idle being nothing else happening in the event loop | 20:47 | |
timotimo | does race already work? | 20:48 | |
tony-o | japhb: i was picturing something like whenever { react $*PROC.idle { } } | ||
Ulti | timotimo: yup or at least it did before | 20:49 | |
timotimo | OK | ||
Ulti | this runs but screws up before finishing | ||
tony-o | or some way of injecting a sub to run in the main loop in order to read from $*IN so i can push it to a supply or separate thread | ||
timotimo | Ulti: did you try a moar with --asan yet? or valgrind? | 20:51 | |
Ulti | nope | ||
timotimo | where does Stats come from? | ||
Ulti | my github via the ecosystem | 20:52 | |
timotimo | ah, just panda-install Stats, eh? | 20:53 | |
Ulti | yup | 20:54 | |
- the - | |||
though I perhaps dont know enough about how race works to be sure I'm spawning a *tonne* of threads on that inner race | 20:56 | ||
I assumed I would only be using 6 | 20:57 | ||
timotimo | how long does it run on your 'puter? | ||
Ulti | for the 100 iterations it never finished | ||
it always failed with one message or another | |||
timotimo | i get like 17 moar processes from this | ||
Ulti | :/ | ||
timotimo | it takes like 3 minutes or something to run | 20:58 | |
i'll just do 10 runs instead of 100 in the bench script | |||
asan barfs at something here | 21:00 | ||
we've allocated a frame from the fixed size allocator, later we've freed that from MVM_frame_dec_ref, but we explode inside interp_run | 21:01 | ||
21:01
sjn_phone_ left
|
|||
timotimo | that's just a decont instruction | 21:01 | |
Ulti | :< | 21:03 | |
21:03
Ven joined
|
|||
timotimo | so it's still running in a frame that hasn't been inc'd often enough? | 21:04 | |
Ulti | I'm afraid I'm going to be next to no help :Z | 21:05 | |
I just want to torture the implementors and eat popcorn | 21:06 | ||
:P | |||
21:08
ShimmerFairy left,
ShimmerFairy joined
21:09
mr-foobar joined,
diakopte1 left,
jonathan_ joined,
jordman left
21:10
RabidGravy left,
ashleydev joined,
hernanGOA left,
hernanGOA joined
21:11
diakopter joined
|
|||
timotimo | fair enough :) | 21:11 | |
jonathan_ | the "1 == all %($/).values" doesn't seem to work in t/03-cookies.t | 21:12 | |
21:12
zacts left
|
|||
timotimo | can you golf the problem? | 21:14 | |
like, what's (%($/).values).perl look like? | 21:15 | ||
oh it's you, gravy | |||
21:16
lizmat joined,
lizmat_ joined
|
|||
jonathan_ | it's in a regex, kinda tricky | 21:16 | |
21:17
jordman joined,
firstdayonthejob joined
|
|||
jonathan_ | basically it's "token foo { [ <f1> | <f2> | <f3> ] * % '; ' <?{ 1 == all %($/).values }> }" | 21:18 | |
i.e. all of f1 f2 f3 separated by ; in any order | 21:19 | ||
21:20
lizmat left
21:21
rindolf left
|
|||
dha | So, do state variables function in P6 as they experimentally do in P5? | 21:27 | |
jonathan_ | timotimo, it's a Seq of Match objects | 21:28 | |
21:29
jonathan_ is now known as RabidGravy
|
|||
RabidGravy | dha, if you mean the initialisation is only done once then yes | 21:30 | |
21:30
muraiki left
21:33
wtw joined
|
|||
jdv79 | dha: state vars are experimental in p5 or they have changed in a way that is experimental? | 21:33 | |
dha | I mean generally. There appears to be NO information in the P6 docs/specs about it, and I'd like to try to get it documented. C<supersede> also appears in variables.pod and that would be the last TODO in there. | 21:34 | |
jdv79 | iirc they've been aroound for years now | ||
dha | jdv79 - you need to enable them with C<use feature> | ||
RabidGravy | jdv79, I've got H::U down to just the cookies test | 21:35 | |
pink_mist | dha: I don't think there's anything experimental about state variables in perl5 | 21:39 | |
lizmat_ | dha: state variables work: they are internally used for e.g. once blocks | 21:40 | |
21:40
kaare_ left
|
|||
dha | My mistake. They need to be specifically enabled, but they aren't experimental. | 21:40 | |
lizmat_ | m: for ^3 { say once DateTime.now; sleep .5 } | ||
dha | lizmat_- Good. Now, they just need to be documented. :-) | ||
camelia | rakudo-moar e6f360: OUTPUT«2015-09-04T23:40:48+02:002015-09-04T23:40:48+02:002015-09-04T23:40:48+02:00» | ||
21:41
lizmat_ is now known as lizmat
|
|||
dha | Also, if I understand correctly, there's an anonymous state variable C<$> which isn't notably documented either, although I've seen it used. | 21:41 | |
lizmat | m: sub a { say $++ }; a; a; a | 21:42 | |
camelia | rakudo-moar e6f360: OUTPUT«012» | ||
lizmat | it's an unnamed state variable that is typically used in situations such as this ^^^ | ||
dha | Yes, like that. :-) | ||
lizmat | m: sub a { say $++; say $++ }; a; a; a # just wondering | 21:43 | |
camelia | rakudo-moar e6f360: OUTPUT«001122» | ||
21:43
Peter_R left
|
|||
dha | I'm looking to try to write docs for C<state>, hence my question about how similar it is to the P5 version, as that has some text I can work from. | 21:43 | |
lizmat | looks like two unnamed state variables in the same scope are different | 21:44 | |
instances | |||
pink_mist | is that specced? | ||
dha | Are they, or is that an order of evaluation issue? | ||
pink_mist - I think I can answer that. A couple of examples using state variables appear in the specs, but they are not actually described. | 21:45 | ||
pink_mist | well, I meant specifically the behaviour of more than one instance of $ there, not state variables in general | 21:47 | |
lizmat | $++ is basically short for "state $foo++" with 'foo' being a unique string | ||
pink_mist | ah, gotcha | ||
cool | |||
dha | Yeah, I don't think C<$> is specced anywhere. Unless it is nowhere near the phrase "state variable" | 21:48 | |
21:49
kst joined
21:50
Ven left
21:52
mr-foobar left
21:54
mr-foobar joined
21:55
Ven joined
|
|||
lizmat | I think TimToady knows more about it | 21:55 | |
and on that note, I'm going to get some more sleep than last night& | 21:56 | ||
pink_mist | sleep well | 21:57 | |
RabidGravy | jdv59, H::U should be working with GLR-ed rakudo now | 22:12 | |
22:16
hernanGOA left
|
|||
Ven | FROGGS: do you still need the test for cpp3? I can do it right now | 22:17 | |
(seems like there's no cpp3 branch on moarvm) | 22:18 | ||
RabidGravy | right, and that's all the dependencies sorted out as well | 22:22 | |
PAH! I FART AT THE GLR! | |||
22:27
Ven left
22:29
Loren_ left
22:30
telex left
|
|||
tadzik | fart in its GLR direction? | 22:31 | |
yoleaux | 2 Sep 2015 22:23Z <mohij> tadzik: github.com/patzim/rakudobrew | ||
2 Sep 2015 22:23Z <mohij> tadzik: Supports shell local switching and dynamically determining the target version. | |||
tadzik | /o\ | ||
.tell mohij Wow, thanks man! | |||
yoleaux | tadzik: I'll pass your message to mohij. | ||
22:32
telex joined
|
|||
RabidGravy | tadzik, you know that regex you were asking about in HTTP::UserAgent? I took it out because I couldn't get it to work with the GLRed nom - adding instead five additional tests | 22:37 | |
22:38
sufrostico left
22:41
firstdayonthejob left
|
|||
skids | So... there's some unfinished GLR business... the *@ vs **@ on sub forms in Any-iterable (and probably a few other places). | 22:41 | |
dalek | kudo-star-daily: 64da386 | coke++ | log/ (9 files): today (automated commit) |
||
22:42
firstdayonthejob joined
|
|||
RabidGravy | skids, on the other hand I am quite surprise it only took three and a half hours to make 19 modules work with the GLR in :) | 22:43 | |
so on the whole | 22:44 | ||
skids | Yes, it might end up for the better that those waited until after the merge, actually. | ||
RabidGravy | everyone++ # job well done people | ||
skids | ++everyone | ||
dha | +everyone+ | 22:45 | |
pink_mist | every++one | ||
RabidGravy | now I can go and get ratted in the Mediterranean for two weeks with impunity :) | ||
skids has to track down some rather elusive things in Sum. | |||
dha | It sounds like RabidGravy's plan is more fun. | 22:46 | |
RabidGravy | :) | ||
nighty night peeps | 22:47 | ||
dha | night. | 22:48 | |
22:48
firstdayonthejob left
|
|||
pink_mist | good night | 22:50 | |
22:51
RabidGravy left
22:52
dha left
|
|||
skids | m: buf8.new(1025).perl.say; buf8.new(202020202020202020202020202020202020202020).perl.say | 22:53 | |
camelia | rakudo-moar e6f360: OUTPUT«Buf[uint8].new(1)Cannot unbox 138 bit wide bigint into native integer in any at src/gen/m-Metamodel.nqp:1677 in block <unit> at /tmp/D4XIkKj8zO:1» | ||
timotimo | you think we should have a bigint-to-buffer function? | 22:54 | |
skids | Well right now I'm doing: Buf.new( 1 X+& (self.Int X+> ($columns-1...0)) ); and it will only get uglier without one. But you'd have to be able to specify size and endian stuf too, so... | 22:56 | |
22:56
laouji joined
|
|||
skids | Oh that's my buf1 func. but anyway. | 22:57 | |
22:59
sufrostico joined
23:02
japhb joined
23:03
japhb left
|
|||
timotimo | mhm | 23:03 | |
skids | Maybe pack() | 23:06 | |
timotimo | we've had interest in that for some time anyway | ||
23:07
japhb joined
23:19
laouji left
23:20
laouji joined
23:23
philh joined
|
|||
ShimmerFairy | Yeah, we still need to figure out some kind of binary grammar thing (that is, the binary data version of grammars) | 23:25 | |
timotimo | aye | ||
23:26
zacts joined
|
|||
ShimmerFairy | And ideally a syntax that's not as horrifically compressed as what I've seen of P5's pack() :) | 23:27 | |
timotimo digs into building a websocket implementation again ... | 23:28 | ||
is there a good namespace for that module? | 23:29 | ||
probably Net:: | 23:30 | ||
23:50
BenGoldberg joined
|