»ö« 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! | tinyurl.com/p6contest
Set by moritz_ on 28 December 2010.
flussence rakudo: my $a = 1; my $b = 2; $a = ($a, $b); say $a.perl 00:00
p6eval rakudo 388eed: OUTPUT«maximum recursion depth exceeded␤ in 'Block::count' at line 6077:CORE.setting␤ in 'Block::count' at line 6077:CORE.setting␤ in 'Any::join' at line 1␤ in 'List::perl' at line 2792:CORE.setting␤ in <anon> at line 2792:CORE.setting␤ in 'Any::join' at line 1␤ in
..'List::perl' at …
flussence rakudo's pretty fast at infinite recursion
colomon (the reason I ask is because it seems to me this scheme requires the topmost version of .perl to somehow define anonymous variables that can be used in lower levels -- which again seems like a significant overhead to the .perl implementor.) 00:05
TimToady all you need is a lexical scope to contain any variables declared en passant 00:07
sjohnson chess! 00:08
TimToady temp varnames could be stored in the seen hash if the can't be regenerated from self.WHICH
as for threading, that's why contextual variables aren't p5ish local vars
so they're automatically thread-local 00:09
assuming .perl is called within the tread
*thr
perigrin I'd like to point out there have been 0 perl6 talks submitted to YAPC::NA thus far ... and the call has been open for at least two months 00:13
dalek p-rx/nom: 5ab91d8 | jonathan++ | src/stage0/ (3 files):
Update the bootstrap to get method cache into the stage 0.
00:20
p-rx/nom: 9dcdea6 | jonathan++ | src/metamodel/reprs/P6opaque. (2 files):
A refactor of P6opaque to start to prepare the way for natively typed attributes. Along the way, this slashes a memory allocation per object instantiation, meaning that it's now just the PMC header and the object body. Given there's no RPA for attributes any more, this boils down to half the number of allocations and half the number of GCables for 6model objects compared to current Parrot objects.
jnthn sleep & 00:29
sorear How suprising would it be if 1e-18 == 1e-19 were evaluated to True? 00:47
colomon pretty surprising 00:48
I had a moment of "Sure, that makes sense", but then I decided I was nuts to think that. 00:49
bucky sorry for this faq question but does the shell in Parrot 3.0.0 support readline? 01:00
i guess it can because configure has an --without-readline option... tnx 01:03
lue hello zebras! o/ 01:09
rakudo: multi sub infix:<;>($a, $b) { $a + $b; }; say 3;4 # fun with confusion! 01:10
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
colomon \o 01:12
lue Interestingly enough, I think the only problem with that is that I have to use a semicolon at the end of the sub :) 01:13
coldhead /o\ 01:23
sorear bucky: The trick is that /usr/include/readline.h has to be available *when you run Configure*. 01:24
bucky: This also applies to libicu, if you want Unicode to work properly
lue In a file, the result is 7. It's amazing that I can break the semicolon in Perl 6 (of course, I'd afterward have to define a new way of separating statements)
flussence rakudo: say 1 % say 2 01:25
p6eval rakudo 388eed: OUTPUT«2␤0␤»
flussence well that doesn't quite work.
(could be an interesting way to write obfuscated one-liners though...)
sorear actually, lue, 01:26
rakudo: multi sub infix:<;>($a, $b) { $a + $b; }␤ say 3;4
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
sorear rakudo: multi sub infix:<;>($a, $b) { $a + $b }␤ say 3;4
p6eval rakudo 388eed: OUTPUT«7␤»
bucky sorear, we're getting it.. :) how about how to get the Enable optimization ..... yes when I run perl Configure.pl 01:30
bucky edit myconfig and add -O2 to ccflags=' ? 01:35
sorear not sure offhand 01:40
but myconfig is almost certainly wrong
you want some combination of gen parrot stuff and --optimize
actually doesn't gen-parrot use --optimize by default?
flussence on mine at least, it seems to take the CFLAGS setting from perl5. 01:46
sorear poor interpretation of profiling data suggests that 3/4 of the retained set of niecza when compiling itself is lists 01:58
non-list objects are underrepresented to a confusing degree - what's IN the lists? 01:59
bucky duh.. i found it with perl Configure.pl ---help it was perl Configure.pl --optimize 02:00
colomon rakudo: say [-] 10 02:26
p6eval rakudo 388eed: OUTPUT«10␤»
colomon rakudo: say [-] 10,5 02:26
p6eval rakudo 388eed: OUTPUT«5␤»
colomon rakudo: say [-] 02:27
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22␤»
colomon rakudo: say [-];
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22␤»
colomon rakudo: my @a; say [-] @a;
p6eval rakudo 388eed: OUTPUT«0␤»
snarkyboojum rakudo: say [-] Nil; 02:36
p6eval rakudo 388eed: OUTPUT«0␤»
snarkyboojum rakudo: say [*] Nil; 02:38
p6eval rakudo 388eed: OUTPUT«1␤»
snarkyboojum that seems weird
coldhead is there a perl6 debugger? 04:25
the higher order pel guy was working on one? 04:30
perl*
sorear yrlnry hasn't been to #perl6 in ages 04:33
if he ever did
coldhead maybe a debugger isn't really viable 04:34
coldhead sighs
sorear tardis 04:35
coldhead oh right! thank you sorear 04:37
diakopter oi 06:08
snarkyboojum rakudo: "io".flip.say 07:03
p6eval rakudo 388eed: OUTPUT«oi␤»
sorear so it looks like a lot of niecza's current compilation inefficiencies are stemming from needlessless lazy lists and a needlessly high-level implementation of _array_constructor 07:04
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 07:35
moritz_ good morning zebras! 08:21
sorear hi moritz_ 08:25
dalek tpfwiki: (Edward Awkward)++ | www.perlfoundation.org/perl6/index....ial_part_1 09:19
jnthn morning, #perl6 11:11
mathw morning jnthn and masak 11:12
masak heh. late start today. I guess I got carried away reviewing p1 submissions yesterday :) 11:13
moritz_ masak: how did you like the solutions so far? 11:17
jnthn masak: lol, I only just got up too :) 11:18
masak moritz_: they are generally of high quality. not much to complain about, really.
moritz_: I won't spoil the blog post entirely, but among the p1 ones, there are three which do DP, one that is correct but slow, and one that is fast but wrong. 11:19
moritz_
.oO( it's easy to get the wrong result in O(1) )
11:22
masak this one does it in linear time. 11:23
jnthn Heh. I shoulda submitted say "OMG GIRAFFE!"; for all of them, then claimed that I had the fastest program for every problem.
masak the correct-but slow one grows as O( n! )
arnsholt The brute-force approach. Always a classic =)
masak jnthn: you could've. but you wouldn't have won. :)
arnsholt I kinda want to figure out how the O(n log n) algorithm for matrix chain works though 11:24
masak arnsholt: do you have an URL for that one?
arnsholt Sounded kinda nifty, based on triangulation of regular polygons, apparently
masak I think I'd like to throw it into the blog post.
huh? polygons? in p1? :) 11:25
arnsholt I got the reference from en.wikipedia.org/wiki/Matrix_chain_..._Algorithm
ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/81/875/CS-TR-81-875.pdf
Yeah, polygons apparently =)
moritz_ I figured it was over my head :-)
masak arnsholt: thanks. 11:26
arnsholt moritz_: I looked a bit at the paper and decided I didn't have time to figure it out 11:27
After all, I need some time to write my master's thesis as well ;)
moritz_ arnsholt: and it's not about p6cc? :-) 11:29
arnsholt Unfortunately! 11:31
masak can only concur 11:32
moritz_ concurrent concurring! 11:50
mathw is unable to concur, due to being blocked on a lock somebody left lying around 11:52
moritz_ reanimates a dead lock 11:54
&
arnsholt mathw: At least you're not livelocked =) 11:55
mathw lunchlocked :) 11:56
&
masak loves when he has solved a problem so many times that he can write a correctly-designed solution in the span of a few hours
in this case, it's about web publishing from a set of source files. 11:57
Su-Shee loves just using the module I would have written long ago if I had solved a problem a couple of times :) 11:58
masak that's nice too :) 11:59
Su-Shee perl 6 should participiate the next time -> www.plat-forms.org/ :)
colomon what was the name of the new method to pretty-print Matches? 12:52
masak .pretty ?
colomon .pretty indeed. masak++ 12:53
colomon seems to remember saying it would be a lifesaver next time he tried to debug ABC code.... 12:54
huh. 12:59
well, now I'm mystified by how that's matching, and mystified that it doesn't work anyway. :\ 13:01
masak golf, simplify, minimize. 13:04
colomon that's easy to say, but my first golf attempt -- which certainly looks like it should have been enough -- didn't trigger the bug. 13:05
takadonet morning all 13:06
colomon actually, though, I now understand the second half of the problem. Boy, that was some dumb code.
masak here we go: strangelyconsistent.org/blog/p1-bes...f-matrices 13:08
arnsholt Yaaay! =) 13:10
masak I now have a system in place for easily compile my notes with the submissions. 13:11
I don't have to edit any html when I do updates :)
mathw :) 13:15
arnsholt masak: Did everyone submit just a single code file, or is that done by post-processing on your end? 13:17
jnthn exit say "Input must consist of at least two integers." unless @items > 1; 13:18
The exit say idiom...wow. :)
masak :) 13:19
fox++
arnsholt: hm. I'll check.
arnsholt: the former. 13:20
had there been external files in any of the submissions, I'd have to write a slightly more involved site renderer. 13:21
arnsholt Good thing I blew the deadline then, since three out of four of my solutions had a lib/ with a module file in it =) 13:22
masak I'd had happily written a bit of extra code for your sake :)
I'm still thinking of the best way to mention you come p4.
arnsholt That's nice to hear ^_^
JimmyZ couldn't visit apache.org. 13:23
flussence yep, down for me too 13:24
and the subdomains, apparently...
arnsholt masak: I'd suggest putting it in the general discussion of the solution you were looking for, I think
JimmyZ yes 13:25
masak arnsholt: good idea.
arnsholt: but I want to link to the code, too.
flussence (that's a bit of a shocker, the site of a webserver going down :) 13:25
masak maybe I'll just upload it manually.
arnsholt That'll work. Or you can link to the URL I posted a few days ago. It's on my uni web area, so it's nice and available 13:26
You can't make notes on that though, obviously
masak hm. more thinking is required. 13:27
colomon Is "exit say" actually a good idiom? I mean, it looks pretty, but if there is a problem with the say it will return the wrong exit value, no?
jnthn colomon: It may be too cute. I had mixed feelings when I saw it. :) 13:28
masak it's probably not a good idea for bigger programs.
jnthn It is going to aways give a non-zero exit code
masak but the fact remains that &say currently always returns 1
jnthn So in that sense it's "good enough" 13:29
masak right.
jnthn masak++, and (all submitters)++ too 13:32
Made interesting lunch time reading :)
masak :) 13:33
there's more where that came from.
I should be able to push out posts a bit faster now.
prashant_ hi everyone 13:49
I was learning perl for last few days and got hypnotised by the language doings 13:50
I would like to contribute in some of the projects
mathw Hello
prashant_ can you please give me some pointers about how to start with?
@mathw : hello
shortcircuit prashant_: Perl != Perl6. Are you familiar with the difference? 13:51
prashant_ nope 13:52
let me google it
shortcircuit Heh
prashant_ yeah got it 13:53
but still interested
jnthn prashant_: Perl 5 is widely used in production today, mature, and has plenty of exciting stuff going on. Perl 6 is in development, not widely used yet, and also has lots of ways to get involved. Since things are at an earlier stage there's a lot more gaps to be filled.
shortcircuit Hm.
Ways you might help. 13:54
prashant_ hmm
jnthn prashant_: Really, it's finding something you like doing and doing it. :) There's some ideas on www.perl6.org/getting-started/involved
shortcircuit Oh, cool. There's a page for that? :)
BTW, what's the Perl 6 analog for CPAN?
mathw Of course
jnthn shortcircuit: modules.perl6.org/ has the current module list; the whole ecosystem is evolving. tadzik++ is doing lots of work on that, including toolchain bits. 13:55
shortcircuit Cool. 13:56
jnthn brb
shortcircuit flussence: What Gentoo arch do you run? I'm in the process of installing amd64 generic, so I might be able to assist with maintenance of a rakudo ebuild, but I don't expect I'll want to take the time to bounce against other profiles. 13:58
flussence ~amd64 here 14:01
(though I've got a 32-bit netbook too)
[Coke] masak;it would be nice if strangelyconsistent.org/p6cc2010/ stated the problem description for p1. 14:33
ah, it's on the calling page. 14:36
PerlJam Today is the first time my Perl 6 coding has caused a real problem in my Perl 5 code. 14:41
I've been doing stuff with PDL and used +@array for it's perl6 meaning when creating some piddles and it caused a segfault that took me a while to figure out. 14:43
jnthn piddle! LOL! :D 14:44
mathw I keep writing for loops in Perl 6 way 14:45
takadonet I keep running into situations in p5 code where I want a junction 14:46
jnthn keeps forgetting that various things aren't available as methods.
@foo->ma...oh, wait
PerlJam jnthn: use autobox; # :-) 14:47
jnthn (Yes, there's an app^Wmodule for that... :))
PerlJam: Aye. :)
PerlJam most of my other Perl6->Perl5 problems have been minor and syntactical (like forgetting the parens on a given/when) 14:48
I guess this one was too, but it took me a while to figure out what I did wrong 14:49
jnthn I would mention that I forget the ; after eval { ... } - but I did that even before I had Perl 6 to influence me. :)
takadonet rakudo: my($a)=5; say $a; 14:58
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Symbol '$a' not predeclared in <anonymous> (/tmp/BijO36keIR:22)␤»
mathw takadonet: I do that, and I also want chained comparisons
takadonet rakudo: my ($a)=5; say $a;
p6eval rakudo 388eed: OUTPUT«5␤»
takadonet since when it's a compile time error to put parentheses right beside a key word? 14:59
i.e my( , while( etc...
mathw it's not 15:00
it just parses it as a function call
mathw IIRC 15:00
takadonet ah 15:01
makes sense just the error message does not help you to figure that out
PerlJam Perl is just optimistic about functions it hasn't seen yet. 15:03
maybe there should be some pragma that warns for functions that aren't defined before they are used. 15:04
mathw I would expect it'd complain when it got to the point where it could realise the function was undefined, but it notices the undefined $a first 15:06
colomon rakudo: my $a; my($a)=5; say $a; 15:09
p6eval rakudo 388eed: OUTPUT«Could not find sub &my␤ in main program body at line 22:/tmp/fxgroTrysB␤»
jnthn std: my($a)=5; say $a; 15:10
p6eval std 625303c: OUTPUT«===SORRY!===␤Variable $a is not predeclared at /tmp/lnD0IrhhtD line 1:␤------> my($a⏏)=5; say $a;␤Variable $a is not predeclared at /tmp/lnD0IrhhtD line 1:␤------> my($a)=5; say $a⏏;␤Undeclared routine:␤ 'my' used at line
..1␤Ch…
jnthn std++ tells you about both :) 15:11
PerlJam oh, then rakudo just needs to follow std's lead then :) 15:18
tadzik hello 16:19
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ial_part_1 16:48
dalek ar: 0fc520e | coke++ | README:
Small fixup (RT #82362)

Courtesy: Michael Stevens (mstevens++)
16:59
felliott hello, perl6! 17:25
tadzik o/
colomon \o
felliott I'd like to add a new file to roast (S29-conversions/hash.t) Do I need to edit anything besides spectest.data to get `make spectest` to run it? 17:26
o/
colomon felliott: nope, that's all that is needed
felliott cool.
thank you!
dalek ast: 1fa5f76 | (Fitz Elliott)++ | S03-operators/assign.t:
[assign.t] add test for RT #74302 (assign list to a scalar and a hash)
17:27
ast: d87f4af | (Fitz Elliott)++ | S29-conversions/ord_and_chr.t:
[ord_and_chr.t] fix typo in RT number annotation
ast: c298bbd | (Fitz Elliott)++ | S29-conversions/hash.t:
add test file for hash() method (includes test for RT #76826)
colomon felliott++
tadzik felliott++ #closing working tickets 17:37
felliott My pleasure. 17:38
tadzik I was trying to do this some time ago, but I was complaining instead of working. Ra-Kudos to you :)
felliott Thank you. I like doing this, b/c it helps me learn my way around the source, spec, and tests. 17:44
Hopefully one day I'll be fixing bugs, too.
dalek kudo: a23255a | felliott++ | t/spectest.data:
add S29-containers/hash.t to spectest.data
17:49
dukeleto felliott: good to see new people hacking on stuff! 18:06
sorear good * #perl6 18:25
masak \o
jnthn o/ 18:26
tadzik \o/ 18:28
colomon |o| 18:31
colomon can't decide if that's a touchdown or a tie fighter 18:32
flussence or a LOL
dukeleto /o\
[Coke] *~* 18:50
tadzik AC? 18:51
[Coke] hey, when fitz elliot says "this can be resolved" is he resolving them? 18:52
tadzik I don't think so, he probably has no RT access
[Coke] ah, masak is. close enough. ;)
I believe both pmichaud & I (and probably particle, and probably a few others) have access to make folks bugadmins for p6. 18:53
fyi.
tadzik yeah, I know\
felliott What tadzik said. I tried and was denied. :( 18:55
tadzik bah, given the parrot bug I can't run Rakudo on my system. Is it ok to bump the PARROT_REVISION? 18:58
colomon to? 19:01
tadzik to github.com/parrot/parrot/commit/c327bca66 19:01
but, we're supposed to be based on 3.0 on the release tomorrow 19:02
masak [Coke]: could you please give felliott++ bugadmin privs kthxbai? 19:06
dukeleto tadzik: which parrot bug?
dukeleto tadzik: i assume you are installing into your build dir? 19:06
tadzik: if so, just rm that directory first, before installing a fresh parrot 19:07
tadzik dukeleto: will try 19:08
felliott Thanks, pmichaud++! 19:18
I promise to use this power for good, and only incidentally for evil. :)
jnthn pmichaud: o/ 19:19
pmichaud jnthn: o/ 19:20
jnthn pmichaud: Gotta do a couple of quick errands here, I'll be about in 10-15 mins 19:20
pmichaud okay, I should be around for another hour or so 19:21
felliott Is there a way to merge bugs in RT?
diakopter agh; the lagh
felliott #72826 is a dupe of #73280
pmichaud yes
under "Links" there's an option for "merge into" 19:22
pmichaud in general we try to merge newer tickets into older ones 19:22
felliott Ahh, thanks. 19:22
In this case the newer one has more info. Should I copy it over? 19:23
pmichaud the merge will combine the info from both tickets 19:23
i.e., the merged ticket will have all of the information from both
felliott Thanks! I was able to merge them. 19:26
dukeleto pmichaud: ping
dukeleto pmichaud: i am close to adding a "make smoke" target to nqp-rx, but I need to use a test harness that can create TAP archives. Do you mind if I use t/harness.pir from Parrot ? I just wanted to ask you explicitly. 19:28
tadzik t/spec/S05-mass/properties-derived.rakudo ...................... Failed 3/256 subtests 19:36
(less 87 skipped subtests: 166 okay)
pmichaud that's using parrot 3.0.0 ? 19:37
tadzik yes 19:38
pmichaud hmmmm 19:39
I didn't have that failure when I tried it. I'll try again.
what platform?
jnthn pmichaud: Back.
tadzik linux, amd64
pmichaud realcleaning, building, etc. 19:40
jnthn pmichaud: If you have a moment, I'd like to get your thoughts on how to handle nqp-rx => nqp-rx/nom migration issues. 19:42
pmichaud: As you mentioned before, there's a sense in which it's a "different product".
pmichaud: I know it won't (can't) be a seamless transition, so replacing the parrot-nqp.exe in the Parrot repo with the "new nqp" is almost certainly not going to work out. 19:43
I think it'll have to be more like what we did before with nqp => nqp-rx.
pmichaud we can't replace parrot-nqp.exe with a new one because... we don't have the object model stuff in parrot to support it? 19:44
jnthn Kinda, yeah. 19:44
Also some semantic mis-matches.
The multiple dispatch works wiht the new object model stuff.
pmichaud well, let me ask that more directly -- why can't we have a parrot-nqp in the parrot repo?
i.e., what are the blockers?
(I grant there are some... I'm just wanting a feel for what they are) 19:45
jnthn It's mostly lack of backward compatibility.
pmichaud that doesn't make any sense to me 19:46
i.e., backward compatibility shouldn't be an issue
jnthn Maybe I mis-understood the question.
pmichaud okay, let me rephrase it a different way
jnthn We certainly *can* put the new NQP stuff I've been doing into the Parrot repo. Provided we handle its dynop and dynpmc library.
pmichaud okay (more) 19:47
at a nqp-source level, nqp code should pretty much work as before, yes?
jnthn We probably can't replace the current version of NQP in the Parrot repo with what I've got in nqp-rx/nom
jnthn Yes, pure NQP source isn't the problem. 19:47
pmichaud I'm asking what is the blocker there. :-)
jnthn Ah, OK. I can list a few. :) 19:48
6model doesn't support inheriting from PMCs at the moment, nor from Parrot classes. I may be able to partially pull it off, but I'm not sure it's a good use of time when Parrot folks are already considering switching to 6model or something like it for Parrot itself anyway.
jnthn Note that having attributes storing PMCs or stuff from P6metaclass or Parrot objects is no problem at all. 19:49
It's when inheritance is needed that we hit issues.
A harder one is that multi-dispatch currently only knows about 6model objects.
I'm not sure that'll be too easy to handle. 19:50
pmichaud I don't think that there are many instances of nqp programs (well, except for parrot-built utilities) that really need inheritance from pmc classes
jnthn Yes, the Parrot built utilities are my big worry here.
I think for people using NQP to build compilers, this should be a smooth transition.
For folks using it as a nicer way to interact with Parrot than writing PIR, I think it will be harder. 19:51
pmichaud parrot-built utilities using nqp are likely to get a significant change anyway, since bacek++ is working on a nqp-based version of PIR and PAST/POST
pmichaud there are migration issues with that also. 19:51
jnthn Yes
pmichaud anyway, at this moment I tend to agree that the new nqp(s) are separate products from the existing nqp-rx 19:52
and so we may handle it much like pge -> nqp-rx; i.e., leave the existing nqp alone for backwards compatibility, create a new nqp-ish environment for people to migrate to
migration should be far easier this time since it's mostly at a hll (nqp) level, I think.
jnthn Yes, people won't have to go re-doing their grammars and stuff like that. 19:53
Well, I guess maybe they didn't *have* to last time...
pmichaud most did, because of changes to things like protoregexes and the base grammar classes
but that shouldn't be the difference this time 19:54
jnthn Right.
pmichaud this time the changes are likely to be in PAST API stuff, I think. 19:54
jnthn Yes, and also at the interface between NQP and the VM.
pmichaud which comes to my next question -- what issues do we need to keep in mind to keep CLR capability? 19:54
pmichaud or did you want to focus on parrot for the first step? 19:55
jnthn nqpclr is looking quite good overall in terms of what it's capable of.
I think we need to try and reify/declare a bit more when VM specific stuff is going on.
pmichaud is it very divergent from nqp-nom? what's the current relationship between the two?
jnthn There's a lot in common. 19:56
If we s/pir::/nqp::/ in the Parrot one, it gets even closer.
pmichaud okay
jnthn The way you write meta-objects on both is identical. 19:57
jnthn The 6model implementation on both is pretty much API compatible. 19:57
pmichaud is it unreasonable to shoot for (not immediate step, but medium-term) having a single nqp implementation that can self-host on both parrot and clr?
jnthn There's some case where one leads the other in a given feature.
Medium-term, that's what I want pretty much. 19:58
pmichaud same here.
jnthn And what I've been keeping in mind.
pmichaud the -rx part of nqp-nom is still heavily dependent on PIR/Parrot right now?
jnthn Yeah
pmichaud how about past/post?
jnthn In two ways
tadzik Unicode property 'OtherAlphabetic' not found -- from the failing test 19:59
jnthn 1) It doesn't use 6model yet. That I can likely get fixed up.
2) Large swathes of it are in PIR. That's much more challenging.
PAST/POST - we don't actually need to switch those right now.
pmichaud they don't need new base classes? or you did that already in -nom?
TimToady phone? 20:00
pmichaud phone!
jnthn We don't need them to at the moment.
The thing is that our only interaction with them is to instantiate them and call methods.
pmichaud ah, so they can remain traditional Parrot objects w/o difficulty?
jnthn -nom is just fine with doing that stuff with objects from other object implementations.
pmichaud Pretty.
jnthn Yes, that I have managed to make work pretty effortlessly.
pmichaud Shiny.
jnthn What is different is that 6model is...erm...annoying...to use directly from PIR. 20:01
pmichaud that's okay, I think.
jnthn Or at least
jnthn It won't be able to take advantage of the optimizations in a sane way when they land. 20:01
pmichaud (phone omw)
I'm not too worried about that. I expect/hope we'll be eliminating huge parts of PIR anyway. 20:02
jnthn What I'm looking at is moving Cursor stuff into a class (in NQP) but leaving various methods having PIR bodies.
pmichaud oh, I'm thinking Cursor could become heavily NQP
it was somewhat designed that way at the outset; I just never went back and nqp-ized it.
jnthn diakopter++ has already done a bunch of stuff on that in the 6model repo for nqpclr 20:03
pmichaud (and I was also dealing with efficiency concerns)
jnthn Yes, well, that's what I think we've hit in nqpclr too. 20:03
[Coke] does felliott still need privs?
pmichaud what sort of overall timeframe are you wanting?
[Coke]: I added him
diakopter blinks into attention
pmichaud (so no)
diakopter finishes backlogging 20:04
jnthn pmichaud: I think nqp-rx/nom will be at the point where I'm ready to start re-working Rakudo to use it and 6model in about 2 weeks.
pmichaud: I'm fine with working against a Parrot branch initially. Of course, will be doing the work in a git branch.
[Coke] pmichaud: danke. 20:05
Layla_91 Knock, Knock! :D 20:05
jnthn I can find ways to work with a separate, out-of-Parrot, nqp-rx/nom for a while if it's blocking me.
Layla_91: Привет!
pmichaud so, you'd like to see a nqp-nom in the parrot repo in about 2 weeks (more)
Layla_91 jnthn: You kow russian! yahooooo! :D
pmichaud or, we have a rakudo branch that loads+builds nqp as part of its configure/build process (like we did in the early stages of rakudo-ng) 20:06
jnthn Layla_91: A little. :) I'm really bad. :(
pmichaud: I'm fine with either way.
Layla_91 jnthn: I will teach you all the basics.. come to Russia soon and all your beer will be on me :D
pmichaud I prefer to have nqp-nom in the parrot repo somehow; far easier to manage
[Coke] oooh, free language lessons AND beer? awesome. 20:07
jnthn pmichaud: I think so too. My concern actually isn't for me immediately.
Layla_91: Wow! :D
pmichaud: It's more that at some point I'll want @other to join the hacking and or test there stuff on it. 20:08
pmichaud: And low barrier to entry is helpful for that.
pmichaud I'd like also like to see nqp-nom in parrot so parrot hackers can start looking at it and seeing its effects
Layla_91 [Coke]: You can come too :)
jnthn pmichaud: Of course, me not having to build temporary stuff also helps. ;)
pmichaud anyway, two weeks seems very doable
jnthn Layla_91: Will certainly be there in May for the YAPC::Russia. :)
pmichaud (assuming there aren't any other major surprises that come) 20:08
[Coke] wishes he coudl go to yapc::russia. :| 20:09
pmichaud (come up)
Layla_91 jnthn: Deal! :D 20:09
pmichaud any other surprises I should know about? ;-)
jnthn pmichaud: OK, any tuits you have towards it are very helpful.
pmichaud: Er...
dukeleto YAPC::EU looks like it is going to be fun. I am seriously thinking about going.
Layla_91 [Coke]: It is easy.. take a plane and come XD
pmichaud jnthn: I think the next step is for me to build nqp-nom and see what I think :-) 20:10
jnthn pmichaud: Maybe you should know that 6model on JVM managed to start up, init 6model, initialize its (rather trimmed down) setting...and run hello world.
It passes a few tests too.
mberends++ for porting that lot :)
Anyway, it's a very reassuring that the model works so far on 3 different VMs.
pmichaud jnthn: okay, in the next 3 or 4 days I'll get nqp-nom installed and running on my box and add my reactions to that (more) 20:11
jnthn That doesn't demand your attention, anyways. It's just nice that it's happening.
dukeleto jnthn: it is very exciting to watch 6model evolve
pmichaud I'll also see about getting the clr version running, just to see it
jnthn pmichaud: OK. :)
pmichaud: Oh, I dunno if I made it clear...
pmichaud: nqp-rx's multi handling does all the proto stuff properly now
pmichaud: So it enters the proto and the * or {*} enters the dispatcher. 20:12
Also it can handle :U vs :D
So it's more than just "multi dispatch with 6model types", it's "multi dispatch that follows the latest spec", though it's missing all the stuff like constraints and sub-sigs and stuff (which I think will never go into nqp-rx). 20:13
Note that nqpclr supports all of this too, already.
pmichaud: Finally, pop github.com/jnthn/6model/blob/maste...erview.pod on your reading list. I writed docs!!1!! :) 20:14
pmichaud (on phone) 20:15
yes I understood that multi handling did proto stuff now 20:16
cogno I discover that Riga has a lot of art nouveau. I want to go if health and finance are good
pmichaud anyway, once I see the codebase I think I'll have a really good idea of what we need to focus on next 20:17
it does sound very similar to the rakudo-ng transition
jnthn OK. Warning, rough edges. ;)
pmichaud np, we had rough edges before :)
anyway, my goal will be to have a draft roadmap for migration by Sunday 20:18
jnthn If you can, that'd be outstanding, and very helpful.
pmichaud I'll also look at bacek's work and figure out where it should fall into things
I'm pretty sure I can do that by Sunday
I've been reconfiguring my work environment here at the house to make it more productive for me again 20:19
jnthn :)
pmichaud (got a new widescreen monitor, cleaned out the office, did some major house cleaning and upgrade to reduce friction and load there, etc.) 20:20
jnthn Ooh, widescreen. :D 20:22
Layla_91 pmichaud: I wanted a 3D tv, went today to the mall, costs 8000USD here :'( 20:28
jnthn Ouch!
pmichaud I'm not in any rush at all for 3D TV. So far all of the 3D I've seen has less clarity than the current 2D image.
so, I my brane tends to get tired trying to process and adjust for 3d images. 20:29
I'd rather just enjoy whatever I'm watching :-)
s/I//
(still can't type these days. brane is too busy trying to process 2d images I guess) 20:30
anyway, afk for a while to pick up kids
Layla_91 pmichaud, jnthn: well to be honest I was feeling a little confused with new technologies.. Plasma, LCD, LED ,3D TV.. with all these interfaces.. my eyes crossed X|
tadzik what are we doing with those failing spectests? 20:31
flussence (I couldn't care less about most of this new stuff, I just want a 300dpi monitor with nice fonts :)
pmichaud tadzik: if it's only 3 failing spectests (and they're relatively obscure), I'm okay with marking them as 'skip' for the release. 20:32
Layla_91 hihi :)
tadzik pmichaud: well, it looks like the test file is crashing
pmichaud I got "All tests successful" on my box.
tadzik nopaste.snit.ch/paste
hmm, maybe it's just me then 20:33
jnthn tadzik: That isn't the URL you were looking for. :) 20:33
tadzik bah
nopaste.snit.ch/28213
pmichaud tadzik: any chance you have some weird form of ICU configured? 20:34
tadzik not sure what is a wierd form
flussence hey, those are the tests I keep getting fails on!
jnthn Hmm. 20:34
Wonder if it's an ICU version thing.
pmichaud tadzik: I'm not sure either -- but perhaps check to see what version of ICU you're running
it could be that you have an older or newer version of ICU that is causing the issues 20:35
okay, I really have to go now -- bbl
jnthn o/
tadzik o/
flussence I'm using ICU 4.6 here.
tadzik I'll be going too
flussence: same here
tadzik and Gentoo too 20:35
anyway, going to sleep for today, see you! 20:36
flussence bye!
(hm, in that case I'd be inclined to blame non-default cflags settings... though I'm not doing anything crazy with mine) 20:37
jnthn bye tadzik o/
Layla_91 jnthn: Спокойной ночи o/ 20:39
jnthn Layla_91: Пока o/ 20:40
masak \o
jnthn masak! \o/
I heard you got shot today? 20:41
*chuckle*
masak jnthn: you'll scare the people who don't know the joke :)
jnthn I'm nice like that. :) 20:41
masak today's autopun: "Is confirmation bias prevalent? Yes, I see it everywhere!"
(via @luqui++)
moritz_ lol 20:42
masak it's amazing how autopuns can be so similar and yet feel new and fresh in each new incarnation. 20:43
jnthn :D
that's a great one.
huf hmm, what's an autopun? 20:44
masak the basic pattern is something like "&predicate? &predicate(&predicate)!" ==> lol
m4tthijs hi 20:44
masak m4tthijs: hi(hi)!
m4tthijs whatup with #perl?
masak m4tthijs: how do you mean?
m4tthijs I cant join 20:45
* #perl :Cannot join channel (+r) - you need to be identified with services
masak m4tthijs: read the error message?
flussence register your username
m4tthijs where?
masak on freenode.
google for "register nick on freenode"
m4tthijs oki
thanks
masak good luck.
huf: an autopun is a joke that gets its comedic value simply by mentioning a property and then applying it, more or less sensibly. 20:48
huf huh 20:49
masak or, as I like to put it, "Omnia dicta fortiore si dicta Latina."
masak fortiora* 20:49
("Everything sounds better in Latin.") 20:50
moritz_ masak: just read your blog post and your comments on the solutions. Very nice.
masak good, then I'll keep going with that format.
thanks. :)
[Coke] apparently phone time is longer matching up with comp.lang.parrot 20:51
flussence ) 21:01
whoops, stupid mouse
masak there's my closing parenthesis!
I wondered where I'd put it :)
flussence it was hiding in the crud under my scroll wheel all along :( 21:02
masak .oO( if you have that much CRUD, you need more verbs... ) 21:03
flussence (it creates/replaces/updates/deletes text, at the most inopportune times) 21:04
masak bad mouse! no cheese for you! 21:05
flussence I'm really overdue for a new one, but I tend to use them left-handed which rules out the "ergonomic" ones... 21:07
masak "Python 3 is a commercial disaster." j.mp/fFeL6m (via @Theory) 21:08
justatheory :-) 21:09
masak flussence: you could really use a fourth spatial dimension to get a left-handed ergonomic mouse.
masak I had this idea for a short story today, about objects that stuck together through an (invisible) fourth spatial dimension. you rotated one, the other one would go as a moon around it. or you could put one in the attic and swing freely from the other. 21:13
flussence
.oO( and then something 4D nudges them slightly out of place, and you get horribly dismembered... )
21:14
masak well, the thing is that the extra dimension would be entirely inaccesible, and otherwise totally undetectable. no 4D monsters or anything. 21:15
I bet lue would appreciate this idea.
flussence (I wonder if that's how ball lightning works :) 21:19
(although typing "4d ball lightning" into google suggests that nobody would agree) 21:20
flussence rebuilds the system icu with `make test`, just in case 21:28
"[All tests passed successfully...] Elapsed Time: 00:00:18.334", guess that's not to blame... 21:39
frettled Hrm, masak's blog had fallen out of my RSS feed list, for some reason. *re-added* 21:55
masak rakudo: say chr(0xD800) 21:58
p6eval rakudo 388eed: OUTPUT«Invalid character for UTF-8 encoding␤␤ in 'Cool::chr' at line 1935:CORE.setting␤ in 'chr' at line 2188:CORE.setting␤ in main program body at line 22:/tmp/uOMFLIb7Ii␤»
masak huh. I didn't know there were holes in UTF-8. 21:58
jnthn rakudo: say chr(0xD900) 21:59
p6eval rakudo 388eed: OUTPUT«Invalid character for UTF-8 encoding␤␤ in 'Cool::chr' at line 1935:CORE.setting␤ in 'chr' at line 2188:CORE.setting␤ in main program body at line 22:/tmp/yU45n3bQg5␤»
jnthn rakudo: say chr(0xDDDD)
p6eval rakudo 388eed: OUTPUT«Invalid character for UTF-8 encoding␤␤ in 'Cool::chr' at line 1935:CORE.setting␤ in 'chr' at line 2188:CORE.setting␤ in main program body at line 22:/tmp/2vYNJvknQN␤»
jnthn rakudo: say chr(0xFF)
p6eval rakudo 388eed: OUTPUT«ÿ␤»
masak ÿ!
jnthn rakudo: say chr(0x88FF)
p6eval rakudo 388eed: OUTPUT«裿␤»
flussence rakudo: say chr(0xFFFF)
p6eval rakudo 388eed: OUTPUT«Invalid character for UTF-8 encoding␤␤ in 'Cool::chr' at line 1935:CORE.setting␤ in 'chr' at line 2188:CORE.setting␤ in main program body at line 22:/tmp/IT9tt6BNI3␤»
flussence whee
jnthn hm
:/
masak all < 0xD800 work. 22:00
I czeched.
jnthn rakudo: say chr(0x1F4A9)
p6eval rakudo 388eed: OUTPUT«💩␤»
jnthn Phew, it can do my favorite char at least.
masak .u 💩 22:02
phenny U+1F4A9 (No name found)
masak aww :)
jnthn Aww. :(
How crappy. 22:03
masak jnthn: which one is it?
jnthn masak: www.fileformat.info/info/unicode/ch.../index.htm
frettled haha :D 22:04
frettled jnthn++ 22:04
masak :P 22:04
jnthn Anyway, www.fileformat.info/info/unicode/ch.../index.htm agrees that it's not a valid unicode char. 22:06
Seems that "for UTF-8 encoding" is kinda misleading.
If it's not a valid unicode char, I'd not expect it to work on any encoding.
flussence 0xd800..0xdfff are utf-16 surrogate chars, so it makes no sense to have them in utf-8.
jnthn Oh...I see. 22:07
oh, you're right...
jnthn It's valid just not alone. 22:07
masak aha. flussence++ 22:08
frettled 😹
(1f639)
jnthn :D :D :D 22:09
jnthn I want what the unicode consortium are drinking! 22:09
frettled just finished his third mug of dong ding tea. 22:10
I suspect that is _not_ what they have been drinking
flussence rakudo: chr(0x1f639).encode('UTF-16').contents # how would I find the right name for it? 'utf-8' worked 22:17
p6eval rakudo 388eed: OUTPUT«Unknown encoding UTF-16␤ in 'Str::encode' at line 4712:CORE.setting␤ in main program body at line 22:/tmp/4kIk4YL0d4␤»
arnsholt jnthn: It's probably stronger than beer =) 22:20
UTF-8 and UTF-16 are a bit on the clever side, occasionally
masak 'night, #perl6. 22:23
diakopter n/ 22:24
masak hopefully I'll have time to blog p2 tomorrow.
flussence \r
dalek p-rx/nom: feb7c9c | jonathan++ | / (2 files):
Add storage_spec structure and various constants for a repr to describe how it likes to be stored inside another one.
22:47
p-rx/nom: 059f70e | jonathan++ | src/metamodel/rakudoobject.h:
Add get_storage_spec to REPR API.
p-rx/nom: 1eb962d | jonathan++ | src/metamodel/ (6 files):
Get all representations to provide a storage spec.
jnthn early sleepz & 22:51
sorear good * #perl6 22:56
flussence interesting: the WHATWG have just decided HTML isn't going to have a version number any more. 23:51
sbp probably in response to the W3C being really happy about the "HTML5" logo they created 23:59
flussence maybe they wanted to distance themselves from that thing :)