»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
japhb_ | Sweet. | 00:00 | |
timotimo | in^H^H^H^Hindeed it is! | 00:01 | |
japhb_ | Looking through those graphs, I was going "so where does it differ?" And then I came to postwhile_nil_native ... | ||
diakopter | where does it differ from what | 00:02 | |
oh, the previous build | |||
japhb_ | Holy crap, trim_string got a lot better! | ||
Tight native loops makes sense, but that's a nice improvement on something "larger" | 00:03 | ||
diakopter | I don't see man-or-boy on there | ||
segomos | IO::Socket::INET differs for jvm vs parrot? | ||
diakopter | oh there's man-or-boy | ||
segomos: I don't see a socket test | |||
00:04
dayangkun joined
|
|||
segomos | diakopter: sorry i didn't mean to type that here, i'm getting .send method not available errors and trying to track down if it's the way that i built rakudo or actually a bug ;) | 00:04 | |
diakopter | likely a bug. | ||
jnthn | segomos: Unless somebody sneaked it in, sockets ain't in place on JVM yet. | ||
segomos | jnthn: ahh, okay thanks | 00:05 | |
jnthn | segomos: I may get to that in the next days... | ||
timotimo | japhb_: i have no sensible explanation for for trim_string getting better | ||
u | |||
segomos | jnthn: if you point me in the right direction on where to even start i wouldn't mind submitting some stuff | ||
japhb_ | timotimo: Improvement in just this line? github.com/rakudo/rakudo/blob/nom/...tr.pm#L767 | 00:08 | |
timotimo | oh. yes, could be. | 00:11 | |
grondilu | std: use java::lang::System:from<java>; | 00:17 | |
camelia | std c2215f0: OUTPUT«===SORRY!===Cannot locate module java::lang::System at /tmp/Cd5PUUKuR6 line 1:------> use java::lang::System:from<java>⏏;Check failedFAILED 00:00 41m» | ||
00:18
logie left
00:21
xinming left,
fridim_ joined
00:25
xinming joined
00:28
Rotwang left
|
|||
ruoso | hey | 00:35 | |
yoleaux | 5 Aug 2013 07:37Z <jnthn> ruoso: the next/last handlers for while loop are emitted as part of code generation, that is a QAST::Op while (and until, repeat_while and repeat_until) gets them "for free". MapIter handles them for for loops and contains a Parrot-specific version as well as a generic version of the looping code that JVM uses. | ||
ruoso | jnthn: so, from my experiments, it seems that "take" changes something in the state of the control exception such that a "last" after a "take" make the exception to leak to main | 00:37 | |
but I have to admit that I haven't still find a proper way to debug this | |||
jnthn | ruoso: Well, I guess there is a continuation take/resume between the two | 00:39 | |
ruoso | yeah... sure... | 00:40 | |
but it seems that last behaves strangely only after a take/resume | |||
r: say gather loop { take 1; last } | |||
camelia | rakudo df814a: OUTPUT«1» | ||
ruoso | that simple test breaks in the jvm rakudo | 00:41 | |
I if try the take without a last and a last without a take, they work fine | 00:42 | ||
but what is really blocking me is that I haven't found a productive way of debugging it... | 00:45 | ||
00:48
LlamaRider joined
|
|||
LlamaRider | holla #perl6 | 00:49 | |
jnthn | ruoso: I'm afraid I've not got many hints there...I'm not that familiar with the inner workings of the continuation bits yet | ||
00:51
arcterus joined
|
|||
dalek | p: c9a07ec | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/BootJavaInterop.java: Support loading classes from an explicit JAR. |
00:51 | |
LlamaRider | I am trying to get NQP on JVM going for the first time and sadly my "make test" failed on what seem two easy tests (passing a large bunch of tests beforehand). | ||
where should I seek help? :) | |||
00:51
hypolin joined
|
|||
ruoso | jnthn: it would probably be easier if there was a way to (maybe as a compile-time-switch) revert to generating the exceptions lazily... | 00:52 | |
jnthn | LlamaRider: Here; which test file was it? | ||
LlamaRider | t/jvm/06-sprintf.t | ||
jnthn | Ah... | ||
dalek | kudo/use-from-java: 73b6583 | jnthn++ | src/vm/jvm/Perl6/JavaModuleLoader.nqp: Give :from<java> support for a :jar<...> also. |
||
jnthn | I think FROGGS or colomon are most likely to know about that...I highly doubt that it means you'll have problems overall, though. | 00:53 | |
LlamaRider | one of the failures looks harmless the other however... | ||
00:55
cognominal left,
thou joined
|
|||
LlamaRider | gist.github.com/dginev/6161094 | 00:55 | |
the first error looks troubling | |||
I will brave a make install and expect meeting dragons on Rakudo's make test =) | 00:57 | ||
00:58
[particle]1 joined
|
|||
jnthn | sleep time; 'night | 01:06 | |
LlamaRider | g'night jnthn! Rakudo's make test just passed, things are looking up :) | 01:07 | |
01:15
segomos left,
segomos joined
01:16
grondilu left
01:19
Mouq left
01:20
LlamaRider left
01:21
raiph left
01:23
benabik joined
01:30
cooper left
01:38
cooper joined,
cooper left,
cooper joined
01:49
arcterus left
01:53
raiph joined
01:56
LlamaRider joined
01:59
logie joined
|
|||
timotimo | my laptop likes to freeze and reboot when it experiences shaking :| | 02:00 | |
timotimo hopes an interrupted yum update doesn't do damage | 02:01 | ||
apparently it didn't damagy my system in any obvious way | 02:04 | ||
LlamaRider | You were lucky no kernel updates were being performed | 02:10 | |
timotimo | er ... actually no. | ||
i do believe i have two kernels to choose from in my grub | |||
LlamaRider | what I meant is that the interrupt wasn't in the middle of a kernel upgrade | 02:12 | |
then the newer one would've ended up broken | |||
it's nothing lethal in any case, but you would have had to manually clean up after it | |||
02:13
Vlavv left
02:15
jaldhar joined
|
|||
timotimo | probably would have been enough to just reinstall the kernel | 02:18 | |
02:18
cognominal joined
02:31
logie left
02:41
fridim_ left
02:42
LlamaRider left
02:47
pecastro left
02:52
pecastro joined
02:58
berekuk left
03:10
wtw_ joined
03:13
wtw left
03:20
colomon left
03:21
preflex_ joined,
ChanServ sets mode: +v preflex_
03:22
preflex left,
preflex_ is now known as preflex
03:42
raiph left
03:52
arcterus joined
04:07
raiph joined
04:12
logie joined
04:24
BenGoldberg left
04:25
Mouq joined
|
|||
moritz | \o | 04:29 | |
yoleaux | 5 Aug 2013 21:56Z <lizmat> moritz: please check df814a2, it was needed to fix many spectests, but fear it is not the solution you had in mind | ||
moritz | wtf | ||
04:32
jaldhar left
|
|||
moritz | what makes X::Comp fatal where Exception isn't fatal? | 04:33 | |
04:35
jaldhar joined
04:41
Mouq left
04:51
birdwindupbird joined
05:02
logie left
05:09
zby_home_ joined
05:23
raiph left,
SmokeMac_ left
05:27
zby_home_ left
05:28
raiph joined
05:29
benabik left
05:30
benabik joined
05:36
konundra left,
arcterus left
05:42
SmokeMachine joined
05:47
dayangkun left
05:49
zby_home_ joined
05:52
konundra joined
|
|||
moritz | r: 1 1 | 05:58 | |
camelia | rakudo df814a: OUTPUT«===SORRY!=== Error while compiling /tmp/B1LeJFRLFFTwo terms in a rowat /tmp/B1LeJFRLFF:1------> 1 ⏏1 expecting any of: postfix infix stopper infix or meta-infix statement end statem… | ||
moritz | I don't understand how that can still work after lizmat++'s patch | 05:59 | |
JimmyZ | hi | ||
moritz | $r ~= "$red==={$clear}SORRY!$red===$clear Error while compiling $.filename\n"; | ||
but $.filename comes from X::Comp | 06:00 | ||
and this is X::Comp::Group, which no longer does X::Comp | |||
hi JimmyZ | |||
06:00
grondilu joined
|
|||
moritz | oh, there are two instances that generate the SORRY | 06:00 | |
06:13
JimmyZ left,
JimmyZ joined
06:15
Mouq joined
|
|||
dalek | kudo/nom: f5bfa78 | moritz++ | src/core/Exception.pm: remove one usage of $.filename that now might not work anymore but the usual code path seems to go through X::Comp.sorry_heading anyway |
06:17 | |
06:19
SmokeMachine left
06:22
SmokeMachine joined
06:34
grondilu left
06:36
grondilu joined
06:37
konundra left,
zby_home_ left
06:50
dmol joined
07:24
crab2313 joined
07:25
dmol left
07:30
Bucciarati left
07:33
leont joined
07:34
crab2313 left
07:35
crab2313 joined
07:36
Bucciarati joined,
avar joined
07:37
groky joined
07:40
ssutch left
|
|||
lizmat | github down ? | 07:46 | |
oh, eh, good *, #perl6! | |||
indeed: status.github.com | 07:47 | ||
07:57
sqirrel joined
07:59
crab2313 left
08:04
fhelmberger joined
08:11
crab2313 joined
08:13
xinming left
08:15
xinming joined
08:16
dmol joined
08:17
leont left
08:19
kaleem joined
|
|||
jnthn | morning o/ | 08:32 | |
JimmyZ | morning, jnthn | 08:33 | |
08:34
Mouq left
08:41
dakkar joined
08:47
sqirrel left
|
|||
dalek | rlito: 21f1282 | (Flavio S. Glock)++ | t5/01-perlito/ (80 files): Perlito5 - renumber tests |
08:48 | |
08:52
iSlug joined
08:56
iSlug left,
Vlavv joined
08:58
jeff_s1 left
09:00
jeff_s1 joined
09:05
pmurias joined,
daxim joined
|
|||
dalek | kudo-js: 1c4c59d | (Pawel Murias)++ | / (3 files): Handle QAST::BVal properly by always making it emit a reference. Create all the cuids as empty code refs before deserializing objects. Fill them in with static versions and update when possible. |
09:05 | |
mathw | morning #perl6 | 09:10 | |
masak | antenoon, #perl6 | ||
frettled | Github claims to be in working order now. | 09:11 | |
jnthn | antomorn, masak | ||
frettled | good $timeofday everyone :) | ||
09:13
FROGGS joined
|
|||
mathw wonders how long before the cleverness in greetings gets completely out of hand and destroys the universe | 09:14 | ||
FROGGS | hi all | 09:15 | |
mathw | FROGGS++ # saved the universe | ||
FROGGS | :o) | ||
frettled | mathw: given that cleverness in greetings on #perl6 is at the same level as in 2007 or so, I think we don't need to worry for a long, long time :) | 09:17 | |
mathw | yeah maybe, I tend to be over-dramatic when I'm hungry | 09:20 | |
masak | frettled: well, that's the deviousness of exponentially worsening cleverness. | ||
frettled | masak: it's becoming clever so fast that it seems ordinary! | 09:21 | |
masak | frettled: eventually we'll hit a hard-takeoff greeting cleverness singularity, and... foom. | ||
frettled | any sufficiently advanced cleverness is indistinguishable from stupidity | ||
nwc10 | has anyone made greeting obfuscations and fed them to the evalbot? | 09:22 | |
FROGGS | jnthn: how do you implement it, use ... :from<java> or .... :from<Java> ? | ||
jnthn | FROGGS: use java::lang::System:from<java> | 09:23 | |
FROGGS | jnthn: I'm asking because I'd prefer :from<Perl5> instead of the lc version, and I'd prefer :from<PHP> over :from<php> | ||
because this is more about that language rather than the interpreter-binary | |||
jnthn | hmm | 09:24 | |
Does the spec have an opinion? :) | |||
jnthn somehow prefers it in lowercase... | |||
FROGGS | lemme check | ||
hmmm, S11 has :from<perl5> but :from<C> | |||
jnthn | bah | 09:25 | |
We could just make it case insensitive :S | |||
*:D | |||
FROGGS | >.< | ||
*shudder* | 09:26 | ||
jnthn | .oO( my hands know better than my head on that idea, apparently :P ) |
||
FROGGS | hehe | ||
(jnthn's-hands)++ | |||
masak .oO( you case insensitive clod! ) | 09:28 | ||
mathw | case-insensitivity makes me unhappy | 09:29 | |
moritz read "case insensitive cloud" | |||
mathw | too many bad memories of dealing with the filesystem on Windows | ||
jnthn | mathw: I think case-insensitivity is the last of its problems :P | ||
*least | 09:30 | ||
FROGGS | meh, somewhere in the spec was an example ov eval() where one could pass the language... can't find it now | ||
09:31
iSlug joined
|
|||
mathw | jnthn: that was the one that always annoyed me though, largely due to what happens when string comparison inside your code meets user expectations of case-insensitivity | 09:31 | |
FROGGS | just this: S29-functions.pod: multi eval ( Str|Buf $code, Grammar :$lang = CALLER::<$?PARSER>) | ||
jnthn | mathw: ah :) | ||
09:34
araujo left
09:39
Rotwang joined
|
|||
masak | FROGGS: interesting how it always supplies a Grammar, and thinks that that's the whole language. | 09:39 | |
FROGGS | true | ||
masak | (you'd need at least an Actions and a World to parse Perl 6) | ||
FROGGS | same goes for setting $~LANG (or was it $~MAIN?), which refers to a grammar and hoping that is it... | 09:40 | |
that is why I am proposing setting %*LANG{ $name } and %*ACTIONS{ $name }, and set $*MAIN to your slang in your slang module | 09:41 | ||
the other thing is, do other slangs want to just nibble to their statementlist too when switching to it? | 09:42 | ||
09:42
iSlug left
|
|||
FROGGS | otherwise we should invent a Slang class, which has an action- and grammar-attribute | 09:44 | |
(for the first issue) | |||
sorry, my thoughts are stored in a hash | |||
lunch & | 09:45 | ||
09:46
celesta joined
|
|||
pmurias | jnthn: case insensitivity seems like a bad idea | 09:46 | |
celesta | ahoi #perl6 | ||
pmurias | hello | 09:47 | |
09:52
crab2313 left,
crab2313 joined
09:58
crab2313 left
09:59
crab2313 joined
|
|||
mathw | who invented ORMs? | 09:59 | |
And is there a better way? | |||
10:01
fhelmberger left,
fhelmberger joined
|
|||
jnthn | mathw: The better way probably involves not having a rdbms be The Only Option for persisting stuff, but picking something that fits the domain :) | 10:02 | |
mathw | See that's odd, because often I find the rdbms fits the domain very nicely but the ORM then prevents me from using it properly. | 10:03 | |
jnthn | Well, I guess the Obvious Alternative is to keep any DB-related logic out of the code and do everything through SPs, table-value functions, etc. | 10:06 | |
mathw | yeah | ||
jnthn | ORMs are a weird thing anyway. | ||
The point of a relational database is that you know the fields and write queries over them | 10:07 | ||
mathw | I don't think there are any truly good answers, and I may be more annoyed with ORMs than usual due to having to compromise my schema for NHibernate's sake | ||
jnthn | The point of an object is you encapsulate the fields and expose behavior | ||
dalek | rlito: 17fd35a | (Flavio S. Glock)++ | t5-bug/410-ampersand.t: Perlito5 - tests |
||
jnthn | So they're not really *object* relational mappers at all, but DTO relational mappers... | ||
Or struct relational mappers. Or whatever. :) | |||
mathw | yeah | 10:08 | |
masak | yes, it's a misnomer. | ||
Fowler points this out as well. | |||
the challenge isn't mapping objects, the challenge is mapping *things in memory*. | |||
mathw | well, it's nto really because it turns them into objects, they're just not very good ones :) | ||
10:09
araujo joined,
ssutch joined
|
|||
jnthn | Yeah, the thing is that in many systems, the fact that these ORM-centric objects look this way tends to lead to all objects in the system looking that way. Most business systems I see are procedural code in OO disguise. | 10:10 | |
"Why do the OO textbooks say dog.bark(), but all our code is dogController.bark(dog)?" # real question I got recently at $dayjob client | 10:11 | ||
mathw | It does tend to contaminate things. One of my colleagues is very big on domain-driven design done in a way that attempts to alleviate the problem | ||
Personally I just end up hating OOP | |||
jnthn | The irony is that languages various primarily OO languages, like Java and, to a lesser degree, C#, force an OO perspective on *everything*, which as a result devalues OOP. | 10:13 | |
s:1st/languages// | |||
mathw | everything has to be inside a class | 10:14 | |
that is one thing that really, really bugs me | 10:15 | ||
10:15
ssutch left
|
|||
daxim | HEY USER, I HAVE AN AXE TO GRIND WITH YOU. GRIND GRIND. USE OOP. OR ELSE. | 10:15 | |
why is that not acceptable in the real world, but when a language designer does it, he's like buddha on the mountain? | 10:16 | ||
masak | yeah; one is a sin of commission (making everything OOP), the other a sin of omission (eschewing OOP because the ORM sits on it). | ||
daxim: because none of us have much of an idea of what we're doing. | |||
mathw | this is all too new still | ||
masak | daxim: and people with axes to grind often sound really convinced, which tends to attract followers. | ||
mathw | quite exciting, we really still have no idea how to write software | ||
masak | almost not clue at all | ||
daxim | I'm gonna quote you on that. | 10:17 | |
mathw | one of my colleagues now informs me that NHibernate can in fact do what I want | 10:18 | |
ruoso | on the topic of ORM, I think DBIx::Class offers an interesting perspective by not trying to make the simplistic "table is class, row is object" approach, and making it a much more open-ended "we have result sources, result sets and rows. some result sources have predefined types" | ||
mathw | ruoso: I've not used it extensively, but I've been very interested in what I have seen. | 10:19 | |
moritz | ruoso: aye, DBIx::Class seem to have found a sweet spot | ||
ruoso | Yeah, I would personally just port DBIx::Class pretty much as-is to Perl6 (maybe adding a custom grammar for the result source declaration)... It already heavily uses roles and traits and stuff... | 10:22 | |
10:22
effbiai left
10:23
berekuk joined
|
|||
FROGGS | .tell TimToady should the name of a slang be lowercase in general? like in use A:from<perl5>, use B:from<java>, eval( "\t\s\n", :lang<bf> ) ? I think the name of the slang is about the language, not the interpreter/binary, and should there be like Perl5, Java, C, ... | 10:25 | |
yoleaux | FROGGS: I'll pass your message to TimToady. | ||
preflex | yoleaux: you have 1 new message. '/msg preflex messages' to read it. | ||
FROGGS | preflex: you are weird | ||
jnthn | oh no...did somebody use one message bot to message another? :P | 10:26 | |
masak | bots are bad at checking their messages. | 10:27 | |
mathw | $me.laugh; | ||
10:28
fhelmberger left,
fhelmberger joined
10:29
hypolin left
10:42
crab2313 left
10:43
crab2313 joined,
fridim__ joined
|
|||
masak | .tell yoleaux I'd sure like to get my hands on IRC bot technology clever enough to read its messages. | 10:46 | |
yoleaux | masak: Thanks for the message. | ||
masak | heh. | ||
oh, the '.tell' command goes to yoleaux. | 10:47 | ||
preflex: help? | |||
preflex: help | |||
preflex | try 'help help' or see 'list' for available commands | ||
masak | preflex: list | ||
preflex | Botsnack: [botsnack]; Cdecl: [cdecl]; 8ball: [8ball]; excuses: [excuse]; Factoid: [+, -, ., ?, delete, get, store]; Help: [help, list]; Karma: [++, --, karma, karmabot, karmatop]; Nickometer: [nickometer]; Nickr: [nickr]; PlokiRE: [re]; Seen: [seen]; Sixst: [6st, ordinal]; Tell: [ask, clear-messages, messages, tell]; Rot13: [rot13]; Quote: [be, quote, remember]; WCalc: [calc, wcalc]; Version: | ||
[version]; XSeen: [xseen]; ZCode: [zdec, zenc] | |||
masak | preflex: tell yoleaux you have another message! | ||
preflex | Consider it noted. | ||
masak | yoleaux: now check your inbox. | 10:48 | |
lizmat | .tell masak yoleaux will tell you now | ||
yoleaux | lizmat: I'll pass your message to masak. | ||
FROGGS | preflex: karmatop | 10:50 | |
O.o | |||
preflex | c: 200815; g: 9840; ##c: 7841; c/c: 7011; whiteknight: 4931; moritz: 4875; bacek: 4624; notepad: 4280; jnthn: 4095; #c: 3762 | 10:51 | |
FROGGS | thank you sir | 10:52 | |
lizmat | a QAST question: looking at gist.github.com/lizmat/6163530 | 10:53 | |
I understand that it creates an if on a state variable that only runs once | |||
and that it stores the result of the block execution in that variable | |||
the final line returns the value of that variable, right ? | 10:54 | ||
masak | wow, that c/c thing is more popular than whiteknight :) | ||
yoleaux | 10:48Z <lizmat> masak: yoleaux will tell you now | ||
FROGGS | lizmat: I'm not sure if QAST::Ops do that, but QAST::Stmts certainly do | ||
hmm, I think that QAST::Var gets passed to the op rather than returned from it | 10:55 | ||
jnthn | lizmat: if takes cond/then/else | ||
FROGGS | so the line 9 is the else | ||
jnthn | lizmat: The else branch (third kid) just returns the thing in the variable, yes | ||
Right. | |||
FROGGS | yeah, of course | ||
jnthn | it's-our-first-time ?? $secret-var = blorst() !! $secret-var | 10:56 | |
lizmat | well, then why doesn't this work: | ||
r: for ^2 { say once { say "hello"; 42 } } | 10:57 | ||
camelia | rakudo f5bfa7: OUTPUT«helloNilNil» | ||
lizmat | it *is* executed once, but the value of the block is never returned | ||
FROGGS | lizmat: that QAST::Var $sym is declared somewhere? | ||
lizmat | $*W.install_lexical_container($pad, $sym, %info, $descriptor, :scope('state')); | ||
FROGGS | hmmm, I would do: make QAST::Stmts.new( QAST::Var.new( :name($sym), :scope('lexical'), :decl('var') ), <--- op goes here ---> ) | 10:58 | |
lizmat | It's in Actions, line 1245 and following | ||
method statement_prefix:sym<once>($/) { | |||
FROGGS | instead of the lexical, but jnthn can tell if I am wrong :o) | ||
lizmat: in nom? | |||
lizmat | in nom indeed | ||
FROGGS | so I can play with it | ||
k | 10:59 | ||
lizmat | r: for ^2 { say once { say "hello"; 42 } } # should say hello,42,42 according to spec | ||
camelia | rakudo f5bfa7: OUTPUT«helloNilNil» | ||
FROGGS | lizmat: what about line 1247? | 11:00 | |
ahh, no, you're not using $past | 11:01 | ||
lizmat | dead code indeed... | 11:02 | |
removing the dead code fixed it | 11:07 | ||
FROGGS! | |||
FROGGS | does it? | ||
11:07
colomon joined
|
|||
FROGGS | ahh well, it binds to $past... | 11:07 | |
tadzik | a link to the $past | 11:08 | |
dalek | kudo/nom: fe939be | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp: Make "once" block *really* work, FROGGS++ for extra pair of eyes! |
||
FROGGS | #perl6, where time machines happened | ||
remember the days when stage parse took <80s? ó.ò | 11:09 | ||
FROGGS 's machine takes 133s now | |||
tadzik | yeah, early nom :) | ||
when the setting was 8x shorter | |||
dalek | ast: 970bc4b | (Elizabeth Mattijsen)++ | S04-statements/once.t: Unfudge now passing once block tests |
||
FROGGS | so it is about 5min all in all | ||
tadzik: well, last year in october or so | |||
11:10
konundra joined
|
|||
FROGGS lurks at #moarvm :P | 11:11 | ||
11:19
fridim__ left
|
|||
lizmat | .oO( wasn't it the Dobby den ? ) |
11:22 | |
masak | ww? | 11:27 | |
lizmat | hehe, indeed… :-) | 11:28 | |
dalek | kudo/nom: 6a65441 | (Elizabeth Mattijsen)++ | src/core/ (2 files): Reduce core setting size by simplifying (classify|categorize)-list Too bad that nextwith() doesn't work, or I don't know how to use it. |
11:31 | |
11:32
PacoLinux joined
|
|||
lizmat | afk | 11:33 | |
11:35
arcterus joined
|
|||
jnthn | Given it has a bunch of passing tests... :P | 11:36 | |
11:39
arcterus left
|
|||
JimmyZ | good evening | 11:41 | |
FROGGS | hi JimmyZ | ||
11:42
konundra left
|
|||
JimmyZ | hello FROGGS | 11:42 | |
12:00
ggoebel joined
12:05
konundra joined
12:10
skids left
|
|||
lizmat | jnthn: if I replace self.classify-list() with nextwith() in 6a65441, I always only get Nil as the result | 12:12 | |
will add that case as a test, and see where it will take us :-) | 12:13 | ||
jnthn | ok :) | ||
12:15
sqirrel joined
12:23
dakkar left
|
|||
masak is surprised at how much Guido keeps referring to Perl 6 in www.youtube.com/watch?v=UIDdgeISLUI | 12:24 | ||
(it's a Python 3000 talk from July 2006) | |||
dalek | rlito: 64cca22 | (Flavio S. Glock)++ | / (5 files): Perlito5 - more special variables |
12:26 | |
12:26
rindolf joined
|
|||
FROGGS | masak: is it worth watching for somebody that has prejudices about python? | 12:27 | |
masak | FROGGS: possibly. it gives some insight in the py3k process, which is a nice contrast to the p6 process. | 12:29 | |
FROGGS | k | ||
masak | FROGGS: you'll also be watching it with 7 years of hindsight. | ||
nwc10 | from both projects | ||
masak | as in, py3k hasn't taken over the world yet. | ||
FROGGS | btw, I have no knowledge of python whatsoever | ||
masak | FROGGS: the past week-or-so of studying it closely has convinced me that the Perl-Python differences are more in the slogans, syntax, and other surface details, than in pragmatics, community dynamics, etc | 12:31 | |
FROGGS | I think I care about the syntax mostly when looking at new languages | 12:32 | |
pmurias | masak: does it refer to Perl 6 other than as a thing to avoid py3k ending up as? | ||
FROGGS | "... and Perl 6" ['laughter from audience'] | 12:35 | |
lizmat | jnthn: failing tests gist.github.com/lizmat/6164076 | 12:37 | |
dalek | ast: f3f049b | (Elizabeth Mattijsen)++ | S12-methods/defer-next.t: Added extra "nextwith()" tests, that are failing for now |
12:39 | |
masak | pmurias: I think he's mentioned Perl 6 three times. but it's always in that context, as something to avoid. | 12:40 | |
12:40
colomon left
|
|||
masak | pmurias: the third time he says (paraphrasing) "really though, Perl 6 is fine. it's just [extremely ambitious and] taking very long." | 12:41 | |
"...and the Perl 5 people are for the most part ignoring it" which was true in 2006 because people weren't talking about Perl 7 then :P | 12:42 | ||
dalek | ast: 12cad1a | (Elizabeth Mattijsen)++ | S12-methods/defer-next.t: Fudge failing tests for now |
||
lizmat | jnthn: so am I expecting the wrong thing from nextwith() ? | ||
FROGGS | and he says he doesnt want open discussions about al parts of the new languages, since this eats up time as we see | 12:43 | |
jnthn | lizmat: Your expectations are off | ||
masak | FROGGS: right. everything is *not* up for discussion. | ||
jnthn | lizmat: You're iterating over a *predetermined* candiate list. | ||
lizmat: Which contains a single item. | 12:44 | ||
masak | FROGGS: in my view, we've also progressed away from the total free-for-all we had on p6l at some point. | ||
FROGGS: as in, at this point, there is some "inviolable" part of Perl 6. | |||
lizmat | jnthn: but should that fail silently? | ||
FROGGS | masak: absolutely | ||
masak | FROGGS: and the only one that goes changing those bits (very occasionally) is TimToady. | ||
(which always makes me nervous) :) | |||
jnthn | lizmat: nextwith is spec'd to return Nil if there's nowhere to go, iirc | ||
lizmat: Though there's been tests that wanted it the other way... | 12:45 | ||
lizmat | so there is no alternative but to repeat the name of the candidate as in self.foo() | ||
jnthn | Right, if you want to dispatch over again, that's what you need to do. | ||
masak | FROGGS: interestingly, the community even overruled TimToady's OKness proposal, partly because of technical concerns, but to a great extent for backwards-compat reasons. | 12:46 | |
FROGGS: you will still hear TimToady mumble sometimes that "OKness would have fixed this..." | |||
FROGGS | OKness? | ||
lizmat | so there is no easy way to do this without explicitely calling the same method name ? | ||
jnthn | lizmat: no | 12:47 | |
12:47
PacoLinux left
|
|||
jnthn | lizmat: You can write &?ROUTINE.dispatcher(...) I guess. | 12:47 | |
lizmat: I'm not sure I'd consider that easier :) | |||
lizmat | seems to me then something would need to be specced, as this is a pattern that I have used a lot in the past | 12:48 | |
12:48
PacoLinux joined
|
|||
jnthn | um, that'd need to be | 12:48 | |
masak | FROGGS: gist.github.com/TimToady/1828667 | ||
jnthn | &?ROUTINE.dispatcher()(...) | ||
12:50
genehack joined
|
|||
dalek | kudo/nom: 07a57ba | (Elizabeth Mattijsen)++ | src/core/ (2 files): Remove derogatory comments |
12:52 | |
FROGGS | masak: thanks | ||
12:53
ruoso joined
|
|||
mathw mumbles something about monads | 12:53 | ||
jnthn | .oO( kick in the monads ) |
12:54 | |
12:56
daniel-s__ left
12:57
daniel-s__ joined
|
|||
mathw | One thing I'm really enjoying in Haskell is mucking about with the fact that Maybe is an instance of Monad, as is Either. | 12:57 | |
13:00
crab2313 left
|
|||
dalek | ast: 7bf6bb8 | (Elizabeth Mattijsen)++ | S12-methods/defer-next.t: Put jnthn's trick instead: this works, but I feel this needs syntactic sugar |
13:02 | |
masak | at this point in my spiritual development, I just automatically went "well of course Maybe is a monad, just look at it!" | ||
:) | |||
lizmat | on our way to the Amsterdam.pm meeting& | ||
13:03
lizmat left
|
|||
masak | rn: my $x = 0 but True; if $x { say "T" } else { say "F" } | 13:08 | |
camelia | rakudo 6a6544, niecza v24-88-g1f87209: OUTPUT«T» | ||
masak | ok, so that bit of gist.github.com/TimToady/1828667 isn't an issue anymore, for some reason | ||
FROGGS | masak: and a failed Match is Nil now, no? | 13:09 | |
masak | think so. | 13:11 | |
13:14
ajr joined
|
|||
mathw | doesn't bool-ness override everything else in if's checks or something? #outoftouch | 13:15 | |
13:15
ajr is now known as Guest86080,
Guest86080 is now known as ajr_
|
|||
masak | rn: my $b = True but False; if $b { say "T" } else { say "F" } | 13:16 | |
camelia | rakudo 07a57b, niecza v24-88-g1f87209: OUTPUT«F» | 13:17 | |
masak | mathw: seems the role always wins, yes. | ||
13:17
PacoLinux left
|
|||
dalek | p: b4a38bb | (Pawel Murias)++ | t/nqp/75-curcode.t: Add test for nqp::curcode(); |
13:27 | |
13:33
skids joined
|
|||
FROGGS | okay, looks like I don't need to switch over to Python :o) | 13:34 | |
mathw | no, you don't | 13:39 | |
FROGGS | Python 3000 from that presentation feels more like Perl 5.10 than Perl 6 | ||
13:42
bluescreen10 joined
|
|||
tadzik | that's correct | 13:47 | |
masak | yes, and it was never meant to be anything else. | 13:53 | |
13:53
wtw_ left
|
|||
masak | Guido just wants to fix up some very early mistakes once and for all, because doing so down the road would be more difficult. | 13:53 | |
FROGGS | masak: sure, I understand that, and I think that this is needed to ship it within less than a decade | 13:55 | |
pmurias | jnthn: what does usecapture, savecapture do? | 13:56 | |
jnthn | pmurias: Gets hold of the argument capture passed to the current block. save commits to doing enough copying that the list is valid any amount of time, while use doesn't promise that. | 14:00 | |
(a future usecapture may invalidate it) | |||
It's valid to implement them exactly the same way if there's no performance benefit to be had in a split. | |||
The multi-dispatcher makes use of these. | 14:01 | ||
masak | FROGGS: probably. | 14:02 | |
FROGGS: I guess the big difference between supporters and detractors isn't "is it taking a long time?" -- which it is, objectively -- but "is it worth it?" | 14:03 | ||
FROGGS | I think Perl 6 is worth its time fwiw | ||
jnthn | The fact you're contributing does suggest so ;) | 14:04 | |
FROGGS | :o) | 14:07 | |
well, I started to contribute in october last year, but I still think Perl 6 needs to take the years and years it took before | 14:08 | ||
14:08
bluescreen100 joined
|
|||
dalek | p: ae34e49 | (Pawel Murias)++ | docs/opcodes.markdown: Start documenting opcodes. Explanations taken from an irc explanation by jnthn++. Could use some editing but it's better than nothing. |
14:09 | |
pmurias | jnthn: ^^ | ||
timotimo | hm, "opcodes"? | ||
pmurias | should be ops ;) | ||
jnthn | ^∵^ .oO( meow ) | 14:10 | |
14:10
xinming left
|
|||
pmurias | as I mentioned in the commit log it could use some editing | 14:10 | |
jnthn | I'm pretty sure the e shouldn't be after the . :P | ||
14:11
logie joined,
xinming joined
14:12
bluescreen10 left
|
|||
dalek | p: 05296fe | (Pawel Murias)++ | docs/op (2 files): Rename the "operations" docs. |
14:13 | |
14:21
PacoLinux joined,
sqirrel left
14:24
jaffa4 joined
|
|||
[Coke] | pmurias++ # getting that doc started! | 14:29 | |
14:32
btyler joined
|
|||
pmurias | jnthn: pastie.org/8211657 - this test fails on nqp-parrot and passes on nqp-jvm | 14:34 | |
14:36
colomon joined
|
|||
masak | "When Python 3 finally gets released..." -- "Python 3 has already been released." -- stackoverflow.com/questions/170921/...m-python-3 | 14:37 | |
so nice to see that problem occur in another community too! :) | |||
14:38
Psyche^_ joined
|
|||
mathw | There's not really any questiona bout the releasedness of Python 3 I would have said | 14:39 | |
14:39
rindolf left
|
|||
pmurias | masak: the "Perl 6 has already been released multiple times" argument while technically correct seems a bit misleading | 14:39 | |
14:39
jaffa4 left
|
|||
[Coke] | scotsman - that's not a REAL release. | 14:40 | |
tadzik | 'fcours not. 'tis just a person | ||
14:40
|newbie| joined
|
|||
[Coke] | which, while normally a fallacy, still seems allowable in this context. | 14:40 | |
tadzik: (I was referring to the "true scotsman" logical fallacy) | 14:41 | ||
14:41
Psyche^ left,
jaffa4 joined
|
|||
tadzik | I see | 14:42 | |
masak | pmurias: yes. if someone seems intent on talking about "released" or "ready", the focus should instead be on what level of stability/polish that person associates with those concepts. | 14:44 | |
timotimo | indeed, there isn't a "true scotsman" because what defines a scotsman is different for everybody in this case and nobody should assert global scotsman/nonscotsmanship | 14:46 | |
of course people will say "it's ready when it's good enough for everyone" and then someone will complain about the kitchen sink missing | |||
jnthn | Good job we did spec KitchenSink... | 14:47 | |
daxim | my $ORK[-1] computer was named notruescotsman | ||
[Coke] | daxim++ | 14:50 | |
pmurias | jnthn: have you seen my tests which find a bug in nqp::savecapture() on parrot? | ||
14:53
PacoLinux left,
PacoLinux joined
|
|||
pmurias | jnthn: the bug illustrated pastie.org/8211737 | 14:54 | |
14:55
kaare_ joined
|
|||
masak | today's autopun spotting: twitter.com/peterritchie/status/36...4353617920 | 14:55 | |
daxim | for the hackathon at yapc, I want to package rakudo-jvm and nqp-jvm, the bug I filed yesterday is one prereq github.com/perl6/nqp/issues/110 | 14:58 | |
installations must work from system install targets, /usr/share/java and the like | 14:59 | ||
15:01
raiph left
|
|||
jnthn | pmurias: I'm confused, what is that void use of nqp::savecapture() doing? | 15:02 | |
pmurias: That is, I'm not sure it makes sense... | 15:06 | ||
15:14
konundra left
|
|||
pmurias | jnthn: if you comment the call to inner the bug remains | 15:14 | |
jnthn: what I wanted to illustrate is the nqp::savecapture saves the capture but only while the sub it was taken in is on the call stack | 15:15 | ||
moritz | r: constant a = 42; say (:a).perl; | 15:16 | |
camelia | rakudo 07a57b: OUTPUT«"a" => Bool::True» | ||
pmurias | jnthn: the empty nqp::savecapture was meant to fetch a new capture | ||
jnthn | pmurias: OK,, that's...odd. | ||
pmurias: Though, given we use it for multi-dispatch, perhaps not the end of the world... | 15:17 | ||
15:19
btyler left
|
|||
pmurias | hmm, it seems that something bad happens to the CallContext on parrot | 15:19 | |
FROGGS .oO( not the end of the $*W? ) | |||
15:20
simonl13 joined,
FROGGS left
15:21
fhelmberger left
15:23
sqirrel joined
|
|||
pmurias | jnthn: it could be reused somewhere, intentionally crippled to reduce memory use or we have a garbadge collector bug | 15:26 | |
jnthn: hopefully it's not the last things ;) | |||
15:26
btyler joined
|
|||
pmurias | jnthn: the other suspicious thing is the comment in our op claims that CallContext is immutable, but it has a .clone method | 15:27 | |
jnthn: I could check if inserting a clone there fixes the bug | 15:32 | ||
15:42
colomon left
|
|||
dalek | p: c4d04bb | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/B (2 files): Fix class loader visibility issue in JAR loading. |
15:47 | |
15:49
zb joined
|
|||
jnthn | It ain't pretty but I just got a hello world SWT thing working: 6e5b82c4b70fd6592841 | 15:49 | |
oops | |||
gist.github.com/jnthn/6e5b82c4b70fd6592841 | |||
pmurias: Could, but...do we need to fix this? | |||
pmurias | we could skip the test on parrot | 15:50 | |
15:51
PacoLinux left
|
|||
masak | jnthn++ | 15:51 | |
jnthn | It opens a GUI thingy :) | 15:52 | |
masak | jnthn: it feels a bit redundant that SWTJAR has to be passed every time. also, it's the first time I see the :jar parameter. | ||
pmurias | jnthn: how should I determine if we are running on parrot in the nqp code? | ||
jnthn | pmurias: nqp::getcomp('nqp').backend.name maybe | 15:53 | |
masak: The colonpairs just get passed down to the module loader to interpret | 15:54 | ||
15:54
PacoLinux joined
|
|||
jnthn | masak: And just liek the Perl 6 one knows how to interpret (in theory) auth and ver, so the java one knows how to interpret :jar :) | 15:54 | |
masak: It's a bit redundant, but I don't immediately know what to do about it. Of course, you could find a way to include the thing in the default class path and then not need it. | 15:55 | ||
timotimo | jnthn: maybe something like "use lib" for jars? | 15:56 | |
"use jar 'D:\...'" | |||
it's kind of the same principle, seems to me. | |||
diakopter | masak: segomos and ugexe showed me their new p6 package manager tool yesterday | 15:57 | |
timotimo | why can you sometimes write just Text.new and sometimes you have to take the long way with the string? is that when there's exactly one candidate? | 15:58 | |
jnthn | timotimo: Yeah | ||
timotimo | all right | ||
jnthn | timotimo: It's on my todo list to get something smart in place there. | ||
16:02
sqirrel left
|
|||
masak | diakopter: oh? those names are new to me, and I didn't know someone was working on a p6 package manager tool. | 16:03 | |
diakopter | ditto, and me too | ||
16:06
simonl13 left
|
|||
diakopter | masak: oh, it's still a private repo | 16:07 | |
it has a server component too (rakudo-parrot, currently, but worse-than-dog slow, of course) | 16:08 | ||
masak | ok. | ||
diakopter | it's running at zef.pm | ||
16:08
xinming left
|
|||
diakopter | sorta | 16:09 | |
16:10
xinming joined
|
|||
masak | that page doesn't tell me much. | 16:11 | |
16:13
pmurias left
16:16
[particle]1 left
16:18
Ulti left
16:20
dmol left
16:22
kaleem left
16:24
xinming left
16:25
xinming joined
16:28
PacoLinux left
16:31
vk_ joined,
sqirrel joined
16:33
FROGGS joined,
[particle] joined
16:34
spider-mario joined
16:39
kaleem joined
16:45
kingbeast joined
16:47
kaleem left,
kaleem joined
16:48
camelia joined,
domidumont joined
16:49
konundra joined,
ajr_ left,
synopsebot joined,
ChanServ sets mode: +v camelia,
kaleem left
|
|||
grondilu | Is hash(%h.keys Z=> %h.values) guaranted to be the same as %h? | 16:50 | |
I mean does .values uses the same order as .keys? | |||
jnthn | Doesn't feel wise to rely on that. | 16:51 | |
grondilu | ok | ||
jnthn | %h.pairs may be useful | ||
16:52
ajr joined,
ajr is now known as Guest90993
16:57
MayDaniel joined
|
|||
masak | I think the spec has some wording that guarantees it, yes. | 16:59 | |
as long as you don't mutate the hash in-between the calls, successive .keys and .values calls will yield the same order. | |||
17:00
stevan_ left
|
|||
jnthn suspects it does work out on all implementations today, but would still be a little wary of writing it :) | 17:01 | ||
Not least 'cus it creates two hash iterators going over the same thing :) | |||
masak | yes, that latter reason would make me suspect there's a better way to do it. | 17:03 | |
in the above case, %h.clone, for example. | |||
17:04
domidumont left
17:07
dmol joined
|
|||
grondilu | to tell you everything, I was reading rosettacode.org/wiki/Probabilistic_...ce#Perl_6, and I thought about writing: %ps.keys Z=> [\+] %ps.values | 17:13 | |
that would be quite an elegant way to compute the cumulated probabilitie | |||
s | |||
17:13
birdwindupbird left
|
|||
grondilu | rn: my %h = 'a'..'e' Z=> ^5; say .perl given hash %h.keys Z=> [\+] %h.values | 17:15 | |
camelia | niecza v24-88-g1f87209: OUTPUT«{"a" => 0, "b" => 1, "c" => 3, "d" => 6, "e" => 10}.hash» | ||
..rakudo 07a57b: OUTPUT«("a" => 0, "b" => 1, "c" => 3, "d" => 6, "e" => 10).hash» | |||
17:17
fgomez joined
17:21
sqirrel left
|
|||
dalek | rlito: d02186c | (Flavio S. Glock)++ | / (5 files): Perlito5 - js - '&subroutine' tests pass |
17:23 | |
17:25
simonl13 joined
|
|||
grondilu | rn: say .perl given map {$^w => $^n}, (^2 Z <foo bar>); | 17:25 | |
camelia | rakudo 07a57b, niecza v24-88-g1f87209: OUTPUT«("foo" => 0, "bar" => 1).list» | ||
grondilu expected this to fail: shouldn't number be on the right side of the zip? | 17:26 | ||
timotimo | n comes before w | 17:27 | |
rn: say .perl given map {$^a_w => $^b_n}, (^2 Z <foo bar>); | |||
camelia | rakudo 07a57b, niecza v24-88-g1f87209: OUTPUT«(0 => "foo", 1 => "bar").list» | ||
grondilu | oh I did not know alphabetic order matters | ||
timotimo | that's "the neat feature" for implicit signatures :) | 17:28 | |
grondilu | can be useful indeed | ||
timotimo | for simple cases, R is always there for you as well | 17:30 | |
17:31
bluescreen100 left,
bluescreen__ joined
17:43
ggoebel left
|
|||
dalek | rlito: bba555b | (Flavio S. Glock)++ | / (3 files): Perlito5 - parser - error message |
17:45 | |
17:46
btyler left
17:48
Guest90993 left
17:51
simonl13 left
17:54
zwut00 joined
|
|||
slava | zwut00: how big is uc davis? | 17:54 | |
17:55
btyler joined
|
|||
diakopter | o_O | 17:56 | |
zwut00 | slava: it takes about 20 minutes to walk from one side of campus to the other | 17:57 | |
17:57
stevan_ joined
|
|||
masak | sure, but it could still be very long and narrow. | 17:57 | |
zwut00 | its about 7300 acres | 17:58 | |
17:59
Chat9593 joined
|
|||
Chat9593 | Dao | 17:59 | |
Noæ | |||
dalek | rl6-roast-data: d36dba3 | coke++ | / (5 files): today (automated commit) |
||
kudo-star-daily: 7d2dd11 | coke++ | log/ (5 files): today (automated commit) |
|||
Chat9593 | 2222212-55 | ||
diakopter | Chat9593: bye bye | ||
flussence | yay it's keyboard cat! | ||
18:00
Chat9593 left
18:01
ssutch joined,
simonl13 joined
|
|||
masak | hi keyboard cat! | 18:01 | |
18:01
zby_home_ joined
|
|||
masak | oh, gone already. | 18:02 | |
18:03
daxim left
|
|||
geekosaur | that showed up in #haskell yesterday. I'm wondering if there's a botnet c&c sleeper in these channels | 18:04 | |
never says anything, just listens for commands phrased as that noise from random ephemeral accounts | |||
flussence | no, it's just some stupid "free chat" phone app that apparently displays a list of channels from IRC networks sorted by user count | 18:05 | |
timotimo | this channel has only .. oh wow, 210 isn't even that small | 18:07 | |
18:08
stevan__ joined
18:10
Mouq joined
18:11
ajr joined
18:12
stevan_ left,
ajr is now known as Guest19992
18:14
simonl13 left,
bluescreen__ left
18:30
preflex left
18:31
preflex joined,
ChanServ sets mode: +v preflex
18:32
lizmat joined,
Mouq left
18:36
Mouq joined
|
|||
dalek | kudo/use-from-java: 3ffc247 | jnthn++ | src/ (5 files): Prepare for Rakudo-specific tweaks to JVM interop. |
18:39 | |
18:45
pecastro left
18:47
pecastro joined
|
|||
timotimo | jnthn: i'm not sure why the data structure for poison information should be "like the current @!BLOCKS, but with a pointer to each block's parent"; when do we need to know a block's parent, but not have it readily available on the BLOCK stack? | 19:02 | |
jnthn | timotimo: Just thinking if some transformations are going to happen once we decide they are safe, and at that point we may have poppoed the block off the stack... | 19:04 | |
timotimo | hm, but when are we in a different block from the one we're trying to do the transformation on? at least for the "this container never gets poisoned by a bind" case that was my first use case for this it looks like it could just go through its children and afterwards have all the info it needs on hand | 19:05 | |
as in: the poison information is local to the block that has the poisoned lexical, not the block that poisons the lexical | |||
jnthn | Yes, but the assignments to tweak are all over the place. | 19:06 | |
timotimo | i think the simplest thing i can start with is annotate each lexical with a flag that tells how far down the block stack it gets referred to | ||
jnthn | Which in *this* case doesn't matter. | ||
But in other cases may | |||
timotimo | mhm, that makes sense | ||
okay, need to go catch a tram now :) | 19:08 | ||
dalek | rlito: 174d943 | (Flavio S. Glock)++ | / (5 files): Perlito5 - parser - declaration attributes |
19:09 | |
diakopter | is it a tramedy or tramesty | 19:11 | |
19:18
ggoebel joined
|
|||
timotimo | a tramway car | 19:21 | |
geekosaur | just trameling? | 19:24 | |
diakopter | tramping about | 19:25 | |
19:25
Rotwang left
19:27
colomon joined
|
|||
lizmat | allee, da's veel trammelant! | 19:28 | |
(flemish for: well, that's a lot of noise) | |||
masak .oO( I think you're all just trolleying ) | |||
jnthn | *groan* :P | ||
diakopter | do kmart and walmart use tramlaws and tramks? | 19:29 | |
jnthn | r: module Foo { }; say Foo ~~ Foo | 19:32 | |
camelia | rakudo 07a57b: OUTPUT«True» | ||
dalek | kudo-star-daily: 92bbc11 | coke++ | log/ (5 files): today (automated commit) |
19:35 | |
[Coke] | jnthn: ^^ are you aware of the zavolaj failure? | ||
I think arnsholt was looking at it. | |||
jnthn | [Coke]: Hm, I thought the last one arnsholt++ was looking into got fixed? | 19:36 | |
dalek | kudo/use-from-java: 381e7e6 | jnthn++ | / (4 files): Give objects from Java a JavaHOW REPR. This will enable us to get them to behave a bit 6ier. |
19:37 | |
kudo/use-from-java: b4c8f67 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Objects from Java pretend to be Any and Mu. |
|||
rlito: c2716c0 | (Flavio S. Glock)++ | / (6 files): Perlito5 - parser - subroutine attributes |
19:39 | ||
[Coke] | this one has been failing for a while. | ||
diakopter | 6ier. | ||
timotimo | jnthn: so i was thinking on the tram - as my internet connection died - that there may be trouble keeping the poison-information-blocks around if they only have parent-links and no child-lists | 19:40 | |
19:40
Rotwang joined
|
|||
timotimo | but if our transformations do things like inline blocks, these child infos could get out of sync, so i suppose it all should happen on several steps, globally | 19:41 | |
19:44
raiph joined
19:58
daxim joined
|
|||
dalek | p: b6257b3 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/BootJavaInterop.java: Enable HOW computation to be overridden. |
19:58 | |
p: 9d33bb1 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/BootJavaInterop.java: Decontainerize on marshal out of objects. Means that we can use assignment as well as binding when using Java objects in Perl 6. |
|||
rlito: c2c07f3 | (Flavio S. Glock)++ | TODO-perlito5: Perlito5 - TODO update |
20:05 | ||
20:12
xenoterracide left
20:16
pmurias joined,
_jaldhar joined
|
|||
pmurias | jnthn,masak: re keys and values order it's guaranteed by the spec | 20:17 | |
lizmat | fwiw, there are several spectests depending on that behaviour as well, afaik | ||
20:19
jaldhar left,
xenoterracide joined
|
|||
jnthn | fairy nuff :) | 20:22 | |
timotimo | how much improvement can be expected at all by turning lexicals into locals? | 20:23 | |
jnthn | Potentially a lot | ||
timotimo | oh really? wow | 20:24 | |
jnthn | However, it may not be completely trivial | ||
timotimo | my thoughts were: if there's only usages of the lexical from within the block it's declared in, it should be safe | ||
jnthn | Remember that lexicals can be declared to initialize the slot in a certain way, and locals don't support that yet. | ||
timotimo | oh, that was news to me | 20:25 | |
jnthn | Yeah | ||
That in theory doesn't affect doing it to native types, though, so you could just start there | |||
timotimo | "native type" means "i want this to be fast!" anyway, so that's a good starting point :P | 20:26 | |
since they are restricted in many ways already | |||
pmurias | jnthn: what I would like to have when I get round to optimising rakudo-js is to have dynamic variables marked in the AST | 20:28 | |
lexicals and locals don't make much difference for targeting js, as v8 handles lexical scopes | 20:29 | ||
and one related TODO we should s/contextual/dynamic in QAST | 20:31 | ||
20:31
sqirrel joined
|
|||
timotimo | can you tell me what "contvar" means? | 20:31 | |
as in: what's the difference between :decl<contvar> and :decl<var>? | |||
pmurias | I haven't encontered that yet | 20:33 | |
I would guess it's container var | |||
20:34
_jaldhar left,
_jaldhar joined
|
|||
timotimo | i could also imagine that i can remove $_ and $/ in many pieces of code? | 20:34 | |
jnthn | timotimo: cont is for container | ||
timotimo: It means that we need to initialize a container in that slot | |||
timotimo | ah. that also means if it's decl(var) it's safe to turn into a local (given it's not used in any blocks further down the line) | 20:36 | |
slava | moritz: will the next rakudo star use parrot 5.5? | ||
20:36
rindolf joined
|
|||
lizmat | travelling back home& | 20:36 | |
20:36
lizmat left
|
|||
masak | slava: yes, looks like. | 20:38 | |
slava: the NQP that Rakudo currently depends on already uses Parrot 5.5 | |||
20:38
_jaldhar left
|
|||
pmurias | timotimo: looking at the code the lexical declared as a contvar get's assigned a cloned copy of a value | 20:39 | |
timotimo: as opposed to a static which get's just a value | |||
timotimo: re turning decl(var) into a local how do you determine if something is a dynamic variable? | 20:40 | ||
20:40
wtw joined
20:41
kaare_ left
|
|||
pmurias | timotimo: $_ and $/ are dynamic variables, so if there is a call to a unknown sub you can't remove them | 20:42 | |
timotimo: as the mysterious sub could be putting something into them using CALLER | |||
dalek | : 98becd8 | (Tobias Leich)++ | / (4 files): add an implicit `is copy`-trait This is needed when iterating over `keys %hash` for example. Honestly, I have no idea how on earth this was working before. |
20:43 | |
slava | masak: ty | ||
masak | phz | 20:44 | |
timotimo | oh, didn't see them defined as dynamic | ||
pmurias | in QAST everything is defined as dynamic | 20:45 | |
slava | I assume threads in rakudo-parrot are still a bit off? | ||
pmurias | timotimo: but $_ and $/ are defined as dynamic in the spec | 20:46 | |
FROGGS | slava: needs to be properly implemented, yes | ||
slava: I played with parrot-threads the last week | |||
timotimo | ... everything is defined as dynamic? huh? | 20:47 | |
20:48
araujo left
|
|||
slava | FROGGS: cool, I am definitely looking forward to threads :) | 20:48 | |
I am wondering what would happen if there were calls to pthreads the C library using NativeCall | |||
FROGGS | slava: we need to find out :o) | 20:49 | |
benabik | You'd probably corrupt memory rather rapidly. | ||
FROGGS | I'm unable to predict anything when threads are involved, that is something I have learned several times | 20:50 | |
20:50
araujo joined
|
|||
jnthn | slava: If you want to play with threads in Rakudo, Rakudo on JVM is a better bet | 20:55 | |
timotimo | oh wow. i see now that that's true | 20:57 | |
pmurias | timotimo: well, nothing is defined as dynamic so we have to assume everything is ;) | 20:59 | |
jnthn | It's not really a property of QAST itself, though | 21:00 | |
arnsholt | slava: Terrible, terrible things, most likely | ||
jnthn | It's for the language optimizer to know what it can simplify | ||
arnsholt | Since the threads would trample each other's (Parrot) interpreter state | ||
pmurias | jnthn: the QAST represents 'my $foo is dynamic' and 'my $foo' the same | 21:03 | |
benabik | is dynamic? | ||
pmurias | things like my $*foo | 21:04 | |
jnthn | pmurias: yes, though "is dynamic" hasn't really been implemented yet :) | ||
pmurias | if a var doesn't have 'is dynamic' the compiler can hide it from CALLER | ||
jnthn: we have $*foo | 21:05 | ||
jnthn | pmurias: Yes, I think those may end up marked as contextual in the QAST tree already | 21:06 | |
timotimo | the more i try to move around, the more often i have to struggle against the constraints of NYI that rakudo puts on me :| | 21:08 | |
21:08
skids left
|
|||
pmurias | jnthn: how are those marked? | 21:09 | |
slava | jnthn: tbh, I am not a giant proponent of the jvm. I spent 3 years support java webapps ... it is horrible | 21:10 | |
jnthn | pmurias: contextual scope | ||
21:12
konundra left
|
|||
pmurias | jnthn: it's marked on access only | 21:12 | |
jnthn: we could look at the twigil but that sucks | 21:13 | ||
timotimo | if you, in theory, have to mark variables "is dynamic" to make them available to CALLER, it should be okay if the optimizer sometimes turns those variables unreachable, because you're relying on undefined behavior | ||
[Coke] | slava: one of the goals is to be able to implement perl6 web apps on the JVM> | ||
timotimo | or, rather, wrong behavior | ||
[Coke] | then you can support perl6 instead. :) | ||
jnthn | pmurias: Ah... I'm pretty sure the QAST emitter knows what the decl of a contextual is, so we could do it that way. | ||
timotimo: It's a little stronger than that. In fact, we should not expose anything not dynamic through caller | 21:14 | ||
timotimo: Which makes me suspect this info may want to be a flag in the container descriptor. | |||
slava | [Coke]: I am definitely looking forward to that | ||
pmurias | we *can* but do not *have* to expose anything not dynamic | ||
[Coke] | I would love to be able to rewrite some of my work projects in perl. especially the text munging ones. | 21:15 | |
slava | [Coke]: I was thinking of having a perl container of sorts | ||
pmurias | hmm, I'm not so sure of that | 21:16 | |
jnthn: declaring them as 'contextual' in the decl node instead of 'lexical' would work | 21:18 | ||
jnthn: what would be even better if we declared them as 'dynamic' ;) | |||
sleep& | 21:20 | ||
21:20
pmurias left
21:24
jaffa4 left,
|newbie| left,
raiph left
21:29
BooK joined
21:30
benabik left
|
|||
timotimo | i guess i could look for how CALLER:: is handled and see if i can whip something very simple up for the time being | 21:33 | |
21:34
stevan__ left,
raiph joined,
sqirrel left
21:37
ggoebel left
21:39
konundra joined,
zb left
21:46
spider-mario left
21:47
zby_home_ left
21:49
dmol left
21:52
ggoebel joined
21:53
stevan_ joined
|
|||
timotimo | when a key isn't in a PseudoStash, it should give a message like "$key is not in pseudoers. This incident will be reported" | 21:54 | |
21:54
sqirrel joined
|
|||
celesta | good night #perl6 | 21:56 | |
21:56
celesta left,
raiph left
22:01
raiph joined
22:05
dmol joined
22:08
sqirrel left
|
|||
masak | 'night, #perl6 | 22:11 | |
22:13
Mouq left
22:14
Mouq joined
22:17
daxim left
22:21
Guest19992 left
22:28
zby_home_ joined
22:29
zby_home_ left
22:30
sjohnson left,
sjohnson joined
|
|||
FROGGS | jnthn: how do I get the RPMCA of an array? I was hoping nqp::getattr($op[0], List, '$!items') does the trick when $op[0] is an array :/ | 22:33 | |
jnthn | FROGGS: What if the array has lazy/unevaluated bits? | 22:36 | |
FROGGS | boom? | 22:37 | |
say it has no such things, how would i get the RPMCA efficiently? | |||
22:38
xinming left
|
|||
jnthn | Well, the FLATTENABLE_ARRAY method will do it, iirc | 22:38 | |
22:39
thou left
|
|||
FROGGS | awesome, thanks | 22:40 | |
22:41
dmol left,
skids joined
22:42
xinming joined
22:48
rindolf left
22:50
Mouq left
|
|||
dalek | kudo/nom: 572c45d | jnthn++ | src/vm/jvm/core/Threading.pm: Generalize Promise a little. They can still be about a piece of code, but it's now also possible to create an empty promise, which can either be kept or broken from the outside. Needs some extra error handling/safety work, but seems to do about the right thing. |
22:51 | |
kudo/nom: 6b386a7 | jnthn++ | src/vm/jvm/core/Threading.pm: Fix off-by-one in threadpool growth handling. |
|||
22:51
thou joined
22:54
lizmat joined
22:59
MayDaniel left
23:03
thou left
23:07
colomon left
23:08
benabik joined
23:33
colomon joined
23:37
fridim__ joined
23:39
colomon left
23:41
BenGoldberg joined
23:42
Ben_Goldberg joined
23:45
BenGoldberg left
23:46
btyler left
23:59
_jaldhar joined
|