»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:12
CharellKing left
00:13
CharellKing joined
00:22
Chillance left
00:42
crab2313 left
00:48
thou left
00:53
thou_ joined,
thou_ left
00:54
thou_ joined
00:55
thou_ left
00:56
thou joined
01:01
thou left
01:06
thou joined
01:07
stevan_ joined
01:08
thou_ joined
01:09
thou_ left
01:12
thou_ joined,
thou left
01:15
thou joined
01:16
thou_ left
01:17
thou_ joined
01:20
thou left
01:21
thou joined
01:22
thou_ left
01:29
jlaire left
01:30
thou_ joined
01:32
census__ left,
thou_ left
01:33
jlaire joined
01:34
thou left,
thou joined
01:36
japhb_ left
01:57
raiph_ left
02:02
thou left
02:10
raiph joined,
raiph_ joined
02:11
raiph__ joined,
timotimo left,
atrodo left,
timotimo joined
02:12
atrodo joined
02:16
raiph_ left,
raiph__ left,
raiph left
02:19
atrodo left,
raiph joined,
raiph_ joined
02:20
atrodo joined,
raiph__ joined
02:23
atrodo left,
atrodo joined
02:28
fgomez left
02:45
raiph_ left,
raiph__ left
02:46
raiph left
03:00
xenoterracide left
03:01
xenoterracide joined,
raiph joined
03:03
raiph_ joined,
bluescreen10 joined,
bluescreen10 left,
raiph__ joined
03:07
census joined
03:10
stevan_ left
03:11
stevan_ joined
03:12
census left
03:17
raiph__ left
03:18
raiph_ left,
raiph left
03:19
xenoterracide left,
xenoterracide joined
03:21
xenoterracide left
03:22
raiph joined,
raiph_ joined,
raiph__ joined
03:23
xenoterracide joined
03:32
xenoterracide left
03:33
xenoterracide joined,
orafu left
03:34
orafu joined
03:39
raiph_ left,
raiph left
03:40
raiph__ left
03:43
raiph joined,
raiph_ joined,
raiph__ joined
03:44
census joined
03:55
census left
03:59
xenoterracide left,
xenoterracide joined
04:14
kst joined
04:17
fgomez joined
04:18
mulli joined
04:20
uvtc joined
|
|||
mulli | anyone here? | 04:26 | |
diakopter | hi | ||
uvtc | hi, mulli | ||
shachaf | There is only silence and some second-hand clothes. | 04:27 | |
mulli | Is anyone in here an expert on perl5 ithreads | ||
uvtc | mulli: this is the Perl 6 channel. Maybe you're looking for #perl? :) | 04:28 | |
mulli | I went there. | ||
i did not find the droid i was looking for. | 04:29 | ||
geekosaur | you won't find it here either | ||
diakopter | someone may be kind and privmsg you | ||
sorear | look for schmorp | ||
uvtc | mulli: note, there's #perl on irc.perl.org, and also #perl at freenode also. | ||
mulli | damn.. well it was worth a try I guess. | ||
ok | |||
geekosaur | mulliu is already in #perl here, got rebuffed for wantingt o use threads at all | ||
which I can somewhat understand as the thread situation in perl5 has always been a mess | 04:30 | ||
04:31
mulli left
|
|||
sorear | schmorp is probably an ithreads expert but also probably the worst person to ask if you want to use them, as opposed to coping with them | 04:31 | |
bah, ey quit before seeing my warning | |||
geekosaur | yep | 04:32 | |
uvtc | I'm sorry if I've asked this before and forgotten, or maybe it's changed since the last time I asked, but: does rakudo make use of std to know the grammar/syntax of Perl 6? If not, what uses std? | 04:33 | |
geekosaur | I don't think I've ever seen a use of ithreads which wasn't easier to work with when rewritten with multiple processes | ||
sorear | uvtc: depends on what you mean by "use" | ||
geekosaur | (which means *we* should get it right) | ||
sorear | uvtc: STD is not really suitable for use as a parser as-is | ||
uvtc: rakudo and niecza both have parsers strongly based on STD | |||
uvtc | sorear: ok, that sounds familiar. | 04:34 | |
geekosaur | STD is a recognizer, not a parser. | ||
you need a lot of extra machinery to turn it into a parser | |||
uvtc | I think I probably don't understand how the parts fit together here. Hm. | 04:35 | |
What uses std? | |||
skids | Larry :-) | 04:36 | |
geekosaur | the perl6 eval bot here uses std, but it only does recognition | ||
uvtc | Oh darn, I just asked that as part deux of the question above. | ||
geekosaur | std: .say | ||
p6eval | std 7551b8f: OUTPUT«ok 00:00 41m» | ||
uvtc | Oh. You can ask std things. | 04:37 | |
geekosaur | it's kinda the arbiter of the language that rakudo and niecza *shoul*, but don't always, aceept | ||
uvtc | I should probably back up then. What does std do? | ||
sorear | geekosaur: actually std can be used directly as a parser, via ./viv -y | ||
skids | rakudo and neicza occasionally try to make themselves closer to STD. | 04:38 | |
It's sort of the goal | |||
geekosaur | when the spec changes, std is updated more quickly because it's often easier to modify | ||
sorear | but it produces awful ASTs, and it's rather poorly suited to integration | ||
geekosaur | then it can be used to check rakudo and niecza | ||
(and pugs, but that's so far behind that it's kinda moot at the moment) | |||
04:40
raiph__ left
|
|||
uvtc | geekosaur: in what way can std be used to "check rakudo" (or niecza)? | 04:40 | |
04:40
raiph left
|
|||
geekosaur | std says the grammatical constructs that ideally should be accepted | 04:40 | |
04:41
raiph_ left
|
|||
geekosaur | sometimes the actual implementations don't actually accept the syntax that they should; one can check that by seeing if std will accept the syntax | 04:41 | |
uvtc | So, you give std (er, STD.pm6) some prospective Perl 6 code, and it can tell you if it's actual Perl 6 code? | ||
skids | if std says it's not a syntax error, it shouldn't be a syntax error. Though it goes a little bit deeper than mere syntax. | ||
geekosaur | syntactically. it can't check semantics very well | ||
uvtc | It sounds like a "reference implementation" of a Perl 6 syntax checker/verifier. | 04:44 | |
geekosaur | so it can tell you if something is syntactically valid but it can't e.g. check the finer points of the meta-object protocol | ||
exactly, yes | |||
TimToady | it's a little more than that, insofar as it can translate itself to Perl 5 | ||
diakopter | "reference implementation" is the exact wording on www.perl6.org/compilers/ | ||
geekosaur | ok, there is that | 04:45 | |
TimToady | after all, what do you think is actually running when you ask it things? | ||
but yes, STD has largely served its purpose of driving convergence of the parsers | 04:46 | ||
uvtc | Ah, well, there's my problem. I don't know what "grammar" means here. | ||
TimToady | afk & | 04:48 | |
geekosaur | the syntactic form of the language plus surface level semantics (for example, I think std can catch multiple definitions in a scope, which goes beyond syntax) | 04:49 | |
uvtc | Neo: And STD knows, what, everything? | ||
Morpheus: STD would say it knows enough. | |||
Neo: And STD is never wrong? | |||
Morpheus: [sighs] Try not to think of grammars as syntax and semantics... STD is a guide. | |||
geekosaur: thanks. :) | 04:50 | ||
04:51
raiph joined,
preflex left,
raiph_ joined,
preflex_ joined,
raiph__ joined
04:52
preflex_ is now known as preflex
|
|||
uvtc | TimToady: Ah, didn't understand what you meant earlier by "what do you think is running when...". That's part of what I was asking about. I suppose what you meant was that, indeed, STD is what's running. :) | 05:01 | |
05:09
raiph_ left,
raiph left
05:10
raiph__ left
05:13
raiph joined,
raiph_ joined
05:14
raiph__ joined
05:15
quester joined
05:16
xinming left
05:17
xinming joined,
raiph_ left
05:18
raiph__ left,
raiph left
05:21
raiph joined
|
|||
uvtc | Does nqp compile "not quite perl" code to Parrot bytecode? | 05:22 | |
05:22
raiph_ joined,
raiph__ joined
|
|||
diakopter | well, to PIR, yes | 05:23 | |
uvtc | Does Rakudo compile Perl 6 to "not quite perl"? | 05:24 | |
diakopter | no | 05:25 | |
uvtc | Rakudo uses nqp as a layer under the hood to talk to the VM, correct? | ||
diakopter | they share the same grammar and HLL compiler engines and integrated libraries | 05:27 | |
geekosaur | ghc compiles haskell to a core language before working with it. gcc used to (still does?) compile C to a low level intermediate language that looks oddly like s-expressions | ||
I think nqp is in that same general space? | |||
swarley | Well I seem to have gotten sidetracked | 05:34 | |
diakopter | oh? | ||
swarley | I meant to work on finishing sixModel today | ||
But then I realized that Go has almost no decent flex implementation | |||
So I ended up working on that | |||
sorear | uvtc: both NQP and Perl 6 are compiled to a common intermediate format called QAST | ||
diakopter | flex? | ||
sorear | QAST is then compiled to PIR | ||
swarley | The GNU version of lex | 05:35 | |
sorear | flex is not GNU | ||
swarley | It's not? | ||
sorear | it's from BSD | ||
swarley | Ah | ||
I thought they had domain over that too | |||
Not BSD | |||
sorear | bison is GNU though | ||
diakopter | thought you meant Adobe Flex... | ||
swarley | Oh lord no | ||
uvtc | sorear: Thanks! | ||
swarley | I'm seeing why Go isn't becoming as popular as it should be, it has an extreme lack of packages for the latest syntax which seems to have been out for a while now | 05:36 | |
uvtc | sorear: which piece compiles QAST to PIR? | 05:39 | |
swarley | I find it extremely odd that go comes with a yacc tool, but you have to write the lexer by hand. It would just seem natural to include a lexer generator while they were at it | 05:40 | |
sorear | uvtc: qast::compiler | ||
uvtc | sorear: is that part of NQP? | 05:41 | |
sorear | yes | ||
uvtc | thanks, sorear. | 05:42 | |
05:42
Targen joined
|
|||
swarley | Well, despite the few days that well be spent on this; I hope to have put Serialization into what I have already coded for the sixModel by Monday | 05:44 | |
uvtc | Thanks for the help, all. I wrote it up and put it into the wiki: wiki.perl6.org/Some%20Major%20Parts...20Perl%206 | 06:02 | |
06:07
c9s joined,
c9s left
|
|||
uvtc | g'night | 06:08 | |
06:08
uvtc left
06:38
zby_home_ joined
06:42
kaleem joined
|
|||
moritz | \o | 06:50 | |
CharellKing | :-D | 06:57 | |
07:07
b1rkh0ff left
|
|||
sorear | o/ | 07:13 | |
arnsholt | "Stage post : 54961.162" =D | 07:14 | |
sorear | Is that s or ms | 07:15 | |
arnsholt | Seconds =) | ||
I put my laptop in the middle of the Rakudo compile | |||
sorear | That sentence is grammatical but makes no sense. | 07:16 | |
arnsholt | Oh, I accidentally a word | 07:17 | |
I put my laptop *to sleep* | |||
sorear | Ah. | 07:18 | |
arnsholt | So nothing magical about it really, just a bit amusing | 07:19 | |
sorear | I rather thought that you just got a handmedown laptop from lue | 07:20 | |
:) | |||
07:20
b1rkh0ff joined
|
|||
lue | Actually, it's just a little ways away from my feet [ also: my laptop would not get to stage post. Get your facts straight :) | 07:21 | |
arnsholt | Hehe | ||
07:31
araujo left
07:44
domidumont joined
07:45
FROGGS joined
07:50
wk joined
08:00
SamuraiJack joined
08:12
domidumont left
08:13
kaleem left
08:26
domidumont joined
08:27
wk left
08:31
kaleem joined
|
|||
masak | morning, #perl6. | 08:32 | |
08:32
domidumont left
|
|||
masak | <sorear> That sentence is grammatical but makes no sense. | 08:32 | |
hehe. | |||
today's mini-challenge: provide me with sentences that are grammatical but make no sense. | |||
08:32
kaleem left
|
|||
masak | (you don't have to use Perl 6 for this one) | 08:32 | |
(and yes, I'm aware of "colorless green ideas sleep furiously". make up your own one, and be creative about it.) | 08:33 | ||
08:33
domidumont joined
|
|||
masak | & | 08:33 | |
08:33
kaleem joined
|
|||
arnsholt | jnthn: Do we perhaps want some kind of rudimentary Buf support in NQP? | 08:33 | |
08:36
fhelmberger joined
|
|||
sorear | masak: it's funny because originally that sentence had no sense-making subsentence, but in the last few years "green idea" has become a thing | 08:37 | |
s/subsentence/fragment/ | |||
arnsholt | jnthn: Looking around Buf related code, there're some smatterings of PIR and dependencies on Parrot's ByteBuffer | 08:38 | |
08:40
labster left
08:48
sivoais left
08:50
daxim joined
08:51
sivoais joined
08:53
kresike joined
|
|||
kresike | hello all you happy perl6 people | 08:53 | |
diakopter | kresike: your greeting always cheers me :) | 08:55 | |
kresike | diakopter, that's the whole point of it ☺ | 08:56 | |
09:16
wk joined
09:27
quester left
09:39
dakkar joined
|
|||
jnthn | morning o/ | 09:45 | |
nwc10 | jnthn: All tests still successful | ||
jnthn | nwc10: Still??? | ||
diakopter | o/ | ||
09:49
lizmat left
|
|||
jnthn | arnsholt: We may well want something like that, yes. | 09:49 | |
nwc10 | Files=17, Tests=170, 162 wallclock secs ( 0.13 usr 0.03 sys + 147.24 cusr 41.75 csys = 189.15 CPU) | 09:54 | |
Result: PASS | |||
so, yes, still. | |||
grondilu | google Chelyabinsk, guys. Big meteor event in Russia today. | 09:56 | |
jnthn saw that news | 09:57 | ||
Seems people got injured by windows blowing out rather than by getting hit by the meteor fragments... | 09:58 | ||
grondilu | indeed | 09:59 | |
moritz | so, windows are evil! | ||
grondilu | nice one, moritz | ||
nwc10 | and should be got rid of? It's curtains for windows? | ||
jnthn | Well, they've always been a pane... | 10:01 | |
10:11
erkan joined
10:15
ObseLeTe joined
10:18
kaleem left
10:40
araujo joined
10:42
ObseLeTe left
10:50
fgomez left
10:51
fgomez joined
11:22
jaldhar left,
jaldhar joined
11:36
wk left
11:52
CharellKing left
11:53
ironcamel left
12:06
kaleem joined
12:17
Targen left
|
|||
FROGGS | *yawn* | 12:24 | |
everybody is sleeping? | |||
diakopter | I should be | ||
jnthn | FROGGS: nah, just $dayjobbing :) | ||
FROGGS | bah | ||
nwc10 | I think that they all glazed over as a result of the bad puns. | ||
FROGGS | :o) | 12:25 | |
diakopter | nwc10: <groan> | ||
nwc10 | (I had actually been stuck until then) | ||
12:27
sqirrel joined
|
|||
FROGGS | jnthn: what does NFA mean? | 12:27 | |
diakopter | nondeterministic finite automata | 12:28 | |
FROGGS | k, thanks | ||
diakopter | (or automaton) | 12:29 | |
FROGGS | ya, got it | ||
jnthn | Of note, it's the mechanism that computes the longest token. | 12:30 | |
So it's involved whenever we have an alternation or a protoregex. | |||
FROGGS | okay | ||
so back to my problem, if I want to add alternatives to an altseq at runtime, do I need NFA at that point? | 12:31 | ||
jnthn | An altseq is sequential. | ||
As in, || | |||
FROGGS | right, that's why I am asking | ||
jnthn | It doesn't need the NFA as it just tries the stuff in order. | ||
FROGGS | k | 12:32 | |
jnthn | It's the (LTM based) alt that needs it. | ||
FROGGS | k | ||
jnthn | r: say 'beer' ~~ /bee | \w+/ | ||
r: say 'beer' ~~ /bee || \w+/ | |||
p6eval | rakudo 1e85ff: OUTPUT«「beer」» | ||
rakudo 1e85ff: OUTPUT«「bee」» | |||
FROGGS | where can I see some code that fiddles with altseq at runtime? | ||
like adding alternatives | |||
because I dont know how to build the ast right | 12:33 | ||
diakopter | you might have to replace whole methods | ||
jnthn | FROGGS: I don't think we have any... | ||
For altseq though, you've an easier option | |||
Write a method in Cursor that takes and goes through the alternatives one by one. | 12:34 | ||
FROGGS | nqp: my @a := <a c b>; say("abc" ~~ /@a/); # <--- what about that? | ||
p6eval | nqp: OUTPUT«a» | ||
jnthn | Hm | ||
FROGGS | nqp: my @a := <a c b>; say("abc" ~~ /@a+/); # <--- what about that? | ||
p6eval | nqp: OUTPUT«abc» | ||
jnthn | Oh... | ||
Yeah, that doesn't actually do anything with altseq :) | |||
It does what I was just about to describe | |||
FROGGS | ohh, okay | ||
FROGGS is listening | |||
jnthn | It's in !INTERPOLATE or so | 12:35 | |
FROGGS | right | ||
jnthn | lemme find exactly where | ||
FROGGS | there is a nqp::islist part in nqp's cursor.pm | ||
jnthn | ah, you found it | 12:36 | |
Yes, that's exactly it. | |||
That does altseq | |||
FROGGS | good | ||
jnthn | For alt, you need something like it but it should build an NFA. | ||
FROGGS | the bad thing is that nqp::islist doesnt work with my $<var>.ast, it always returns false, even if method variable called .list on it | 12:37 | |
jnthn | Right | ||
And it never will in Perl 6. | |||
You need to write a Perl 6 version that does things the Perl 6 way. | 12:38 | ||
FROGGS | ya, I feared that :o) | ||
jnthn | github.com/rakudo/rakudo/blob/nom/...sor.pm#L48 | ||
So here is !INTERPOLATE as it stands today | 12:39 | ||
nqp::istype($var, Positional) or so will do the "is it array-ish" trick | |||
FROGGS | can I use that switch there? if $var.isa(QAST::Op) && $var.op eq 'callmethod' && $var.name eq 'list' { | ||
ahh, cool | |||
thats better | 12:40 | ||
jnthn | no no | ||
You're at *runtime* here! | |||
FROGGS | ohh | ||
I see | |||
and thats where I wanna be | |||
jnthn | /@a/ compiles down to something like self.'!INTERPOLATE'(@a) | ||
That is, it turns into a method call | 12:41 | ||
You get to decide what that method does :) | |||
So really it's "just" extending that method to handle the array case. It'll be a bit more invovled because of the sequential vs LTM case. | 12:42 | ||
FROGGS | thank you very much, now the weekend can come \o/ | ||
jnthn | But do the sequential one first. | ||
FROGGS | I do that, since I have nqp's pattern | ||
but it should do LTM in the end, yes | 12:43 | ||
jnthn | masak: lol I think I found a bizzare bug... | 12:46 | |
oops, wrong window... :) | |||
moritz | right, in #perl6 it's masak who finds the bizarre bugs :-) | ||
jnthn | Yeah, we do role reversal at $dayjob apparently :P | 12:47 | |
moritz | I was just about to ask "how do you reverse a role?" until i finally understood the sentence :-) | ||
12:52
pmurias joined
|
|||
pmurias | swarley: re lex, you want to parse NQP instead of using QAST? | 12:53 | |
colomon | geez guys, whatever you do don't let TimToady hear the phrase "role reversal". We don't need him making even more work for jnthn++ | 12:54 | |
13:19
jaldhar left
|
|||
diakopter | masak: your mom is a potato | 13:25 | |
oops, wrong window... :) | |||
kresike .oO(hmmm ... besides being evil, windows seem to be wrong lots of times ... ) | 13:27 | ||
13:27
zby_home_ left
|
|||
arnsholt | jnthn: So, for NQP buffer support, d'you prefer essentially wrapping the ByteBuffer PMC (what Rakudo does today), or provide something a bit more featureful as an NQP class? | 13:28 | |
diakopter | NIH all the things | ||
pmurias | diakopter: ? | 13:29 | |
diakopter | not-invented-here | ||
13:30
skids left
|
|||
diakopter | tongue-in-cheek "do it all yourself... | 13:30 | |
" | |||
13:30
zby_home_ joined
|
|||
pmurias | diakopter: who were you responding too? | 13:30 | |
diakopter | arnsholt :) | 13:31 | |
sorry it was a bit oblique | |||
pmurias | diakopter: not replicating parrot's design is generally a good thing , not a case of NIH | 13:32 | |
arnsholt | It's more a question of what kind of API/level of abstraction we want | 13:33 | |
diakopter | I would reimplement/inline ByteBuffer stuff if you thought performance of the NQP Buf is more imprtant to optimize than the rakudo one | ||
or if you thought it could be reused for rakudo too | 13:34 | ||
arnsholt | The Buf-related stuff in Rakudo is tightly coupled to Parrot (uses PIR ops for example), so we're gonna have to refactor it pretty soon anyways | ||
Might as well spend a bit of time figuring out the best approach while I'm at it | |||
diakopter is having fun pretending to design a JIT copmiler | 13:36 | ||
FROGGS | if it would be pure nqp it would be easier to for porting nqp to other VMs, however, if VMs like JVM have a good support for bytebuffers it might make sense to wrap the VMs implementation... | ||
and since I dont know the JVM I cant answer my question | 13:37 | ||
13:37
CharellKing joined
|
|||
pmurias | arnsholt: I think the answer is what features do you want to add it? | 13:38 | |
diakopter | all VMs' implementations of buffers are going to be dead simple... | ||
FROGGS: but no it doesn't make sense to put much of it in nqp code | 13:40 | ||
FROGGS | what if you want to send a bytebuffer to another lib (like java) on JVM? would be good if you already use JVM's bb | ||
13:41
thou joined
|
|||
diakopter | you'd already just be using a byte[] | 13:41 | |
pmurias | I think that's the idea that we wrap the VM specific buffer in a portable manner rather than using NQP arrays of ints | ||
diakopter | (there isn't another way to do it, unless you used sun.misc.Unsafe and asked the VM for non-GC-managed memory) | ||
[Coke] asks moritz how to defenestrate a window. | 13:42 | ||
diakopter has delivered windows via windows during construction | 13:43 | ||
always outside->in though | 13:44 | ||
arnsholt | Actually, wrapping ByteBuffer is the wrong term. We could just pass 'em around, is what I mean (what we do with various native things like strings already) | 13:45 | |
[Coke] | a demonstration of antidefenestration! | ||
arnsholt | transfenestration? | ||
FROGGS | by wrapping I mean to add methods | ||
diakopter | arnsholt: but they can't be 6model objects... | 13:46 | |
arnsholt | What can't be 6model objects? | ||
diakopter | the "native" byte buffer | 13:47 | |
sorry; I likely misunderstood | |||
arnsholt | Sure, sure. The actual buffer won't be | ||
pmurias | arnsholt: and what is the alternative to wrapping them? | 13:50 | |
arnsholt | Passing around the bare PMC | 13:51 | |
Come to think of it, Buf wants to be able to handle buffers of not-bytes as well, which makes things a bit more complicated | |||
13:51
anuby_ left
|
|||
pmurias | arnsholt: I think we should pass around a wrapped PMC instead of duplicating the parrot api on all platforms | 13:53 | |
13:54
anuby joined
|
|||
arnsholt | Sure, but do we just add some ops that manipulate ByteBuffer/byte[]/whatever or abstract it with a class that is a bit more versatile? | 13:54 | |
Might just be a question of whether we want several ops or one class, I don't know yet | |||
FROGGS | dont you have to wrap it in a 6model object? | 13:57 | |
I mean, what else is a Buf object then in Perl 6? | 13:58 | ||
(note that almost all my object-wrapping knowledge is from perl 5 xs) | |||
13:59
wk joined
14:05
PacoAir joined
14:08
PacoAir left,
PacoAir joined
14:10
zby_home__ joined
14:11
zby_home_ left
14:12
benabik joined
14:13
bluescreen10 joined
|
|||
pmurias | arnsholt: there are other buffer than ByteBuffer | 14:16 | |
arnsholt: so I think it's better to have a couple of class versus loads of op variants | 14:18 | ||
14:19
zby_home_ joined
|
|||
diakopter | (that's what jnthn did with native arrays in nqp=jvm) | 14:19 | |
14:20
zby_home__ left
|
|||
arnsholt | Kewl | 14:21 | |
14:21
Psyche^ joined,
shinobicl joined
14:25
Patterner left,
Psyche^ is now known as Patterner
|
|||
shinobicl | Hi | 14:25 | |
rakudo: my @dice = <⚀ ⚁ ⚂ ⚃ ⚄ ⚅>; say @dice.pick(2).perl; | |||
p6eval | rakudo 1e85ff: OUTPUT«("⚂", "⚃").list» | ||
shinobicl | what should i do if i want to have repeated dice? | 14:26 | |
moritz | shinobicl: .roll | ||
shinobicl | oh.. thanks! | ||
moritz | r: say '⚀' ... '⚅' | 14:27 | |
p6eval | rakudo 1e85ff: OUTPUT«⚀ ⚁ ⚂ ⚃ ⚄ ⚅» | ||
moritz | \o/ | ||
shinobicl | my @dice = ("⚀" .. "⚅"); say @dice.roll(2).perl; | 14:29 | |
rakudo: my @dice = ("⚀" .. "⚅"); say @dice.roll(2).perl; | |||
p6eval | rakudo 1e85ff: OUTPUT«("⚅", "⚂").list» | ||
shinobicl | so ".." and "..." do the same thing? | 14:30 | |
moritz | no | 14:32 | |
r: say ("⚀" .. "⚅").WHAT | |||
p6eval | rakudo 1e85ff: OUTPUT«Range()» | ||
moritz | r: say ("⚀" ... "⚅").WHAT | ||
p6eval | rakudo 1e85ff: OUTPUT«List()» | ||
shinobicl | range is lazy and list is not? | 14:33 | |
moritz | Range stores start- and endpoint, List all elements | 14:46 | |
but there are other differences too; see for example doc.perl6.org/language/operators#infix+... | 14:47 | ||
14:49
mmcleric joined
|
|||
[Coke] | moritz: where is the code for that stored | 14:57 | |
? | |||
pmichaud | good morning, #perl6 | ||
[Coke] | ah, crap, I'm at DAYJOB anyway :there's a duplicate "this allows you..." near the end of that section. | ||
hio. | |||
14:57
skids joined
|
|||
moritz | \o pmichaud | 14:57 | |
14:57
shinobicl left,
stopbit joined
15:02
pmurias left,
shinobicl joined,
kaleem left
15:04
benabik left,
daxim left
|
|||
arnsholt | Heh. Dist::Zilla has a lot of dependencies | 15:06 | |
PerlJam | arnsholt: I'm willing to bet that it has the most dependencies of anything on CPAN :) | 15:07 | |
15:07
thou left
|
|||
moritz | except maybe Angerwhale | 15:09 | |
15:11
salv01 joined
|
|||
[Coke] | for masak: | 15:14 | |
-> (10:08) From Ultor, to random: - Every time you miss a typo, the errorists w | |||
in! | |||
(misplaced newline my unintended error!) | |||
FROGGS | why do I read terrorists there? | 15:15 | |
15:15
mberends joined
|
|||
arnsholt | Angerwhale? | 15:16 | |
PerlJam | FROGGS: because you don't actually read each letter and assemble them into words. You really skim the words and your brain fills in the details. | ||
arnsholt | Oh, there it is | 15:17 | |
PerlJam | FROGGS: (I read it like 3 times before I didn't see "terrorists" anymore :) | ||
15:29
CharellKing left
|
|||
pmichaud | r: say 1, 1, *+* ... *>=100; | 15:33 | |
p6eval | rakudo 1e85ff: OUTPUT«1 1 2 3 5 8 13 21 34 55 89 144» | ||
15:35
raiph__ left,
raiph_ left
15:36
raiph left,
benabik joined
15:39
raiph joined,
raiph_ joined
15:40
raiph__ joined,
shinobicl left
15:42
kaare_ joined
15:43
fhelmberger left
|
|||
PerlJam | masak: Are you familiar with the book "Let Over Lambda"? letoverlambda.com/index.cl | 15:44 | |
FROGGS | jnthn: btw, this is working now locally: say "fooooo" ~~ /@( <a b o c f>[0,2] )+/ gives 「ooooo」 and my @a = <f a o>; say "fooooo" ~~ /@a+/ gives 「fooooo」 | 15:46 | |
arnsholt | Let over lambda sounds interesting, but the author comes across as more than a little condescending | 15:47 | |
FROGGS | wow, sounds like I can't live without this book anymore^^ | 15:49 | |
15:51
domidumont left
15:53
Targen joined
|
|||
masak | sorear: yes, and "green idea" became a thing not because of Chomsky, but orthogonal to him. langauge has a way of doing that. :) | 15:57 | |
PerlJam: familiar with it, yes. it's also on my (too long) wishlist. :) | |||
jnthn | FROGGS: najs! | ||
15:57
FROGGS left
|
|||
PerlJam | masak: seems like it might be a good read that might infect your brain with some useful ideas about macros. | 15:58 | |
[Coke] | Sir, I'm sorry, but you have a pretty serious macro infection here. | 16:04 | |
I'm afraid some ColdFusion is the only alternative. | |||
benabik | Cure is worse than the disease. | ||
16:06
krunen left
16:09
krunen joined
|
|||
masak | PerlJam: I (re-)found www.okmij.org/ftp/Scheme/ the other day and plan to read it. | 16:09 | |
cxreg | jnthn: impressive work on the jvm repo | 16:10 | |
masak | PerlJam: also, I still need to follow up on the nice recommendations by the #scheme peeps. | ||
PerlJam | masak: ... and you still need to do p6cc :) | 16:12 | |
masak: just thought I'd mention the book in case you didn't know about it. | |||
masak | I was digging into p6cc yesterday. plan to dig more into it tonight. | ||
PerlJam | masak++ | 16:13 | |
[Coke] | mst: regarding a point in your redux post: I'm not sure "the community helping him work on it are happy with that", but for me at least, that ship sailed, and I feel like it falls under Rule #1. | ||
16:14
SamuraiJack left
|
|||
masak | +1 | 16:14 | |
mst | [Coke]: weeel, s/are happy with that/don't seem to be arguing/ | 16:17 | |
but my choice of words has as its primary purpose to make the people who think "no, perl6 should rename because everything is their fault" stfu | 16:18 | ||
whether I think perl6 would benefit from a rename or not doesn't strike me as relevant to the discussion | 16:19 | ||
benabik | .oO( Camelia Perl ) |
16:20 | |
[Coke] | mst: merely picking a small nit. Thanks for the proposal. | 16:21 | |
I feel like we're playing version number chicken. | 16:22 | ||
atrodo | I say we rename Perl5 and Perl6 both to Perl7, that'll confuse everyone and no one will ever talk about it again | 16:26 | |
PerlJam | renaming is a diversion. I say we don't do it (even jokingly) | 16:27 | |
[Coke] | www.groklaw.net/article.php?story=2...5074839583 - python asks for help with trademark in EU. Folks here might have some prior art to provide. | 16:30 | |
16:31
kaleem joined,
raiph_ left
|
|||
TimToady | actually, Perl 6 is mostly the fault of all those Perl 5 programmers who wrote too many durn RFCs :) | 16:32 | |
and I'll let them have Perl 7 when they come up with a better design to deal with all those RFCs than Perl 6 :) | 16:33 | ||
PerlJam | There were 35something RFCs ... I wonder how many authors? | ||
16:33
raiph__ left,
raiph left
|
|||
TimToady | really, I think this will become much less of an issue as soon as we achieve speed parity and interoperability with Perl 5 | 16:34 | |
since this is all driven by the perception of Perl 6's failure | |||
masak | +1 | ||
[Coke] | that's certainly a major component, but even if Perl 6 succeeds, there's still issues. | 16:35 | |
masak | it'll become easi*er*. probably never completely friction-free. | ||
like it or not, Perl 6 comes with baggage. | |||
[Coke] | (which mst++'s proposal will definitely help with, I think, from a business standpoint.) | ||
masak | aye. | ||
16:36
PacoAir left
16:37
raiph joined,
raiph_ joined,
raiph__ joined
|
|||
TimToady | masak++ is not a naysayer, he's just a yeahbutsayer... :) | 16:39 | |
16:40
BigFarz joined
|
|||
BigFarz | hello | 16:40 | |
PerlJam | BigFarz: greetings. | 16:41 | |
BigFarz | Are you in Seattle? | ||
masak | BigFarz: ahoy! | ||
TimToady | "Not I" said the pig. | ||
masak | BigFarz: it is not the case that we are in Seattle. | 16:42 | |
TimToady | but some of my genes are in Seattle | ||
masak .oO( the chose to seattle down there... ) | |||
they* | |||
TimToady | who's Attle, anyway? | 16:43 | |
BigFarz | okay, you know that if you write a Perl 6 script and run in backwards on an 8086 processor you can hear John Lennon? | ||
TimToady beattles his eyebrows at that | |||
masak | BigFarz: is that before or after the 8086 runs out of memory? | ||
BigFarz | Kind of in the middle of that | 16:44 | |
TimToady | .oO(We all live in an 8086, an 8086...) |
||
skids resists temptation to complete those lyrics | |||
[Coke] | Our perl mothers (and perl fathers...) | 16:45 | |
masak | r: sub marine {}; say "goodbye"; say "hello"; | ||
p6eval | rakudo 1e85ff: OUTPUT«goodbyehello» | ||
BigFarz | Question: should Mongers be Mongers or Monger's or Mongers' | 16:46 | |
TimToady | depends | ||
how is it used in a sentence? | |||
[Coke] | How many Mongers are mongering? | ||
TimToady | I went over to another Perl Monger's house | 16:47 | |
I went to the Perl Mongers' meeting place | |||
I went to Perl Mongers | |||
BigFarz | All the Perl Mongers were in a bar one day. | ||
All the Perl Mongers were in a bar one day. ???? | |||
TimToady | This generation is illiterate about apostrophe's, but then again, so were all the previous generation's. | 16:48 | |
pmichaud | cool! I just got a Valentine's Day VIP keychain from LEGO! plus.google.com/photos/10058333350...9934851041 | 16:49 | |
BigFarz | Well I created a group on LinkedIn call Duluth Perl Monger's - and I can't figure out how to change it. | ||
TimToady | well, maybe you could link it out again, and start over | 16:50 | |
BigFarz | Okay then: Question : Perl Monger? | ||
TimToady | yes and no | ||
BigFarz | Is one Perl Mongers a Perl Monger | 16:51 | |
TimToady | yes | ||
16:51
benabik left
|
|||
TimToady | er, if you mean an individual programmer | 16:51 | |
not if you mean an individual group of mongers | |||
so, yes and no :) | |||
BigFarz | can you splice a perl monger hash | 16:52 | |
pmichaud | BigFarz: in LinkedIn, I can change my name by editing the profile | ||
TimToady | only if it's made out of corned mongers and potatoes | ||
TimToady assiduously avoids LinkedIn, so has no advice on that subject | 16:53 | ||
pmichaud | Profile -> Edit Profile -> click the pencil icon to the left of the name | ||
16:53
census joined
|
|||
BigFarz | not profile I created a group | 16:53 | |
pmichaud | oh, group. checking. | ||
TimToady | so, are you in Duluth or Seattle? | 16:54 | |
pmichaud | Groups -> Your Groups -> select the group -> Group Information (on left menu) -> change "Group Name" | 16:55 | |
16:55
FROGGS joined
|
|||
pmichaud | apparently the name can only be set six times or something like that. | 16:55 | |
BigFarz | I'm in Duluth ... but I left me heart in San Francisco - in a bar where Tony Bennet was singing I left my Heart in San Francisco | ||
TimToady | I left my lungs in Los Angeles. | 16:56 | |
kresike | bye folks | ||
16:56
kresike left
|
|||
BigFarz | not really, I never saw Tony Bennet in San Fransico | 16:57 | |
TimToady | figgered you was making that one up | ||
cxreg | where did the seattle question come from? i happen to be sitting there.. | 16:58 | |
BigFarz | have to take the dog out ---- nice meeting you all | ||
TimToady | It's supposed to go up to 73℉ here today, so it's neither Seattle nor Duluth | ||
16:58
benabik joined
|
|||
TimToady | BigFarz: likewise | 16:59 | |
jnthn | decommute & | 17:01 | |
17:09
kaleem left
17:15
SunilJoshi joined,
Chillance joined
17:18
SunilJoshi left
17:26
thou joined
17:33
SunilJoshi joined
17:34
autumn joined
|
|||
TimToady | "this is a courtesy call from your pharmacy--press any key to continue", so I pushed a button, and it hung up instead. 'course, it was the Off key I happened to press.. | 17:40 | |
timotimo | i remember an article(?) about someone who pressed the shift key when prompted to press "any key" and it didn't work | ||
what is this "stow" thing i sometimes read people talking about? | 17:44 | ||
17:46
REPLeffect joined
|
|||
benabik | timotimo: 12www.google.com/url?sa=t&rct=j&...3238,d.dmQ | 17:47 | |
Gah. google-- | |||
timotimo: www.gnu.org/software/stow/ | |||
timotimo: Something like a very simple package manager. | |||
timotimo | thank you :) | 17:49 | |
i would not have thought that something like that was google-able | |||
i guess i should know better by now. | |||
benabik | I think I googled for GNU stow. | 17:50 | |
timotimo | ah, that reminds me a little bit of update-alternatives from debian and eselect from gentoo | ||
benabik | Because I knew it was a gnu project. There's also a few things derived from stow, like stow. | ||
xstow | |||
17:51
PacoAir joined
17:54
fgomez left
17:58
dakkar left
18:01
PacoAir left,
PacoAir joined
18:22
SunilJoshi left
18:24
proller joined
|
|||
masak | again, tomorrow Perl 6 celebrates an important birthday. | 18:29 | |
I'm gonna celebrate it by blogging a "where are we know" post. | |||
TimToady | I do knot now what you mean... | 18:30 | |
geekosaur tries to figure out whether that's a typo or a pun | |||
masak | the birthday is irclog.perlgeek.de/perl6/2013-02-14#i_6452892 | 18:31 | |
Perl 6 hits the age Pumkin Perl was when Perl 6 was announced. | |||
it was pure luck that I did that eval yesterday. | 18:32 | ||
I had a hunch the date was soon, but I didn't know it was so soon :) | |||
anyway, it feels like a good opportunity to look at the road behind us and the road ahead of us. | 18:33 | ||
TimToady | I wonder if we can pass Perl on RC by then...we're just 9 behind 'em :) | ||
18:33
proller left
18:34
raiph___ joined
|
|||
masak | heh. | 18:34 | |
18:34
raiph___ left
|
|||
masak | well, if you find 10 people on the channel and each one ports an RC task... | 18:34 | |
or if you find 5 willing to do two... | |||
TimToady | hey that kinda sounds like an RC task of some kind | 18:35 | |
or get 10 new tasks with the first example in p6... | |||
well, I don't insist upon it; we're not really in competition with p5, except insofar as we are... | 18:36 | ||
perigrin | p5 still needs to learn that "not winning" != "losing" ... but then the rest of the world needs to learn that too. | 18:37 | |
masak | perigrin: it's an outgroup thing. the outgroup looks in, and it's like all information comes filtered through a very narrow straw. | 18:39 | |
the bandwidth is terrible. | |||
TimToady | but for the mathy people in the crowd, there are still a number of cool problems on RC to work on | ||
rosettacode.org/wiki/Polynomial_regression and such | |||
masak | so something nuanced like "Perl 6 might take a while because it's bloody hard" becomes "Perl 6 is stillborn!" | ||
18:40
domidumont joined
|
|||
TimToady | it has the gestation period of a phoenix | 18:40 | |
huf | the problem is, you guys are too transparent | ||
should've stuck to backroom deals | |||
:) | |||
TimToady | yes, well, we have some of those too... :) | ||
perigrin | masak: this may be true, I'm not in a place to be "thoughtful" about it right now | ||
18:41
PacoAir left
18:44
wk left,
PacoAir joined
|
|||
FROGGS | nr: my @a = <a b c>; say "@a" | 18:44 | |
p6eval | rakudo 1e85ff, niecza v24-23-g0520c7c: OUTPUT«@a» | ||
FROGGS | is that right? | 18:45 | |
I'd expect to get: | |||
nr: my @a = <a b c>; say @a.Str | |||
p6eval | rakudo 1e85ff, niecza v24-23-g0520c7c: OUTPUT«a b c» | ||
18:46
uvtc joined
|
|||
masak | FROGGS: it's right. | 18:46 | |
FROGGS: non-$ interpolation needs to end in a postcircumfix. | |||
nr: my @a = <a b c>; say "@a[]" | |||
p6eval | rakudo 1e85ff, niecza v24-23-g0520c7c: OUTPUT«a b c» | ||
FROGGS | ahh, I think I've seen this already | 18:47 | |
masak | FROGGS: that way, email addresses won't interpolate :) | ||
FROGGS | right, and I know believe I already heard that explanation | ||
:o) | |||
thanks masak | |||
okay, so my local changes to INTERPOLATE still are fine \o/ | 18:48 | ||
18:48
quester joined
|
|||
masak | ;) | 18:48 | |
FROGGS | but the NFA stuff is a tricky one | 18:49 | |
:/ | |||
uvtc | backlogging, had to chime in: | ||
pmichaud: congrats on the Valentine's Day VIP keychain. Nice. :) | |||
18:53
plzignoreme joined,
plzignoreme left,
japhb_ joined
18:56
donaldh joined
18:58
benabik_ joined,
benabik left,
benabik_ is now known as benabik
19:01
labster joined,
fgomez joined
|
|||
uvtc | moritz: thanks for the help yesterday, building R with the latest sixparrot. I moved those notes I scribble down to wiki.perl6.org/Rakudo-Parrot . | 19:03 | |
19:04
SunilJoshi joined
|
|||
uvtc | *scribbled | 19:04 | |
19:05
fgomez left
|
|||
dalek | rl6-roast-data: 9413754 | coke++ | / (4 files): today (automated commit) |
19:09 | |
rl6-roast-data: e458484 | coke++ | / (3 files): today (automated commit) |
|||
[Coke] | rakudo now passes everything that isn't fudged that it runs (2 days running) | ||
moritz | \o/ | 19:10 | |
[Coke] | anyone who breaks that will get the ... rutabega. | ||
*rutabaga | |||
19:11
Targen left
|
|||
uvtc | What is traditonally given to the one who breaks the build? | 19:12 | |
[Coke] | some short of shaming device. | ||
19:12
SunilJoshi left
|
|||
[Coke] | *SORT | 19:12 | |
moritz | friendly incentive to unbreak it | ||
[Coke] eyes his fingers warily. | |||
geekosaur | a copy of php | 19:13 | |
moritz | [Coke]: it's Friday :-) | ||
[Coke] | POKER NIGHT! | ||
moritz | geekosaur: we're not that crual | ||
*cruel | |||
moritz eyes his own fingers | |||
labster | They wake up with a findus lasagna in their bed. | ||
[Coke] | moritz: THE TYPOS ARE COMING FROM INSIDE YOUR OWN HANDS! | 19:15 | |
uvtc | I remember reading somewhere: "The only bugs are the ones you put there yourself." :) | 19:16 | |
labster | Anyway, it turns out that making a grammar to match CSV is very easy. It helps that some of the examples in S05 actually involve matching comma-delimited code. | 19:17 | |
But I still have no idea what I'm doing with $/ and the ast. | |||
[Coke] | isn't there already a CSV module? | 19:18 | |
geekosaur | CSV is easy until you realize that some variants use \ for ecaping, some use doubling, and some don't support escaping at all, and nobody documents which one they require/se | ||
[Coke] | github.com/masak/csv/ | 19:19 | |
labster | Oh, I guess there is... why is it on most wanted? | ||
[Coke] | I already started down that path before realizing masak beat me to it ages ago. | ||
labster: dunno. but check modules.perl6.org/ before starting fresh on a new project, JIC. | |||
where is the most wanted list? can you update it? | |||
labster | eh, I wasted about an hour on it, and it's all learning. | 19:20 | |
[Coke] | learning++ | 19:21 | |
labster | github.com/japhb/perl6-most-wanted...modules.md | ||
[Coke] | masak: Oh. now that I've submitted my code, I should create a sub project for the horrible Lingua::EN::Syllable port. | 19:22 | |
19:23
Chillance_ joined,
pupoque joined
19:27
Chillance left,
proller joined
19:28
fgomez joined
|
|||
labster | oh, that's why it's on the list. masak's Text::CSV is broken. | 19:28 | |
masak | [Coke]: you should :) | 19:29 | |
oh, Text::CSV is broken? :/ | 19:30 | ||
I believe whatever's wrong with it, it should be fairly fixable. it's a pretty solid piece of work. | |||
19:31
alester left
|
|||
labster | yeah, it looks easy to fix, I'll try it | 19:31 | |
masak | ++labster | 19:33 | |
I always loved the :object(MyType) option. you can parse CSV and generate custom objects right out of it! | 19:34 | ||
labster | r: regex TOP { ^ <line> %% \n <empty_line>? $ } | 19:39 | |
p6eval | rakudo 1e85ff: OUTPUT«===SORRY!===Unrecognized regex metacharacter % (must be quoted to match literally)at /tmp/ZrdfNcBgHq:1------> regex TOP { ^ <line> ⏏%% \n <empty_line>? $ }Malformed regexat /tmp/ZrdfNcBgHq:1------> regex TOP { ^ <line… | ||
labster | now with quotes: | ||
r: regex TOP { ^ <line> %% "\n" <empty_line>? $ } | |||
p6eval | rakudo 1e85ff: OUTPUT«===SORRY!===Unrecognized regex metacharacter % (must be quoted to match literally)at /tmp/qfj8bnxmXt:1------> regex TOP { ^ <line> ⏏%% "\n" <empty_line>? $ }Malformed regexat /tmp/qfj8bnxmXt:1------> regex TOP { ^ <li… | ||
benabik | labster: It's the %% it's complaining about, not the \n | 19:40 | |
masak | labster: you need a + or a * before %% | ||
labster | yeah, just got it | 19:41 | |
19:43
Targen joined
|
|||
masak | std: / "foo" %% \n / | 19:45 | |
p6eval | std 7551b8f: OUTPUT«===SORRY!===Unrecognized regex metacharacter % (must be quoted to match literally) at /tmp/Vlz35r7GGk line 1:------> / "foo" %⏏% \n /Unable to parse regex; couldn't find final '/' at /tmp/Vlz35r7GGk line 1:------> / "foo"… | ||
19:45
arlinius left
|
|||
masak | arguably the failure mode could have a better error message. | 19:45 | |
grondilu | an interesting concept for computer architecture, no more sequential access to data and code: phys.org/news/2013-02-self-repairing.html | 19:51 | |
19:52
donaldh left
19:54
fgomez left
19:59
arlinius joined
20:04
zby_home_ left
20:05
thou left
20:09
benabik left,
thou joined
20:10
donaldh joined
20:13
fgomez joined
20:14
arlinius left,
thou left
20:16
benabik joined
20:18
thou joined
20:20
donaldh left
|
|||
swarley | Code is coming along nicely, progress should be made by tonight | 20:38 | |
20:38
sqirrel left
20:40
zby_home joined
|
|||
FROGGS .oO( "[...] little padawan" ) | 20:40 | ||
japhb_ | labster, re: irclog.perlgeek.de/perl6/2013-02-15#i_6458572 -- It's because I'm still in the process of filling in the most-wanted lists with requested stuff; I have not done the pass of going through everything in the current Perl 6 ecosystem, evaluating its status, and deciding whether it meets the requirements, needs to be fixed to run on current Rakudo/Niecza, or isn't anywhere close so needs either a lot of help or a reimplementation. | 20:42 | |
Help in either of those stages of course much appreciated. | |||
Which reminds me: Who is currently an admin of the perl6 org on github? | |||
labster | Text::CSV is working now, but not passing all tests. | 20:45 | |
20:45
rprajapa joined
20:46
arlinius joined
|
|||
moritz | japhb_: me | 20:46 | |
labster | japhb: can I request a module binding to 7z.so/lib7zip? In theory it can handle a ton of archive formats. | 20:47 | |
masak | labster: cool. can you send a pull request? I'll merge it. | 20:48 | |
20:52
kaare_ left
|
|||
dalek | rl6-most-wanted: d36031c | (Geoffrey Broadwell)++ | most-wanted/bindings.md: Add 7zip to most-wanted bindings (labster++) |
20:53 | |
labster | masak: sent. I made a minor change so that weird lines like q/foo,"""","ba""z"/ work according to rfc4180. | 20:54 | |
20:54
fgomez left
|
|||
japhb_ | moritz, I've not transfered a repo into an org I don't run before (and last time I did it with an org I *did* run was almost two years ago). Anything special to worry about in transferring perl6-most-wanted over to the perl6 org now? | 20:55 | |
[Coke] | labster++ | ||
labster | masak: I think 03-quotes.t test 2 is failing because the header is getting sent twice. not to mention output<hashes> not working right at all, but I'll leave that to you. | 20:57 | |
dalek | rl6-most-wanted: 392a9c0 | (Geoffrey Broadwell)++ | most-wanted/modules.md: Text::CSV is WIP (not all tests pass yet) |
20:58 | |
masak | labster: merged. | ||
labster: I'll look at it tomorrow. | 20:59 | ||
GlitchMr: oops, I see you've done some good work with Text::CSV and sent it as pull requests. sorry for missing it for so long. | |||
still not good at picking out Github signal from Github noise. | |||
japhb_ | moritz, I'm ready when you are. | ||
masak | I'm quite exhausted due to too-early morning. I think I'm going to cede this day and hope for a tomorrow. :) | 21:00 | |
'night, #perl6 | |||
moritz | japhb_: no, just do it | ||
japhb_ | Good luck with sweet dreams, masak | 21:01 | |
moritz, roger that | |||
moritz, gah, it won't let me | 21:02 | ||
(Since I'm not an admin at the destination org. :-( ) | 21:03 | ||
moritz | japhb_: should I just clone the repo into the perl6 org? | ||
japhb_ | Yeah, I guess that's the best option for now. | ||
moritz | s/clone/fork/ | ||
japhb_ | Right | ||
21:05
spider-mario joined
|
|||
japhb_ | So now what's the right way to deprecate my fork? | 21:06 | |
21:08
donaldh joined
|
|||
dalek | p-jvm-prep: 5717a70 | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement altseq (which makes || work). |
21:12 | |
p-jvm-prep: 4dabd0e | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Implement rxpeek op. |
|||
p-jvm-prep: 952b916 | jnthn++ | lib/QAST/JASTCompiler.nqp: Compile greedy quantifiers. Also includes compilation of ratcheting ones, but rxcommit is NYI. |
|||
moritz | japhb_: put a notice in the README | 21:13 | |
japhb_: and after a while, delete the repo | |||
japhb_ | moritz, OK, got it. | 21:16 | |
dalek | rl6-most-wanted: d51d9f9 | (Geoffrey Broadwell)++ | README.md: Put 'old fork' warning in top-level README |
21:17 | |
21:18
donaldh left,
arlinius left
|
|||
japhb_ | OK, I'm switched. | 21:20 | |
21:20
BigFarz left
|
|||
japhb_ | Anyone wanting to help with perl6-most-wanted, please use github.com/perl6/perl6-most-wanted | 21:20 | |
21:20
fgomez joined
|
|||
japhb_ | moritz, when you forked it, did it bring the commit hook that pings dalek as well? Or do you need to set that up still? | 21:21 | |
jnthn | I'm pretty sure it'll be a separate thing | 21:22 | |
TimToady | r: gist.github.com/TimToady/4963642 | ||
p6eval | rakudo 1e85ff: OUTPUT«===SORRY!===Two terms in a rowat /tmp/gNPEOIS0NV:1------> https⏏://gist.github.com/TimToady/4963642 expecting any of: argument list postfix infix or meta-infix infix stopper stateme… | ||
TimToady | r: gist.github.com/TimToady/4963642 | ||
p6eval | rakudo 1e85ff: OUTPUT«===SORRY!===Two terms in a rowat /tmp/gtKhPyZWFu:1------> http⏏://gist.github.com/TimToady/4963642 expecting any of: argument list postfix infix or meta-infix infix stopper statemen… | ||
TimToady | doesn't do that anymore? | ||
japhb_ | moritz (or some other perl6 org admin), would you mind setting up the dalek commit hook for perl6/perl6-most-wanted? | 21:23 | |
jnthn | I think the URL format maybe changed | ||
And now it doesn't recognize it | |||
TimToady | jnthn: anywho, that gets me an error Nominal type check failed for parameter '$payload'; expected T but got Int instead | ||
but T is supposed to instantiate to Int | |||
jnthn | Sure is. | 21:25 | |
Any idea exactly which T it is? | |||
TimToady | the sig in post-insert | 21:26 | |
jnthn | oh. | ||
role DLL[::T] { | |||
my class DLLE does DLL_Element[T] {} | |||
You nested a class in a role. | |||
TimToady | I don't know how to do that otherwise | 21:27 | |
jnthn | Roles aren't as macro-ish as you expected them... | ||
21:27
pupoque left
|
|||
TimToady | well, I guess I can instantiate in parallel, but it'd be nice if one could drive the other | 21:27 | |
jnthn | It doesn't make a fresh class per role instance. | 21:28 | |
And the one declaration sees the uninstantiated type variable, 'cus it comes into existence before the role is ever composed. | |||
TimToady | okay...have to think about it s'more | ||
jnthn | Does the spec make a call on what happens to packages declared inside roles? iirc, it doesn't call either way | ||
I've always had it down as a grey area. :) | 21:29 | ||
TimToady | here be grey dragons... | ||
jnthn | I suspect we *could* find a way to make it work but by then we're pushing roles further into macro territory | ||
japhb_ | .oO( TimToady: "Do I want this enough to change the spec so jnthn has to make it so ...?" :-) ) |
||
TimToady | I just think it's kind of typical to want to instantiate a forest of classes together | 21:30 | |
jnthn | TimToady: While you're on it, you may also wish to ponder this issue: | ||
21:30
domidumont left
|
|||
jnthn | r: role Foo { our sub foo() { say 42 } }; Foo::foo() | 21:31 | |
p6eval | rakudo 1e85ff: OUTPUT«Could not find symbol '&foo' in method <anon> at src/gen/CORE.setting:10521 in at src/gen/Metamodel.pm:2488 in any find_method_fallback at src/gen/Metamodel.pm:2476 in any find_method at src/gen/Metamodel.pm:925 in at src/gen/BOOTSTRAP.pm:883 in any … | ||
jnthn | That at first blush looks like it should work, but it doesn't at the moment. | ||
The reason it doesn't is... | |||
diakopter | oh, I thought it was Perl Munger | 21:32 | |
jnthn | role Foo { }; role Foo[::T] { } | ||
Roles are multiple dispatch | |||
TimToady | diakopter: eventually it will be Perl Manger | ||
jnthn | What's actually installed in Foo is not actually the role. It's basically a thingy that does a multi dispatch to pick a role. | ||
21:32
wk joined
|
|||
jnthn | Which gets a type object of its own. | 21:33 | |
ParametricRoleGroupHOW or so. | |||
TimToady | the downside to all this punning... | ||
moritz | .oO( punning for the fjords...) |
21:34 | |
jnthn | Yeah. Well, I've mentioned before just how many different forms roles come in :) | ||
Which I don't see as a problem per se. | |||
But the only sane way I found to implement all the things is to untangle the puns. | 21:35 | ||
21:35
spider-mario left
|
|||
jnthn | tbh, I think putting our scoped stuff inside something generic is crazy anyway... | 21:35 | |
TimToady imagines Foo as a search path of packages, and shudders | |||
which is why I declared my inner class with 'my' :) | 21:36 | ||
jnthn | That is, I can imagine that if you try to install something our-scoped inside a role, we say "no, this won't end well" :) | ||
Yeah. I can see what you wanted it to do. :) | 21:37 | ||
I'm just asking if we really want the complexity of doing it :) | |||
TimToady | dunno; do Java generics have a story on this sort of thing? | ||
jnthn | It *is* the same machinary masak++ will want for declarations in macros, so in a sense we're gonna have to solve the problem anyway. | 21:38 | |
21:38
zby_home left
|
|||
TimToady | .oO(and you thought *monads* were hard to lift...) |
21:38 | |
jnthn | Java generics are mostly an example of what not to do. :) | 21:39 | |
C# ones, otoh, are done properly. | |||
TimToady | so what do they do in this case? | ||
jnthn | In C#, if you write an inner class inside a generic class, it also becomes generic. | ||
21:39
pmurias joined
|
|||
jnthn | Hm, darn, I just said that's the proper thing to do, didn't I... :) | 21:40 | |
TimToady is not going to torment the implementors (much) more than they torment themselves | 21:41 | ||
jnthn | From the spec: | ||
Any class nested inside a generic class declaration or a generic struct declaration (§25.2) is itself a generic class declaration, since type parameters for the containing type shall be supplied to create a constructed type. | |||
21:42
FROGGS left
|
|||
jnthn | We maybe don't want quite that factoring, since our type parameters are just lexical. | 21:42 | |
We just want to hang on to the class in a generic form and then reify it. | 21:43 | ||
TimToady | but an inner class that is dependent on T, like mine... | ||
21:43
uvtc left
|
|||
jnthn | Well, I guess we'd treat any class inside a role as generic in some sense. | 21:43 | |
21:44
colomon left
|
|||
jnthn | I suspect making it do what you expected is (a) possible, (b) least surprising, and (c) hard. :) | 21:44 | |
Which basically makes it a great candidate for a Perl 6 feature. ;-) | 21:45 | ||
TimToady | vicarious suffering, and all that... | ||
well, just because it's Friday doesn't mean you have to do it today :) | 21:46 | ||
jnthn | :) | ||
No, the regex engine port is quite enough fun for one day ;) | |||
Anyway, no objections if you want to spec it that way. | |||
TimToady is not sure he understands it well enough yet to talk about it | 21:47 | ||
nwc10 | masak: Austria has found horsemeat masquarading as beef: derstandard.at/1360681627702/Erster...esterreich | ||
21:48
spanner_ left,
arlinius joined
|
|||
jnthn | .oO( ... in Ostrich?! Oh, wait... ) |
21:48 | |
TimToady | I don't believe the national anthem has any guarantees to the contrary | ||
though for some reason I only recall the first few lines... | 21:49 | ||
nwc10 | well, tonight we had chicken. Pretty sure about that. There were plausible bones. | 21:50 | |
TimToady | r: lines.pick(*) | ||
p6eval | rakudo 1e85ff: ( no output ) | ||
TimToady | r: lines.pick(*).say | ||
p6eval | rakudo 1e85ff: OUTPUT«vielgeliebtes Österreich, frei und gläubig sieh uns schreiten, vielgerühmtes Österreich, liegst dem Erdteil du inmitten, einem starken Herzen gleich. vielgeprüftes Österreich, Mutig in die neuen Zeiten, Einig laß in Brüderchören, Land der Hämmer, zukunftsreich! v… | ||
21:50
spanner joined
|
|||
TimToady | well, Ostrich is a red meat, so maybe it's pretending to be horsemeat pretending to be beef | 21:51 | |
21:52
skids left
21:55
AigleNoir joined
21:56
[particle] left
21:59
donaldh joined
22:13
donaldh left
|
|||
nwc10 | jnthn: "All tests successful." | 22:14 | |
22:14
donaldh joined
22:15
[particle] joined
|
|||
mj41 | rhr: { say "MY " ~ MY::.perl; } | 22:15 | |
rakudo: { say "MY " ~ MY::.perl; } | 22:17 | ||
p6eval | rakudo 1e85ff: OUTPUT«No such method 'perl' for invocant of type 'CallContext' in method perl at src/gen/CORE.setting:6548 in block at /tmp/MxGJQp8oiO:1» | ||
diakopter | r: say MY::.^methods | 22:19 | |
p6eval | rakudo 1e85ff: OUTPUT«new at_key bind_key exists elems exists iterator list keys kv values pairs invert at_key STORE_AT_KEY Capture FLATTENABLE_LIST FLATTENABLE_HASH fmt hash of Bool ACCEPTS perl elems infinite item fmt Int Num chrs Numeric Str» | ||
diakopter | there's a perl method | ||
jnthn | yes, it tried to .perl something inside of there. | 22:20 | |
Which didn't work out. | |||
22:23
donaldh left
22:26
telex left
22:28
grondilu left,
telex joined
|
|||
japhb_ | .oO( That's ... not going to work out. ) |
22:31 | |
dalek | p-jvm-prep: 7e392cf | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/VMArrayInstance_ (3 files): Fix a thinko in at_pos_native. |
22:40 | |
p-jvm-prep: a0e826b | jnthn++ | src/org/perl6/nqp/runtime/Ops.java: Implement rxcommit; ratchet quants now work. |
|||
p-jvm-prep: a0fabc9 | jnthn++ | lib/QAST/JASTCompiler.nqp: Factor out rxmark calls. |
|||
p-jvm-prep: 3294e6b | jnthn++ | lib/QAST/JASTCompiler.nqp: Compile frugal quantifiers. |
|||
22:42
colomon joined
22:45
pmurias_ joined
|
|||
pmurias | jnthn: how are classes in nqp-{jvm,js} supposed to specify how they boolify? | 22:46 | |
22:46
pmurias_ left
|
|||
pmurias | jnthn: ah, there is a setboolspec | 22:49 | |
jnthn | yes, that way :) | ||
See istrue in Ops.java | |||
pmurias | just seen it | 22:50 | |
22:51
benabik left
|
|||
nwc10 | jnthn: still All tests successful. | 22:51 | |
pmurias | everything seems much clearer when not in a noisy, crowded train after a 3 hour exam ;) | ||
jnthn | I'll imagine. | 22:52 | |
Hope the exam went fine. | |||
pmurias | me too | ||
;) | |||
jnthn | pmurias: Somebody just passed asmjs.org/spec/latest/ my way...dunno if it's of any interest for your rakudo-js work | 22:54 | |
pmurias | NQPCORE.setting in nqp-jvm-prep is a slightly hand modified version copied from nqp | 22:55 | |
? | |||
jnthn | Yeah | 22:56 | |
I'm aiming for convergence. | |||
pmurias | nqp-js passes all it's test with a slightly modified stolen version of that | 22:57 | |
jnthn | \o/ | ||
Nice! | |||
pmurias | (I'll commit it tommorow after I clean up some hacks that are need for that) | ||
jnthn: and how can classes specify how they are converted to integers and numers? | 23:00 | ||
jnthn: re asmjs.org that could be very usefull for winning numeric benchmarks ;) | 23:01 | ||
23:03
census left
|
|||
jnthn | pmurias: Converted to integers/numbers/strings will go the Perl 6 way: .Int, .Num, .Str. | 23:03 | |
pmurias | and why not .Bool? | 23:04 | |
jnthn | So, methods. | ||
It does as a fallback. | |||
Boolification is so common it gets a fast path. | |||
For Int/Num/Str hotpath code we're tending to be operating on things that are already the right type. | 23:05 | ||
lue | hello o/ | ||
jnthn | o/ lue | ||
I want to get rid of the Parrot v-table use for get_string/get_integer/get_number. | 23:06 | ||
*of | |||
Since it typically leads to nested runloops. | |||
And other such horrors. | |||
23:09
arlinius left
|
|||
pmurias | I agree | 23:09 | |
23:13
fgomez left,
fgomez joined
23:24
Targen left
23:25
raiph left,
raiph_ left
23:26
raiph__ left
23:27
bluescreen10 left
23:29
raiph joined,
VAAQ2YG joined,
JTAAJVHX joined
23:31
stopbit left
23:37
arlinius joined,
raiph left
23:41
raiph joined,
VAAQ21T joined,
JTAAJVN9 joined
23:47
raiph left
|
|||
dalek | p-jvm-prep: dfcec49 | jnthn++ | lib/QAST/JASTCompiler.nqp: Create less temporaries. |
23:49 | |
p-jvm-prep: bb15902 | jnthn++ | lib/QAST/JASTCompiler.nqp: Compile subcaptures. This means that we can now handle things like: say(('abcdef' ~~ /$<foo>=[<[bc]>+d]ef || <[de]>f/).hash<foo>.Str()) Note that we don't yet know how to backtrack the cursor stack, so any backtracking thing after a subcapture won't end well. |
|||
p-jvm-prep: a125d08 | jnthn++ | docs/ROADMAP: Update ROADMAP. |
|||
23:56
VAAQ245 joined,
JTAAJVU7 joined
23:58
raiph joined
|