»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
lichtkind | something like reader and writer in moose isnt in perl 6? | 00:01 | |
00:06
lizmat left
00:08
Liz joined
00:09
Liz is now known as Guest59432
|
|||
[Coke] goes to find what those are so he can tell you. | 00:17 | ||
getters and setters are builtin, yes. Are you asking if you can rename them? | 00:19 | ||
r: class A { has $.foo } ; my $a = A.new(); $a.foo(3); say $a.foo() | 00:20 | ||
p6eval | rakudo ce1827: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in method foo at src/gen/CORE.setting:1864 in block at /tmp/7Z4FKavmVB:1» | ||
[Coke] | bother. | ||
00:23
fgomez joined
|
|||
[Coke] | r: class A { has $.foo is rw } ; my $a = A.new(); $a.foo=3; say $a.foo() | 00:26 | |
p6eval | rakudo ce1827: OUTPUT«3» | ||
rjbs | At NYC Perl Hackathon, Saturday, the question came up "Can we ever have twigils, for $.foo and so on, in Perl 5?" Some dark soul suggested, "Why not kill of the Ada package separator and repurpose $'foo?" :-) | 00:46 | |
00:48
lustlife joined
00:54
anuby joined
00:55
arlinius joined
|
|||
perigrin | But that would break Acme::Don't ... and Poker::Texas::Hold'em | 00:57 | |
and Re'em (though that last one wasn't on CPAN) | 00:58 | ||
01:06
hypolin joined
01:10
Targen joined
01:11
cognominal joined
|
|||
labster | If Poker::Texas::Hold'em breaks, then we won't have to worry about HORSE in our modules. en.wikipedia.org/wiki/HORSE | 01:17 | |
01:19
araujo joined
01:27
jeffreykegler joined
|
|||
jeffreykegler | TimToady: Best of luck with your health | 01:28 | |
01:28
jeffreykegler left
|
|||
lue | Does anyone know how useful the Each type (ordered form of Junction) could be? Just curious. | 01:42 | |
sorear | Not useful enough for anyone to bother implementing it | 01:44 | |
lue | That's my feeling too (the not useful enough part). S09 had a small example of where it might be useful, but @array.say would be a shorter alternative. | 01:45 | |
perigrin | labster: sure you say that but have you been to Omaha? | 01:51 | |
02:06
cognominal__ joined
|
|||
japhb_ | The discussion in the backlog about how to clearly respond to "Is Perl 6 ready?" made me think that maybe we need an easy, glanceable page answering that in a way that is hopefully useful to outsiders. Of course, a little detail beyond the glances would be nice, so I mentally puttered for a bit, and came up with this concept: gist.github.com/japhb/c51ee251868680bd01aa | 02:06 | |
Thoughts and comments? | |||
02:07
cognominal left
02:08
madhadder left
02:18
cognominal__ left
02:21
cognominal__ joined
02:22
sqirrel_ joined,
FROGGS_ joined
02:24
sqirrel left
02:26
FROGGS left
02:44
japhb_ left
02:54
census left
|
|||
TimToady | japhb: nobody really has NFG support yet; rakudo is still mostly on the codepoint level | 02:56 | |
it fakes graphemes in a few spots, but won't have to fake it with real NFG | |||
03:16
lee__ joined,
orafu left
03:18
jaldhar_ left
03:20
orafu joined
03:26
TimToady left
03:27
TimToady joined
03:31
TimToady left,
TimToady joined
03:49
adu joined
03:57
jaldhar_ joined
04:00
adu left
04:04
jfried left
04:08
adu joined
04:11
jaldhar_ left,
rindolf joined,
jfried joined
04:12
bloonix joined
04:14
jaldhar_ joined
04:33
arnsholt left,
arnsholt joined
04:35
swarley-freenode joined,
odoacre left,
odoacre joined
04:37
Eddward left
04:45
swarley-freenode left
04:49
broquaint joined
04:54
swarley-freenode joined
04:58
preflex_ joined,
preflex left
04:59
preflex_ is now known as preflex
05:05
aindilis joined
05:07
kaleem joined,
SamuraiJack joined
|
|||
mberends | japhb: nice summary gist :) <nitpick>in the More Info section Portability, Ecosystem and Performance should be highlighted same as Community, Features and Documentation</nitpick> | 05:08 | |
the statement 'Rakudo-on-Parrot has decent startup time' is IMO subjective and false | 05:10 | ||
consider abbreviating the paragraphs about Portability, Documentation and Performance to embody the style of Community, Features and Ecosystem | 05:17 | ||
(less > more) | 05:18 | ||
sorear | subjective *and* false! | 05:22 | |
o/ mberends | |||
mberends | \o/ | 05:24 | |
like country *and* western? | 05:25 | ||
sorear | is country and western a contradiction? | 05:26 | |
mberends | no, nor is subjective and false. it was meant as a humorous reference to the silly remark that C&W musicians play two types of music ;-) | 05:30 | |
I'm going to try to port Java Data Objects to Perl 5 and Perl 6. I'm not expecting great performance, at least not initially, but the functionality of JDO is very useful. | 05:35 | ||
the idea behind targeting both Perl dialects in parallel is to put the spirit of the Perl Reunification Summit 2012 into practice. Liz++ for that. | 05:38 | ||
05:39
araujo left,
rjbs joined
|
|||
japhb | mberends, the "highlight" is actually a link. I didn't have anything that immediately came to mind to link to for the other ones. | 05:43 | |
mberends | ah, ok :) | ||
japhb | I almost said "This needs a lot more links", but I figured not to put in the effort of heavy linking if people didn't like it. It *is* just a conceptual mock-up, anyway .... | 05:44 | |
Though I guess I'm heartened that you mostly suggested edits to the existing content, rather than said "This is a lousy idea." | 05:45 | ||
mberends | It is a good idea, especially at a glance, to inform people who have a short attention span, which seems to be an increasing majority of people nowadays. | 05:47 | |
I can imagine it finding a good place somewhere near the front of perl6.org | 05:48 | ||
I think heavy linking such as slashdot style feels a bit ponderous to read | 05:50 | ||
I would like for example: Community: Perl 6's strongest asset is its community, which is already one of the friendliest and most helpful you will find. Community members are responsive at all hours, but most active from 8 AM to midnight UTC. See <a href="target">Community</a>. | 05:53 | ||
japhb | Makes sense. | 05:55 | |
mberends | Anyhow, good job! I should quieten down and give others opportunity to comment. | 05:56 | |
japhb | FWIW the longer paragraphs were longer because there seemed to be more to say to give even a semi-accurate picture of reality. But that may have just been editing failure on my part. | 05:57 | |
Thank you. | |||
(For the attaboy, not for quieting down. ;-) ) | |||
mberends | ;-) the longer paras seemed a bit TL;DR | 05:58 | |
japhb | Hmmm. Mayhaps you're right. | ||
mberends | you'll have more opinions to aggregate in another 12 hours or so | 05:59 | |
06:01
rindolf left
06:02
rindolf joined
|
|||
japhb | mberends, links and highlights rearranged as you prefer. | 06:05 | |
(gist updated, I mean) | |||
Haven't edited the long paragraphs, yet, but need to go AFK. | 06:06 | ||
lue | japhb: "course-grained" in the Performance paragraph should be coarse-grained methinks | 06:10 | |
06:10
kaleem left,
kaleem joined
06:11
drKreso joined
06:12
drKreso left
06:17
quester joined,
rindolf left
06:18
rindolf joined
|
|||
mberends | japhb++ # not only for editing in my suggestions | 06:24 | |
06:26
erkan joined,
erkan left,
erkan joined
|
|||
moritz | japhb++ | 06:27 | |
06:28
rindolf left
06:29
rindolf joined
06:35
rindolf left
06:36
rindolf joined
06:37
adu left
|
|||
mberends | \o moritz | 06:41 | |
06:43
araujo joined,
araujo left,
araujo joined,
FLOSSrookie joined
|
|||
FLOSSrookie | I am going to try and learn perl6 and because I like using databases I would like to try to connect to one. However, unlike the rich perl resources which are on the Internet perl6 is not one of them. Can someone either tell me or link me to some sample code on how to incorporate a database into a project with DBIish? Some sample code would be great! | 06:45 | |
06:46
rindolf left,
rindolf joined
|
|||
sorear | i think moritz has done stuff with dbiish | 06:49 | |
FLOSSrookie | sorear: Then he needs to put it out on the net. | 06:50 | |
Or send me some info. | 06:51 | ||
mberends | FLOSSrookie: adapt the database examples in modules.perl6.org/ (and don't criticise moritz++, he does plenty of good) | 06:52 | |
FLOSSrookie: and see github.com/jnthn/zavolaj/tree/master/examples | |||
FLOSSrookie | mberends: I am not criticizing him. It was just a "hint, hint" | ||
mberends | ok, ok ;-) | ||
the second URL has examples that were used in the conception of DBIish | 06:53 | ||
sorear | (welcome, if you're new) | 06:55 | |
FLOSSrookie | Oh, you bet, I am new! | 06:56 | |
mberends | FLOSSrookie: the test scripts in github.com/perl6/DBIish/tree/master/t use the various database drivers | 06:57 | |
07:02
rindolf left,
rindolf joined
|
|||
japhb | lue: fixed by removing. :-) | 07:08 | |
mberends, moritz: edited Portability, Documentation, and Performance sections to reduce TL;DR and make each info paragraph similar in length and style. | 07:09 | ||
mberends Refreshes and Likes(tm) | 07:10 | ||
japhb | heh | ||
tadzik | FLOSSrookie: github.com/tadzik/zblog/blob/maste...%BAblog.pl contains a DBIish uses | 07:13 | |
practical-ish even | |||
hello #perl6 | |||
mberends | hello tadzik | 07:14 | |
07:17
ozmq joined
07:19
rindolf left,
rindolf joined
07:20
FROGGS_ left
|
|||
jnthn | morning o/ | 07:31 | |
jnthn is about for a few moments before the day's teaching :) | |||
japhb | Hello and good night. :-) | ||
& | |||
mberends | o/ jnthn | 07:32 | |
mberends ditto | |||
07:34
rindolf left,
rindolf joined
07:37
ozmq left
07:45
rindolf left,
rindolf joined
|
|||
FLOSSrookie | Okay, what does this mean to any of you: paste.fedoraproject.org/4282/ | 07:48 | |
jnthn | teaching time, bbl...mebbe evening... & | 07:51 | |
sorear | SQLITE_ERROR => 1 , # SQL error or missing database | 07:53 | |
masak | good morning in the best of all possible futures, #perl6! | 07:54 | |
sorear | hello leibniz | 07:55 | |
masak | call me Pangloss. | 07:56 | |
arnsholt | \ | 07:57 | |
sorear | presumably, FLOSSrookie, you have a syntax error or missing database. | ||
arnsholt <3 Candide | |||
07:57
rindolf left
|
|||
sorear | oh, that was arouet? :/ | 07:57 | |
07:58
rindolf joined
|
|||
arnsholt | Yeah, that was Voltaire. If it's any consolation, I had to look up Arouet on Wikipedia to see you meant Voltaire =) | 07:59 | |
masak | <sorear> subjective *and* false! | 08:01 | |
heh, my thought exactly as I went through the backlog ;) | |||
sorear: I don't know what frightens/delights me most: that you keep dropping CS/literary references like that, or that I get most of them. ;) | 08:02 | ||
more of the literary ones than the CS ones, though. still need to learn parsing, category theory, and a lot of other math. | 08:03 | ||
arnsholt | mberends++ # Java Data Objects | 08:04 | |
FLOSSrookie | Segmentation fault (core dumped) | 08:05 | |
This day just keeps getting better and better. I fixed the file path and now this ^ | |||
masak | japhb++ # gist.github.com/japhb/c51ee251868680bd01aa | 08:06 | |
08:10
FROGGS joined
|
|||
FLOSSrookie | Yep, I know. I just don't know what is going to be done from here seeing how uninformative that general "Segmentation fault..." error is. If there had been more info I would take hope it could be fixed soon. But when you don't know where it went wrong .... This could take a while to fix. | 08:10 | |
arnsholt | FLOSSrookie: Could you put your script in a gist or nopaste of some kind? | ||
08:11
ozmq_ joined,
ozmq_ left
|
|||
arnsholt | The segfault error message doesn't actually come from Perl 6 (so unfortunately we can't really fix it), even though it's triggered by a Perl 6 script | 08:12 | |
sorear | masak: luck. I didn't know "subjective and false" was a reference to anything. I just thought mberends's phrasing was weird | ||
arnsholt | A segfault is what happens when a program attempts to read memory it's not allowed to read (so the OS terminates the program) | ||
sorear | does hpmor contain a similar line? | ||
08:12
ObseLeTe joined
08:13
ozmq joined
|
|||
sorear | arnsholt: We just need to make sure perl 6 gets permission for all its memory accesses. :) | 08:13 | |
arnsholt | mberends: As always, if you run into Zavolaj-related troubles or limitations on your path, please do tell me =) | ||
sorear | linux and windows at least let you install segfault handlers | ||
arnsholt | Read all the things! =D | ||
FLOSSrookie | arnsholt: paste.fedoraproject.org/4284 I removed some things from the script and it does not segfault but it is complaining about some prepare thing. | 08:14 | |
08:15
rindolf left
|
|||
arnsholt | "some prepare thing"? | 08:15 | |
08:15
rindolf joined
|
|||
FLOSSrookie | No such method 'prepare' for invocant of type 'Nil' | 08:15 | |
masak | sorear: no, I didn't mean "subjective and false" was a literary reference. in that case, I just had the same thought, like "aren't those contradictory?" | ||
FROGGS | FLOSSrookie: then $db is "undef" | ||
masak | sorear: fwiw, I think it can be used in the way mberends does. language is pliable enough. | 08:16 | |
but it sounds kinda funny. | |||
"false" here means something like "we can't put it among our claims". | |||
FLOSSrookie | FROGGS: It looks like I defined it. | 08:17 | |
masak | sorear: re category theory: I'm currently enjoying arxiv.org/pdf/1302.6946.pdf | 08:18 | |
arnsholt | FLOSSrookie: What do you get if you add "say so $db" after the connect statement? | 08:19 | |
That'll print the boolean value of your $db | 08:20 | ||
FLOSSrookie | arnsholt: False | 08:21 | |
And how do I fix it. | 08:22 | ||
arnsholt | That's less obvious. I'm not really familiar with DBIish (or SQLite, for that matter) | 08:23 | |
08:23
preflex left
|
|||
FLOSSrookie | Well, it says true now that I modified the path. And then it dumped the core again. | 08:23 | |
FROGGS | I'd vote for a sample sqlite database within the DBIish repo, and tests for it | 08:25 | |
08:25
preflex joined
|
|||
FROGGS | (if there are non) | 08:25 | |
arnsholt | Then it might be as simple as SQLite not creating a non-existent DB file without a flag | ||
The segfault it a bit trickier to diagnose | 08:26 | ||
FLOSSrookie | arnsholt: Does the code look sound in the paste? | ||
arnsholt: I at least want to get that right for now. | |||
arnsholt | I can't see anything obviously wrong, but again, I'm not really familiar with DBIish | ||
masak | r: my $yo = set; my $dawg = set $yo; say $dawg.elems | ||
p6eval | rakudo ce1827: OUTPUT«0» | ||
masak | :( | ||
hm, is this tikkited? | |||
arnsholt | FLOSSrookie: What if you add say()s between the prepare, execute and fetchall. Which one is it that explodes? | 08:27 | |
08:27
cogno joined
08:28
rindolf left
|
|||
FLOSSrookie | arnsholt: Could you modify the paste of my code to show what you mean. | 08:28 | |
masak | well, we have rt.perl.org/rt3/Ticket/Display.html?id=116096 which is close enough. | ||
08:28
rindolf joined
|
|||
arnsholt | FLOSSrookie: Just add a say "foo" after the prepare and say "bar" after the | 08:28 | |
odoacre | join #bitcoin | ||
arnsholt | ... execute | ||
odoacre | ops | 08:29 | |
arnsholt | (fatfingered) | ||
Then run the script again. Which strings get printed will show you which statement errors out | |||
masak | odoacre: hi! | ||
odoacre | hi there | ||
masak | lurking much? :) | 08:30 | |
odoacre | heh | ||
about a couple years i'd say | |||
masak | wow. | ||
odoacre | i lurk on your blog too, i really like it by the way | ||
masak | yay | 08:31 | |
odoacre: may I take this opportunity to poll you about your opinion on Perl 6? we're always curious about what people think, feel, and hope about Perl 6. | |||
odoacre | well, last time i tried it was about two years ago. | ||
masak | by the way, I hear bitcoins are stronger than ever. | ||
FLOSSrookie | arnsholt: Well, it appears that "foo" and "bar are shown I think it is the fetchall. | 08:32 | |
08:33
xinming left
|
|||
tadzik | FLOSSrookie: did you try running DBIish tests, ooc? | 08:33 | |
FLOSSrookie | tadzik: "ooc"? | ||
odoacre | i looked into bitcoins a couple years ago too, decided it's a waste of time, i'm actually embarrased you caught me attempting to jon the channel :( | ||
i mean the concept is cool | |||
but meh | |||
08:34
kresike joined
|
|||
kresike | hello all you perl6 people | 08:34 | |
+happy :) | |||
odoacre | about perl6 i honestly think it's also become unexciting perhaps | ||
sorry to say that :( | |||
sorear | #perl6 is still pretty cool though. | 08:35 | |
masak | agreed. | ||
tadzik | out of curiosity | ||
FLOSSrookie: ^ | |||
sorear | as long as masak and jnthn and pm and co are here, so will I | ||
masak | \o/ | ||
08:35
xinming joined
|
|||
tadzik | istr (I seem to recall) you're using R* provided by fedora, no? | 08:35 | |
FLOSSrookie | tadzik: I have no clue what you just said. Sure, I would like to test DBIish that is what I am doing. | 08:36 | |
masak | odoacre: why was Perl 6 exciting in 2004 but is unexciting now, in your view? | ||
08:36
quester left
|
|||
tadzik | FLOSSrookie: did you install DBIish yourself, using panda? | 08:36 | |
FLOSSrookie | tadzik: It came with the yum install I found out. | ||
odoacre | in 2004 i was still using perl a lot, nowadays not so much, it's kind of gone out of fashion/has a bad reputation and when you say, i'll do this in perl, your colleagues say, no! perl! horror! | 08:37 | |
tadzik | I suppose that may not neceserilly have ran all the tests | ||
odoacre | perl6 was supposed to fix that | ||
sorear | masak: duh, it's because of the spec freeze. don't you agree maintaining november was exciting? | ||
08:37
cogno left
|
|||
masak | sorear: hee hee. | 08:37 | |
tadzik | odoacre: yeah, that happens. It's been like this since I remember | 08:38 | |
masak | odoacre: thank you for your input. | ||
odoacre: it rhymes with a lot that I keep hearing. | |||
tadzik | I learned to shrug, say "duh", get back to coding and then buy them beer saying "this round's on Perl" | ||
FLOSSrookie | tadzik: What do you mean by test? I mean test as in I am testing perl6 with DBIish. | ||
08:39
rindolf left
|
|||
tadzik | FLOSSrookie: I mean that almost every module (library) out there comes with a set of tests, which are to make sure that the module actually works | 08:39 | |
masak | I think the main thing to realize about the popularity of Perl, is that if you lead the way and have almost all the market share, like Perl did, then there's no way to go but down when the niche becomes populated by other players. | ||
odoacre | i still love perl, it's just that i have stopped fighting that battle i guess | ||
08:39
rindolf joined
|
|||
tadzik | FLOSSrookie: it might be a good idea to run them, and make sure that it's either a bug in your code, or you're just using broken tools | 08:39 | |
masak | it's a bit like saying "man, Elvis isn't half as popular as he was 50 years ago". | ||
...which is *true*, but it isn't just because of Justin Bieber, it's because of all of the new artists, and the space created for all of them. | 08:40 | ||
sorear | perl 6 has about 20 users now, I think that statistically we're far more likely to go up than down :) | ||
masak | odoacre: welcome to #perl6. we haven't stopped fighting the battle, even when we're jaded and cynical like sorear and me :) | 08:41 | |
odoacre | :D | ||
masak | sorear: because there are more positive integers above 20 than below? :P | ||
I like where that argument is going... | |||
FLOSSrookie | tadzik: I will do that but it will be tomorrow (I have been here long enough at this computer). Thanks to all those who helped. | 08:42 | |
masak | s/positive/non-negative/ | ||
FLOSSrookie: good luck! | |||
kresike | masak, count in Rat's too, there are people using other languages than perl ☺ | ||
masak | kresike: dang, there goes the proof... | ||
08:42
FLOSSrookie left
|
|||
sorear | masak: yes, even if you restrict yourself to positive numbers less than the world population :) | 08:42 | |
odoacre | but really, i would turn that question around and ask, what is the problem that has perl6 as a solution ? | 08:43 | |
masak | "Is Perl 6 ready for production?" -- "Fraction of world population assimilated: .0000000033" | ||
DrEeevil | odoacre: ruby | ||
at least perl6 is readable ;) | |||
odoacre | that's what people tend to say about perl5 | 08:44 | |
kresike | masak, my gut tells me there are still more numbers above 20 then there are below it, it's just a little harder to prove ☺ | ||
masak | odoacre: I like programming in Pumpkin Perl. I like programming in Perl 6 even more. so "the problem" is "most problems I solve with programming", I guess. | ||
kresike: your gut is wrong. | |||
sorear | kresike's gut uses measure theory. | ||
masak | kresike: there are a countably infinite amount of rationals between 0 (exclusive) and 20 (exclusive). | 08:45 | |
kresike: the same cardinality as those above 20. | |||
odoacre | masak you are avoiding the question :) | ||
sorear | but I'm actually thinking more from the POV of "regression to the mean" | ||
kresike | masak, I know ... and yes I hate infinites ! | ||
masak | odoacre: oops, sorry. | ||
kresike: I've made peace with them. | |||
odoacre: let me try again. | 08:46 | ||
kresike | ☺ | ||
masak | odoacre: Perl 6 has grammars, roles, and user-definable operators. many other languages do too, but Perl 6 has them in a unique way, which helps me think better about problems than in other languages. | 08:47 | |
odoacre: nowadays, when I code in some other language, like Java or JavaScript or Perl 5, I tend to formulate the solution in Perl 6, and then translate it down to the target language. | |||
odoacre | ok, and that's great, but it's still kind of metaphysical, no ? | ||
masak | yes. | 08:48 | |
I'm not sure there's a single problem Perl 6 solves that I can point to like you want. | |||
it solves a lot of problems. | |||
sometimes slightly better than other languages out there. sometimes a lot better. | |||
08:48
rindolf left
08:49
rindolf joined
|
|||
odoacre | i really should give perl6 anover spin | 08:50 | |
i'll let you know masak :D | 08:51 | ||
masak | odoacre: pro tip: it helps to go in with a purpose. follow your own advice: solve a concrete problem. | ||
odoacre | yeah that's what i always try to do | ||
masak | make it a *small* concrete problem, it'll be challenging enough anyway ;) | ||
++odoacre | |||
odoacre | yeah, last time i checked finding docs was kinda hard | ||
sorear | We've partially fixed that in the last year | 08:55 | |
moritz | we now have doc.perl6.org | 08:56 | |
it's not complete, and not perfect | |||
but good enough that if you complain about missing docs, we can add it there quickly-ish | |||
odoacre | thanks guys | 08:57 | |
i'll set about doing something small n the next couple weeks or so | 08:58 | ||
08:59
rindolf left
|
|||
masak | sounds great. | 08:59 | |
08:59
rindolf joined
09:01
rindolf left
09:02
rindolf joined
09:03
woolfy joined
09:04
Guest59432 is now known as lizmat,
daxim joined
09:08
cognominal__ left
09:10
rindolf left,
rindolf joined
09:17
wk joined,
ozmq left
|
|||
masak | I was thinking something like this. html5please.com/ | 09:22 | |
but for Perl 6 production readiness. | |||
FROGGS | cool | 09:23 | |
masak | and (at least for me) the key would be to *back things up* not just with a finger-in-the-air hunch, but with observable milestones. | ||
sjn | masak: good idea | ||
FROGGS | milestones++ | ||
FROGGS likes to work onto goals | |||
masak | so, shiny three-state (use/caution/avoid) system with a shiny layout + concrete milestones. that's what I'd like to see. | 09:24 | |
09:24
cognominal joined
|
|||
masak | I'm willing to put actual tuits into this. | 09:24 | |
and, you see, when you expand any of those, there's a (short) paragraph explaining the most important fact, caveat, or workaround. | 09:25 | ||
sjn | masak: how do you envision keeping the list up-to-date? is here a good list to base something like this on? | 09:26 | |
masak | well, not to overdesign things, but... | ||
each update, bringing things closer to production-readiness, is news. | 09:27 | ||
which would suggest an Atom feed to update things. | |||
basically, a blog or tumblelog. | |||
add a new update to the Atom feed, and the page updates. | |||
come to think of it, I wish the whole web was made of Atom feeds. | 09:28 | ||
then people who are interested in the production-readiness of Perl 6 can subscribe to that feed. | |||
FROGGS volunteers | |||
masak | FROGGS: cool. I don't believe I have access to create projects under the perl6 org on github, but we might start by brainstorming in a repo elsewhere. | 09:29 | |
FROGGS: mind if I create the repo? | |||
FROGGS | go ahead | 09:30 | |
09:31
rindolf left,
rindolf joined
|
|||
moritz | I can do stuff in the perl6 org | 09:32 | |
should I do anything for you? | |||
FROGGS | stuff++ | ||
perl6please repo? | |||
moritz | a repo named perl6please? | 09:34 | |
FROGGS | masak? | 09:35 | |
09:37
cognominal left
|
|||
masak | hold on. | 09:38 | |
github.com/masak/production-readiness | |||
moritz | should I fork that into perl6 orga? | ||
masak | I considered perl6please, but I considered that too cute for a repo name. | ||
moritz: yes, please. | |||
unless we want to wait for the project to materialize beyond a README.md :) | 09:39 | ||
but I have good hopes for it. I already wrote static webpage generation with an Atom feed in Perl 6 once :) | |||
mostly we can scavenge psyde for good code. | |||
DrEeevil | I really really hate how a simple README now doesn't "work" anymore | ||
masak | we might need to pull in the p5 Markdown module, though. that's the compromise I currently make in psyde. | ||
moritz | forked to perl6 org | 09:40 | |
FROGGS | about the milestones... one milestone is to gain speed, we need benchmarks and an acceptable time for them | ||
moritz | and added 'perl6' team (aka everybody :-) as committers | ||
masak | \o/ | ||
moritz++ | |||
09:57
dakkar joined,
rindolf left
09:58
rindolf joined
10:06
Ovidius joined
|
|||
masak uses 'git update set-url' for the first time to change his origin to [email@hidden.address] rather than manually editing the .git/config file | 10:07 | ||
10:08
curtispoe left
10:09
fhelmberger joined
|
|||
masak | what I would like: a bliki platform where the Atom feed is the central part. it comes pre-configured as a blog, but any new resource/page can be created that projects the Atom feed in some way. | 10:12 | |
masak adds it to his mental TODO list | |||
sorear | [GitHub] Subscribed to perl6/production-readiness notifications | 10:13 | |
"does this mean I'm going to get email when perl 6 is production ready?" | |||
masak | :P | ||
10:16
hoelzro joined
|
|||
Ulti | yeah I noticed I now have all sorts of perl6 github action in my inbox, is there some new social drive? | 10:24 | |
10:25
hypolin left
10:27
ObseLeTe left
10:29
thou_ left
|
|||
masak | Ulti: discussions ultimately rooted in a dagolden post yesterday culminated in a new project. | 10:29 | |
well, "ultimately rooted" is perhaps a bit strong. I've been wanting this for some time now, but haven't stopped and verbalized it. | 10:30 | ||
10:43
ObseLeTe joined
|
|||
dalek | p: 422d97c | (Arne Skjærholt)++ | src/6model/reprs/VMArray.c: Remove obsolete comment. |
10:43 | |
p: 311fabb | (Arne Skjærholt)++ | src/6model/reprs/VMArray.c: Stub positional REPROps in VMArray. |
|||
pmichaud | good morning, #perl6 | 10:46 | |
arnsholt | o/ | ||
tadzik | good morning pmichaud | ||
moritz | good am, pm | 10:48 | |
pmichaud decides to try to catch up on latest discussions re: productionability | 10:49 | ||
in japhb's "Perl 6 ready?" gist, I think the "serious performance work in Rakudo has really yet to begin" needs revision. | 10:51 | ||
unless we want to deny the work of the past 2.5 years | |||
10:54
brrt joined
10:57
mberends left
10:58
mberends joined
|
|||
masak | +1 | 10:59 | |
I'm doing $work, but I intend to try and summarize people's "Perl 6 ready?" thoughts/backlog/gists into something we can use for perl6/production-readiness, with an eye towards concrete achievables. | 11:00 | ||
...after $work :) | 11:01 | ||
dalek | p: 814b3bb | (Arne Skjærholt)++ | src/6model/reprs/P6 (2 files): Remove no return value-warnings from P6{int,num}.c |
||
pmichaud | I'll be glad to contribute patches and thoughts, but once again my schedule is not my own for a while :-| | 11:02 | |
masak hugs pmichaud | 11:03 | ||
Harzilein | hmm... | 11:05 | |
i just tried perlito with add.pl from perl6advent.wordpress.com/2010/12/0...main-subs/ | |||
but it does not seem to generate code to call the main sub | |||
tadzik | I think perlito may not support MAIN | 11:06 | |
11:06
brrt left
|
|||
Harzilein | :( | 11:08 | |
tadzik | rakudo and niecza seem to both support it | ||
sorry for the inconvenience :) | 11:09 | ||
11:11
anuby left
|
|||
masak | Harzilein: it's not entirely clear to me what perlito supports or does not support. however, I'm pretty sure the feature support is a lot lower than for either Rakudo or Niecza. | 11:13 | |
Harzilein: in other words, don't be surprised if you find not-yet-implemented things in perlito. | 11:14 | ||
pmichaud | is perlito far enough along to be in the feature matrix, ooc? | 11:15 | |
11:20
mberends left
|
|||
masak | I would think so, yes. | 11:21 | |
I have no idea how it'd fare compared to, say, Pugs. | |||
moritz | afaict perlito never strived to be a feature-complete implementation | ||
Harzilein | i just wondered if i could use some perlito generated command line parsing with my perl5 script :) | 11:25 | |
11:28
wk left
11:29
mberends joined
|
|||
masak realizes that he submitted 5 RT tickets (and one spec issue) on his first day back | 11:34 | ||
clearly I should vacation more often. | |||
11:35
erkan left
|
|||
colomon | masak++ | 11:43 | |
moritz | masak: is that more than your usual weekly average? | ||
11:44
rindolf left
11:46
erkan joined,
erkan left,
erkan joined
|
|||
masak | moritz: for a few years, I averaged one RT ticket per day. in the past two or so years, it's been slightly lower. | 11:48 | |
arnsholt | jnthn: REPROps_Positional->get_elem_stable appears to be unused in NQP, and AFAIK it was only needed to support the old way of doing at_pos_native. Any objections to me removing it entirely? | 11:57 | |
grondilu | wow, lots of change in the metamodel. What's going on? | 11:59 | |
masak | grondilu: what change are you referring to? | 12:02 | |
arnsholt | Nah, this isn't really a major change I think | 12:08 | |
Just dead code I think | |||
moritz | and it's not really in the MOP, but in the layer below | 12:09 | |
masak | oh, the change that arnsholt++ is proposing. | 12:10 | |
arnsholt: if it's not used, I have no objections. | |||
arnsholt | Yeah, I'm pretty sure it'll be fine, since it's not in 6model-JVM, just prefer to have a second opinion on this kind of change to check for unintended consequences | 12:13 | |
12:13
brrt joined
12:22
SmokeMachine joined
|
|||
masak | TimToady++ # applying a moderate version of Skegness^WOKness to only Match objects | 12:22 | |
(folk.uio.no/alied/TMoL.html defines "skegness" as "Nose excreta of a malleable consistency.") | 12:23 | ||
grondilu | masak: I don't know exactly: when git-pulling today I saw plenty of changes in src/Perl6/Metamodel | 12:24 | |
masak | oh. | ||
arnsholt | Those aren't mine =) | 12:25 | |
Oh, looking at the list of commits, it seems it's moritz++ who merged more of kboga++'s piridectomy work | 12:26 | ||
Those'll be mostly in the metamodel I think | |||
masak | rn: say Nil ~~ Parcel | ||
p6eval | rakudo ce1827, niecza v24-26-g713c785: OUTPUT«False» | ||
masak | r: say Nil.^mro | 12:27 | |
p6eval | rakudo ce1827: OUTPUT«Nil (Iterator) (Iterable) (Cool) (Any) (Mu)» | ||
masak | Nil is... a kind of Iterator? | ||
r: say List.^mro | |||
p6eval | rakudo ce1827: OUTPUT«(List) (Iterable) (Cool) (Any) (Mu)» | ||
moritz | masak: in the old spec, yes | 12:28 | |
masak: in the old spec, Nil was something like (), but undefined in scalar context | |||
the new spec disagrees. | |||
masak | yeah. that's why I wanted to check. | 12:30 | |
12:37
m0li joined,
cogno joined
12:45
SHODAN joined
12:50
cogno left
12:55
Targen left
13:04
dayangkun left,
wk joined
13:07
dayangkun_ joined,
SmokeMachine left
13:08
SmokeMachine joined
13:09
dayangkun_ is now known as dayangkun
13:10
dayangkun left,
kaleem left,
dayangkun joined
13:12
zamolxes joined
13:15
cognominal joined
13:16
immortal joined,
immortal left,
immortal joined
13:17
erkan left
|
|||
masak | today's autopun: "The worst thing about censorship is ■■■■■■■■■■." | 13:18 | |
lizmat | :-) | 13:22 | |
lizmat off to Amsterdam PM meeting & | |||
13:22
woolfy left,
lizmat left
|
|||
sjn just read that bdfoy is promising a fix for all modern perils! o/ | 13:25 | ||
13:27
kaleem joined,
kaleem left
|
|||
masak | sjn: url? | 13:31 | |
sjn | ttps://twitter.com/briandfoy_perl/statuses/308929736829186048 | ||
:D | |||
oops | |||
add an h | |||
masak | :) | ||
URL provided by IKEA. | |||
sjn | assembly may be required | ||
twitter.com/briandfoy_perl/statuse...6829186048 # for the ircbots | 13:32 | ||
masak | I for one welcome our new peril-free modern overlords. | 13:33 | |
brrt | peril free with perl | 13:34 | |
masak | note that he doesn't promise to fix *all* perils. just the modern ones. | 13:35 | |
tadzik | so 5.8 is EOLd, but still getting updates, eh? | ||
masak | like, I guess, Segwaying off a cliff. | 13:36 | |
tadzik: just like Perl itself! <ducks /> | |||
13:37
ObseLeTe left
13:38
xinming left,
SmokeMachine left
13:39
xinming joined,
kaleem joined,
SmokeMachine joined
|
|||
[Coke] | (perlito) is perlito in a state where I can fudge roast tests for it? | 13:41 | |
13:44
telex_ left
13:46
telex joined
13:49
ObseLeTe joined
13:59
sqirrel_ left,
hoelzro is now known as hoelzro|away
14:05
ObseLeTe left
|
|||
[Coke] | perl perlito6.pl -Cperl5 -e t/spec/S02-literals/listquote.t | perl | 14:19 | |
Undefined subroutine &GLOBAL::t called at - line 13. | |||
14:19
brrt left
14:22
Psyche^ joined
|
|||
[Coke] | ah, my bad, leftover -e. | 14:22 | |
actual error: | |||
perl perlito6.pl -Cperl5 t/spec/S02-literals/listquote.t | perl | |||
Missing value after operator > at lib5/Perlito6/Expression.pm line 286. | |||
14:22
xinming left
|
|||
nwc10 | I'm not sure if it's really a great idea spending time fudging for Perlito. It's not obvious that it's a very active project: github.com/fglock/Perlito/commits/master | 14:22 | |
[Coke] | nwc10: I'm spending about 15m. that's it. :) | ||
nwc10 | aha | ||
masak | [Coke]++ | 14:23 | |
14:24
xinming joined
14:25
crab2313 joined
|
|||
[Coke] | I picked 3 or 4 spec tests, some issue on each of them so far. | 14:25 | |
14:25
Patterner left,
Psyche^ is now known as Patterner,
cognominal left
14:28
census joined
14:30
cognominal joined
14:35
benabik joined,
census left
14:36
PacoAir joined
14:38
census joined
|
|||
colomon | rn: say (1, 2, "a", "b").sort | 14:39 | |
p6eval | niecza v24-26-g713c785: OUTPUT«a b 1 2» | ||
..rakudo ce1827: OUTPUT«1 2 a b» | |||
14:39
kaare__ joined
|
|||
masak | sorting values from different types considered insane. | 14:40 | |
colomon | masak: agreed. | ||
yet here I am looking at spectests which do just that | |||
masak | consider those spectests insane :) | 14:41 | |
things need to be on the same "real line". 2 and "a" ain't. | |||
and Perl 6 doesn't have enough static typing to get .sort to enforce that. | 14:42 | ||
colomon | what I really don't get is: these tests are five years old. rakudo todo'd them a year ago. yet they've just recently started failing on niecza. what's up with that? | ||
14:42
wk left,
smash__ left
|
|||
colomon | S32-hash/kv.t line 37, etc. | 14:43 | |
masak | some update to Mono? | ||
colomon | not on my machine. | ||
anyway, I'm thinking the right solution is to make the tests more correct | 14:44 | ||
14:45
cognominal left
|
|||
colomon | but would love a second opinion. | 14:45 | |
PerlJam | colomon: make the tests more correct <-- there's your second opinion ;) | 14:47 | |
dalek | ast: 79de2c6 | (Solomon Foster)++ | S32-hash/kv.t: Change tests so they no longer depend on the order of sorting numbers with strings. |
14:48 | |
[Coke] | what does sort default to? | ||
colomon | [Coke]: cmp | ||
masak | then rakudo is correct. | ||
oh wait. | |||
infix:<cmp> isn't Perl 5's cmp. | |||
colomon | cmp doesn't default to comparing strings | 14:49 | |
masak | rn: say 2 cmp "a" | ||
p6eval | rakudo ce1827: OUTPUT«Increase» | ||
..niecza v24-26-g713c785: OUTPUT«Decrease» | |||
masak | colomon: right. | ||
was thinking about leg. | |||
rn: say 2 leg "a" | |||
p6eval | rakudo ce1827, niecza v24-26-g713c785: OUTPUT«Increase» | ||
colomon | on niecza, I'm pretty sure cmp compares the typenames when you try to compare different types. (with an except for Reals where they all compare alike.) | ||
[Coke] | rn: say +"a" | 14:50 | |
p6eval | niecza v24-26-g713c785: OUTPUT«Unhandled exception: Cannot parse number: a at /home/p6eval/niecza/lib/CORE.setting line 1479 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3595 (ANON @ 10)  at /home/p6eval/niecza/lib/CORE.setting line 3597 (NumSyntax.str2num @ 5)  at /h… | ||
..rakudo ce1827: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏) in method gist at src/gen/CORE.setting:10514 in sub say at src/gen/CORE.setting:7592 in block at /tmp/IVQHmXvvHM:1» | |||
colomon | *exception | ||
dalek | ast: 6aab7ad | (Solomon Foster)++ | S14-roles/namespaced.t: Fix test to conform to the B() to (B) change. |
14:52 | |
colomon is now wondering how many of the current Niecza test failures are actually bad tests. | |||
ooo, this one is a legit niecza bug. | 14:53 | ||
14:54
hoelzro|away is now known as hoelzro
|
|||
masak | colomon++ | 14:57 | |
[Coke] | colomon++ | 14:58 | |
colomon | n: say Bool | 14:59 | |
p6eval | niecza v24-26-g713c785: OUTPUT«Bool()» | ||
colomon | n: say Int | ||
p6eval | niecza v24-26-g713c785: OUTPUT«(Int)» | ||
colomon | n: say Bool.STR | 15:01 | |
p6eval | niecza v24-26-g713c785: OUTPUT«Unhandled exception: Unable to resolve method STR in type Bool at /tmp/vuW_f5pJWJ line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4274 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4275 (module-CORE @ 581)  at /home/p… | ||
colomon | n: say Bool.Str | ||
p6eval | niecza v24-26-g713c785: OUTPUT«Bool()» | ||
dalek | ecza: 2e5a010 | (Solomon Foster)++ | lib/CORE.setting: Fix CommonEnum.gist to return (Type) instead of Type() for undefined. |
15:05 | |
PerlJam | dagolden++ clarifying post -- www.dagolden.com/index.php/1923/my-...ut-perl-5/ | ||
dalek | ast: 0d86772 | (Solomon Foster)++ | S12-attributes/class.t: Refudge for Niecza. |
15:06 | |
pmichaud | yeah, in retrospect the earlier article could've used a better title. | 15:07 | |
15:07
cosimo left
|
|||
PerlJam | indeed | 15:07 | |
pmichaud | "What Perl 6 can tell us about Perl 5 evolution" or something like that. | ||
colomon | the framing is still kind of all weird. "Perl 6 is hopeless" still seems to mean "Perl 6 is not going to sweep in and make Perl 5 completely irrelevant in the short term". | 15:10 | |
colomon is excited about having a new computer arrive today... | 15:12 | ||
felher is very pleased that rakudo is fast enough to do placeholder substitution in a file fast enough for his purposes. | 15:14 | ||
colomon | \o/ | ||
FROGGS | (new computer)++ | 15:15 | |
I am still excited about my company-laptop | |||
15:15
kaleem left
15:34
aindilis left
15:35
PacoAir left
15:40
cosimo joined
15:43
FROGGS left
|
|||
colomon | rn: say "m" ~~ /[M]/ | 15:46 | |
p6eval | rakudo ce1827, niecza v24-26-g713c785: OUTPUT«#<failed match>» | ||
colomon | rn: say "m" ~~ /:i [M]/; say "m" ~~ /[M]/ | 15:47 | |
p6eval | rakudo ce1827, niecza v24-26-g713c785: OUTPUT«「m」#<failed match>» | ||
colomon | rn: say ("m" ~~ /[M]/).Bool | ||
p6eval | rakudo ce1827, niecza v24-26-g713c785: OUTPUT«False» | ||
dalek | p: dda02aa | (Arne Skjærholt)++ | src/6model/reprs/VMArray. (2 files): Import resizing code from QRPA and make method stubs slightly less stubby. Also fixes two copy-pasto return values. |
15:49 | |
colomon | ugh, this looks to be an ugly, ugly niecza- bug | ||
15:49
SamuraiJack_ joined
15:52
SamuraiJack left
|
|||
colomon | n: say "m" ~~ /[M]/; say 'ß' ~~ m:i/SS/; say 'SS' ~~ m:i/ß/; say "m" ~~ /[M]/; | 15:52 | |
p6eval | niecza v24-26-g713c785: OUTPUT«#<failed match>FalseFalse「m」» | ||
colomon | yup, officially ugly | ||
15:52
dayangkun left
|
|||
masak | wt... | 15:55 | |
benabik | ignore case gets stuck? | 15:56 | |
masak | something sets case insensitivity and then doesn't unset it? | ||
n: say "a" ~~ /[A]/; say "b" ~~ m:i/B/; say "a" ~~ /[A]/ | |||
p6eval | niecza v24-26-g713c785: OUTPUT«#<failed match>「b」「a」» | ||
masak | yep. | 15:57 | |
15:58
dayangkun joined
16:00
neilb_ joined
16:02
neilb_ left,
neilb__ joined
|
|||
TimToady | I hope you don't think those are character classes... | 16:07 | |
16:08
kmwallio joined
16:09
kmwallio left
16:11
cosimo left
16:12
cosimo joined
16:16
thou joined
|
|||
felher | Is the reason that STD has some '{}' in the regex that the closure is a sequence point after which $/ guaranteed to be defined? | 16:17 | |
TimToady | no, it terminates the declarative part that feeds longest token matching | 16:18 | |
felher | TimToady: ah, okay. Thanks :) | ||
16:19
sizz joined,
sizz_ left
|
|||
benabik | Why not :: ? | 16:19 | |
TimToady | that also commits to the current token, which prevents backtracking to a shorter but better match | ||
or even one of the same length | 16:20 | ||
benabik | Ah. | ||
TimToady | there's more than one way to match an identifier, for instance | ||
colomon | TimToady: roast thinks they are character classes, see ignorecase.t | 16:22 | |
n: say "a" ~~ /A/; say "b" ~~ m:i/B/; say "a" ~~ /A/ | 16:23 | ||
p6eval | niecza v24-27-g2e5a010: OUTPUT«#<failed match>「b」「a」» | ||
colomon | n: say "a" ~~ /A/; say "b" ~~ m/:iB/; say "a" ~~ /A/ | ||
p6eval | niecza v24-27-g2e5a010: OUTPUT«===SORRY!===Unrecognized regex modifier :iB at /tmp/jZplhY2FGN line 1:------> say "a" ~~ /A/; say "b" ~~ m/:iB⏏/; say "a" ~~ /A/Action method mod_internal:oops not yet implemented at /tmp/jZplhY2FGN line 1:------>… | ||
colomon | n: say "a" ~~ /A/; say "b" ~~ m/:i B/; say "a" ~~ /A/ | ||
p6eval | niecza v24-27-g2e5a010: OUTPUT«#<failed match>「b」#<failed match>» | ||
colomon | hmm, that might be a pretty good hint to the location of the problem... | 16:24 | |
TimToady | indeed | ||
16:25
rindolf joined
|
|||
colomon | TimToady: what regexes should I be looking for for that? | 16:28 | |
regex_def? | 16:30 | ||
kresike | bye folks | ||
16:30
kresike left
|
|||
colomon | that looks like it's actually for grammars. | 16:30 | |
16:31
SmokeMachine left
|
|||
colomon | quote? | 16:32 | |
TimToady | eh, you should be looking down in the Regex subgrammar | ||
colomon | quote:m, no? | 16:33 | |
16:33
SmokeMachine joined
|
|||
TimToady | if it's like STD, things to do with the %*RX dynamic array, specifically %*RX<i> | 16:33 | |
but I have vague recollection that not all impls follow the %*RX strategy | 16:34 | ||
colomon | niecza's got it. | ||
grammar Regex is STD | |||
elsif $i.defined { %*RX<i> = $i; self } | |||
that's in a method tweak? | 16:35 | ||
16:35
SmokeMac_ joined
|
|||
TimToady | but it should be in something that declares a my %*RX over the correct scope | 16:35 | |
it would seem to be missing something like that | |||
colomon | nibbler has | 16:36 | |
:temp %*RX; | |||
rule nibbler, I mean. | |||
16:37
SmokeMachine left
|
|||
colomon | hmmm | 16:38 | |
n: say "a a" ~~ /a/; say "b b" ~~ m:g/b/; say "a a" ~~ /a/ | |||
p6eval | niecza v24-27-g2e5a010: OUTPUT«===SORRY!===Regex modifier g not yet implemented at /tmp/d1WyLHoD4i line 1:------> say "a a" ~~ /a/; say "b b" ~~ m:g⏏/b/; say "a a" ~~ /a/Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.s… | ||
TimToady | token quote:sym</ /> { | ||
probably needs a temp %*RX; | 16:39 | ||
colomon | "Only $ and @ variables may be used in regexes for now" | 16:40 | |
though surely that isn't the right syntax? | 16:41 | ||
benabik | :temp %*RX; I'd imagine | ||
colomon feels wildly out of his depth here. | 16:42 | ||
TimToady | actually, quote:m for the m:i// form | ||
colomon | TimToady: maybe not completely out of my depth, that much I figured out on my own. ;) | ||
TimToady | :temp %*RX; is just like :my %*RX; but copies in the current values like your environment vars do | ||
colomon | niecza> say "a" ~~ /A/; say "b" ~~ m:i/B/; say "a" ~~ /A/ | 16:43 | |
#<failed match> | |||
「b」 | |||
#<failed match> | |||
\o/ | |||
benabik++, TimToady++ | |||
TimToady | feel free to backpatch STD as well | 16:44 | |
TimToady has to run off to a meeting soonish | |||
colomon | probably needed for quote:ms, quote:s, quote:ss, and quote:tr as well, right? | ||
TimToady | can't hurt | ||
colomon | TimToady: I don't know how to test STD to make sure my changes are correct? | ||
TimToady | well, you can't really, since STD is just a parser :) | 16:45 | |
well, you could look at the output of viv to see what the tree looks like, I suppose, but STD stops when it comes to deep semantics | |||
but if you do the same thing to STD as you do elsewhere, it should be good enough for STD's purposes | 16:46 | ||
which is mostly just to be a prototype | |||
16:46
hoelzro is now known as hoelzro|away
|
|||
dalek | ecza: 2a7e0fd | (Solomon Foster)++ | src/STD.pm6: Add :temp %*RX; to quote:rx, quote:m, etc. |
16:47 | |
16:48
supernovus joined
|
|||
supernovus | Anyone else having a problem installing panda lately? | 16:48 | |
masak | colomon++ | 16:50 | |
supernovus: there was some known panda breakage in the backlog a few days back. | |||
supernovus: don't remember if it got resolv'd. | |||
dalek | d: 692eb4f | (Solomon Foster)++ | STD.pm6: Add :temp %*RX; to quote:rx, quote:m, etc. |
16:52 | |
arnsholt | phenny: tell jnthn I'm working on VMArray directly on nqp/master. Think it should be fine, since nothing's actually using it yet. Also, I think I can kill REPROps_Positional->get_elem_stable. You agree? | ||
phenny | arnsholt: I'll pass that on when jnthn is around. | ||
supernovus | pastebin.com/pF3NQkrM | 16:53 | |
So at the moment, panda is entirely unusable. Sigh. | 16:54 | ||
16:54
FROGGS joined
16:55
kst joined
|
|||
supernovus | I can also confirm that the bug in IO::Socket::INET that makes the get() method freeze up on a blank line is still there. | 16:56 | |
16:58
chee left
|
|||
FROGGS | supernovus: right | 16:58 | |
supernovus | In the recent discussion about "production readiness", a lot of people seem to put speed at the top of the list, but in my opinion, speed sits well below essential features being broken. | 17:02 | |
17:04
zby_home_ joined
17:05
thou left
17:06
SmokeMac_ left
17:08
SmokeMachine joined
17:11
wk joined
|
|||
masak | supernovus: usually referred to in positive terms, as "stability". | 17:16 | |
supernovus: if it's any help, stability has gotten *much* better since 2008. in fits and starts. pmichaud and jnthn and sorear and moritz are taking it very seriouisly. we can still get better, of course. | |||
didn't IO::Socket::INET get broken because of some Parrot carpet-pull? | 17:17 | ||
pmichaud | yeah, I'm still not happy with the socket I/O breakages we've had lately. | ||
That whole io-refactor branch has just been a lot of hurt. | |||
colomon | FedEx pulling up outside! | ||
masak | it's the feds! | 17:18 | |
FROGGS | well, I can think of a patch but this involves hardcoding parrots chunksize into IO::Socket::INET | ||
TimToady | are they pulling up carpets? | ||
masak | no, that's CIA. | ||
17:18
grondilu left
|
|||
TimToady | .oO(Carpet Intelligence Agency?) |
17:19 | |
colomon | it's a new Linux box! | ||
TimToady feels bad for the old one | |||
PerlJam | supernovus: Well, for me, improved IO is probably next on the list after speed, but I'm not running up against "essential features" that are missing so much. | 17:20 | |
17:20
bluescreen10 joined
|
|||
pmichaud | PerlJam: well, features that were working but are now broken is definitely Bad. | 17:20 | |
TimToady would, running the other way with it, like to see more POSIXy things in the essentials category | |||
masak | +1 | 17:21 | |
TimToady would also like to know how to read errno | |||
colomon | TimToady: If the old one hadn't decided to start shutting down every time I asked it to do something hard, it wouldn't be getting replaced. | ||
moritz | the real problem with socket errors is that while people are quick to point at problems, it's very rare that somebody constructs a minimal-ish test case | ||
TimToady | colomon: maybe you should replace me too :) | 17:22 | |
moritz | which exposes the problem | ||
TimToady | yes, stability is the mother of testing | ||
or something like that | |||
moritz | effort is | 17:23 | |
pmichaud | I just know that I was surprised at one of the Star releases late last year failing most of the socket tests. | ||
TimToady | as for speed, we can fix things faster if we have more speed :) | ||
pmichaud | s/most of/several of/ | ||
TimToady | more to the point, with more speed we can recruit more people to fix things faster :) | 17:24 | |
we try to encourage Impatience as a virtue, and sometimes that backfires | |||
PerlJam | TimToady: Niecza is faster than Rakudo, but doesn't seem to be recruiting more people :) | 17:25 | |
TimToady | there may be people here who are willing to work on rakudo because niecza proves it could be faster :) | 17:26 | |
colomon is thinking he may give the new machine a while to warm up before booting it... | |||
masak | PerlJam: Niecza doesn't have, and never had, the public mindshare Rakudo has. | ||
tadzik | and marketing | 17:27 | |
masak | PerlJam: which is a pity. it's a fine implementation. | ||
PerlJam | masak: Sorry, I was just handwaving like TimToady taught me to. :) | ||
tadzik | people were always surprised that there's Perl 6 on .NET and it's fast | ||
jnthn | evening o/ | ||
phenny | jnthn: 16:52Z <arnsholt> tell jnthn I'm working on VMArray directly on nqp/master. Think it should be fine, since nothing's actually using it yet. Also, I think I can kill REPROps_Positional->get_elem_stable. You agree? | ||
colomon | \o | ||
PerlJam | TimToady: I'm going to play the part of doubting Thomas on that one. | 17:28 | |
diakopter | put your fingers in my side | ||
masak | eeeww | ||
PerlJam | diakopter: Are you in need of an operation? Does your spleen or appendix need removal? | 17:29 | |
masak .oO( doubting Thomas the Tank Engine ) | |||
diakopter | _o_o | 17:30 | |
japhb | (I'm backlogging, so apologies if this was already resolved later ....) pmichaud, re: irclog.perlgeek.de/perl6/2013-03-05#i_6551157 , I meant no denial -- I wrote my honest impression: that while certain very large performance gotchas had been filed off (can't compile in less than 1.5 GB RAM, jnthn's 30x performance boost for IIRC the X metaop from a couple months ago, etc.) that *considerable* work in the last 2.5 years had been a | ||
bout correctness, maintainability, portability, and optimizability (but not major *optimization*, other than to prove that the optimizability work actually functioned correctly and capture a few easy but modest gains). I apologize my wording came off denialist. :-( | |||
PerlJam wonders where you would "market" niecza ... | 17:32 | ||
17:32
neilb__ left
|
|||
PerlJam | I don't run across many .net/mono hackers, so that leads me to believe that they aren't the same kinds of tinker that would hack on something like Perl 6. (sorear being an exception, of course) | 17:32 | |
or maybe sorear just needs to talk about niecza at some .net/mono conference or something to drum up hackers. | 17:34 | ||
17:34
Chillance joined
|
|||
diakopter | PerlJam: well, there's jnthn :P | 17:34 | |
pmichaud | japhb: it depends on if you're talking about optimization. Your gist says "serious performance work in Rakudo really has yet to begin", and that's just not true imo. | ||
All of the refactors have been in preparation for being able to do optimizations. | 17:35 | ||
PerlJam | diakopter: I haven't seen jnthn hack on niecza either (but I also haven't been watching his every move :) | ||
japhb | FROGGS, re: irclog.perlgeek.de/perl6/2013-03-05#i_6551064 , there is github.com/japhb/perl6-bench/ , which needs more love, but I think can help in that area. | ||
pmichaud | Clearly inlining to native ops is a significant optimization that has been made. | ||
japhb | pmichaud, ah, so s/performance/optimization/ is one obvious improvement to phrasing. | ||
diakopter | I was referring to I don't run across many .net/mono hackers, so that leads me to believe that they aren't the same kinds of tinker that would hack on something like Perl 6. | ||
masak | you don't run across many .Net hackers? clearly you don't live in .se | 17:36 | |
we're so monoculturally .Net here that it makes me a little ashamed. | |||
diakopter didn't know that | 17:37 | ||
japhb | masak, the SF Bay Area has a serious love/hate relationship with Microsoft. | ||
tadzik | pl is very python-strong | ||
PerlJam | masak: so ... are there .net conferences in .se? | ||
pmichaud | japhb: even better would be to get rid of the "really has yet to begin". Much of it has begun. What you really want to indicate is that there's a lot more to be done. | ||
tadzik | they're doing some big conferences here, in a circus tent | ||
japhb | pmichaud, hmmm, fair enough. | ||
masak | PerlJam: I'm pretty sure there are. I'm not a .Net programmer, though. | ||
17:37
arlinius left
|
|||
japhb | pmichaud, how about "is still in the early stages"? | 17:38 | |
moritz | does anybody else get lots of passing TODOs in t/spec/S32-num/stringify.rakudo ? | ||
pmichaud | moritz: they probably pass due to the commit I made 2 days ago | ||
I didn't have a chance to update the tests. | |||
moritz | pmichaud: I'll do that then | ||
pmichaud | r: say (1/5).perl | ||
p6eval | rakudo ce1827: OUTPUT«0.2» | ||
jnthn | It's bull that we haven't invested serious effort into performance related work in Rakudo. Think of the serialization work that improved startup time dramatically, or the things that happened when moving to the nom line of development, or the optimizer, or the many, many smaller profile-driven improvements over time... | ||
17:38
shlomif joined
|
|||
japhb | jnthn, again, I'm sorry. My late-night phrasing clearly was insulting, and was not meant to be. | 17:39 | |
pmichaud | japhb: yeah, I'm not even sure I agree with "in the early stages". There just a whole lot of foundation that has to be correct before you can layer in the higher-level optimizations. | ||
jnthn | Some of the things have *favored* performance over stability. We could make augment work properlyer if we undid some optimizations. We could have more stability if we never pre-compiled (and heck would I like that, given nobody but me ever works on the serializer, and everybody tends to only ever be horrified when it fails... | ||
diakopter | japhb: perhaps characterize what you imagine could be done to do the "serious/focused" optimization effort | 17:40 | |
japhb | My impression was that the serialization work was about correctness and addressing a serious immediate pain point (get "critically bad" down to "not great, but not awful"), rather than trying to make it perl5-level super-fast. | ||
PerlJam | japhb: not "super-fast", but definitely faster than it was. | 17:41 | |
supernovus | masak: I realize it's gotten far more stable in the last few years, and MUCH faster too. | ||
jnthn | japhb: At the time it happened it was a dramatic improvement. | 17:42 | |
japhb | And I thought the optimizer was serious work to get working, but was really just the stage upon which heavy optimization could happen, not something big and sophisticated and JVM/LuaJIT-like in its power. | ||
moritz | those tests are nasty to fudge | ||
they are in a function that is called many times | |||
japhb | jnthn, yes, but I was trying to say that that was sawing off a blade of pain, not sanding it down to a smooth sheen. | ||
moritz | and not all calls succeed | ||
jnthn | japhb: Sure, that means "more to do", not "nothing serious done" | 17:43 | |
colomon | moritz: probably easier just to fix rakudo. ;) | ||
supernovus | PerlJam: I guess it depends on what people consider essential features. Most of my libraries are related to Internet services, so for me, a working networking stack is essential :-) | ||
pmichaud | let me look at the tests | ||
japhb | jnthn, yeah, I am really sorry. I think we're in violent agreement, but I clearly was insulting, and I didn't mean to be. | ||
jnthn | *nod* | ||
17:43
rindolf left
17:44
shlomif is now known as rindolf
|
|||
pmichaud | I'm also still not convinced that p5-speed is our best benchmark or indicator of progress at the moment. | 17:44 | |
moritz | it's not, but it is what many people will compare rakudo to, whether we like it or not | ||
[Coke] | I think it's a reasonable benchmark, even if our goal isn't parity. | ||
PerlJam | um ... what coke and moritz said :) | 17:45 | |
pmichaud | I agree it's a useful comparison. I'm not sure I agree that "until you reach p5 speed, rakudo is useless or not production ready". | 17:46 | |
japhb | pmichaud, I'm fairly sure I can't convince my department head at $day-job to let me program in Perl 6 most of the time until it is less than 2-10x the speed of perl5, depending on task and situation. | ||
jnthn | Please also remember that you need to talk about specific benchmarks, not faster in general. | ||
pmichaud | japhb: 2-10x is in the realm of what we're shooting for, yes. | 17:47 | |
I'm not arguing for a 20x difference being okay. | |||
but I've seen a few people say that "faster than p5" is an essential criteria, and I'm not sure I agree with that. | |||
japhb | Right, again we're in agreement, thankfully. :-) | ||
Yeah, that I don't buy. | |||
[Coke] | moritz: you could skip instead of todo. :| | 17:48 | |
pmichaud | "as fast as p5" works as long as we accept some looseness in the "as fast as" part. Without the looseness, "as fast as" means literally "no slower than". | ||
jnthn | Faster than p5 at what? I suspect if I nail native type handling on the JVM port we may be able to beat Perl 5 at certain things. Other areas are gonna be much tougher to get close on. | ||
pmichaud | I also would like to point to my lightning talk. Rakudo is clearly faster than p5 for a lot of OOP stuff. | 17:49 | |
PerlJam | So, what's the comparative speed target we should be marketing to the world? 2x-10x is a fairly wide margin | ||
pmichaud | especially startup time. | ||
japhb | jnthn, my goal was/is to have a benchmark suite that treated <= 2x as "green", <= 10x as "yellow", and make sure for every test we through at it, our implementations aren't showing red. | ||
jnthn | japhb: That sounds much more reasonable than talking about factors in general. | ||
moritz | [Coke]: I could, yes | 17:50 | |
japhb++ # full of good ideas these past few days | |||
pmichaud | pmthium.com/2012/09/a-rakudo-performance/ # in case the reference is needed again :) | ||
japhb | pmichaud, that was comparing against full-blown Moose, which I think is a very important comparison, but does not satisfy that part of the audience that says "I use Mo/Mouse/hand-coded OO specifically to avoid Moose startup, and you can't beat that." | 17:51 | |
moritz, That was an old good idea, but thank you. ;-) | |||
pmichaud | japhb: I'd want to see the actual performance comparison before saying "you can't beat that" though. | ||
because I suspect we can. :) | |||
japhb | Oooh, I'd like to see that. :-) | 17:52 | |
17:52
dakkar left
|
|||
japhb | But I was speaking in terms of a theoretical audience member reacting to your slide deck, not having a specific test in mind myself. | 17:52 | |
PerlJam | I'd like to see a benchmark against Perl 5 "hand-coded" OOP I think. | 17:53 | |
moritz | maybe once we can inline accessors (or on a platform where calls aren' | ||
supernovus | Well, P6 has a full MOP, has a "full blown Moose", it's part and parcel, so a fair comparison would be P5+Moose+MooseX::Declare+Regexp::Grammars+Lots::More::Stuff | ||
moritz | t so slow) | ||
pmichaud | japhb: yeah, but such an audience member isn't speaking from actual measurements, just speculation. | ||
japhb | pmichaud, sure. But remember, most people follow their gut, even when there is evidence right in front of them. | ||
17:53
thou joined
|
|||
japhb | Hell, that's half or more of US politics explained in one sentence. | 17:53 | |
moritz | supernovus: others argue that it's only a fair comparison if you actually use that stuff | 17:54 | |
avi_ | People who complain about startup costs should consider the alternatives available to them, such as running a daemon and a lightweight client. | ||
pmichaud | right, but generic statements like "Perl 6 has slower startup than Perl 5" is just perpetuating the apples-to-oranges comparison meme. | 17:55 | |
it's not helpful. | |||
supernovus | moritz: Possibly, but with Perl 6, the features are there, and are used by pretty much anyone who writes in Perl 6. | ||
japhb | moritz, The big mistake that people make when thinking of perl5 OO performance is assuming that people use accessors *at all*. Almost none of the "raw perl5 OO" code I use on a daily basis does. The OO is used in the classic sense: some data with some methods. | ||
avi_ | Java people are well aware of start up costs, and it is a very popular language as well. So imho startup cost is just a performance point one could improve in the future, but the market has spoken, java is everywhere and startup cost be damned. | 17:56 | |
jnthn | avi_: Yeah, but not many people do Java one-liners ;) | 17:57 | |
avi_ | mmmmmm true but imho a perl one-liner is a maintenance smell | ||
jnthn | avi_: It all depends what your use case is. If you're writing a daemon, or anything long running, startup time is, indeed, not important. :) | ||
avi_ | there's probably like a 10% chance you're going to have to script that.. | ||
japhb | supernovus, pmichaud was indeed trying to do a fair apples-to-apples comparison in that slide deck. The problem is that a lot of people are currently using oranges, and are perfectly happy with the results, and don't know why they want to start using apples just to be "fair". | 17:58 | |
tadzik | you look from the wrong angle | ||
there's not point _having_ it | |||
you fire and forget | |||
avi_ | jnthn: oh but the point is that if you need to execute this program a lot, you can treat it as a service, like spamd for spamassassin. | ||
17:58
not_gerd joined
|
|||
supernovus | Nearly all of my uses for Perl are for services that you start once, and leave running. | 17:58 | |
not_gerd | o/ | ||
17:59
PacoAir joined
|
|||
pmichaud | japhb: I don't have a problem with people continuing to use oranges, either. I'm not claiming our apples are good enough to supplant their oranges either. I only have trouble with people who say "your apples aren't as good as our oranges, and are therefore unsuitable for anything." | 17:59 | |
not_gerd | personally, what kills startup time for me is the parsing stage | ||
supernovus | japhb: I would say then, if they are happy with oranges, why worry about them? They can continue enjoying oranges, because apples aren't going to replace them. | ||
FROGGS | japhb: about perl6-bench, that will help, yes | ||
supernovus | pmichaud: beat me to the punch | 18:00 | |
not_gerd | I've a not-too-large script where it's at 1s, and a 1k codebase where it's 7+s | ||
japhb | I use Perl for services, cronjobs, CLI tools, one-off experiments ... a full range of tasks, some of which require low latency to not be annoying, and shouldn't just be registered as services. | ||
not_gerd | the 7+s weren't so bad if there was automatic precompilation | ||
18:00
takadonet joined
|
|||
takadonet | hey everyone | 18:00 | |
not_gerd | but without it, user experience is worse than C++ | ||
18:02
daxim left
|
|||
japhb | supernovus, you found the boundary of the metaphor, not of my intent. People are interested in what Perl 6 has to offer on a wide range of subjects. But saddling "lean and mean" perl5 with extra stuff in order to perform an apples-to-apples comparison only works on audience members already using that extra stuff. Some of the rest want to know if Perl 6 can fill the orange niche in the market also. | 18:02 | |
PerlJam | .oO( when life gives you apples and oranges ... make a fruit salad? ) |
18:03 | |
japhb | The pace of this conversation is at the very limit of my ability to read and respond, so I apologize if I have lost a thread someone started. | ||
[Coke] | (time on my box with some random perl5 and a semi-recent rakudo to print 1 is ~85 times slower... less than half a sec vs. 0.005s. | ||
pmichaud | japhb: we can terminate our thread; we've both said what we need to say :) | ||
[Coke] | japhb: I don't think we're targetting those users specifically. | 18:04 | |
supernovus | I use Perl 5 in a lot of projects, including places where Moose is overkill. I have plenty of code using plain old bless calls, and direct calls to $object->{field}, and for those cases, that's fine. For building a large scale web application on the other hand, I prefer a bit more substance, which Perl 5 + Moose + $Preferred_Web_Framework can provide, and which I'm trying to bring to Perl 6 by contributing as many web service rela | ||
ted libraries as I can. :-) | |||
[Coke] | (nqp is just under 20x slower) | 18:05 | |
japhb | pmichaud, circling back to the very beginning of this ... how would you phrase the situation with the performance and optimization work in Rakudo, so that it is useful for outsiders, and accurate WRT all the work y'all have put in? | ||
18:06
grondilu joined
|
|||
PerlJam | [Coke]: now ... if only we had some profiling tools that helped us zero-in on where the bottle necks are :) | 18:06 | |
japhb | supernovus, and good on you for that work. :-) | ||
pmichaud | japhb: I don't want P5 to be our benchmark, so the very first sentence throws me off for the rest of the paragraph. | ||
japhb | [Coke], yes, those numbers seem about right, last time I checked. | 18:07 | |
pmichaud, OK, fair enough. | |||
PerlJam | pmichaud: so what *should* be the benchmark? | ||
perigrin | does there have to be a benchmark? | ||
pmichaud | Perl 6 implementations suffer from very poor performance compared to p5 for those types of things that p5 has been extensively optimized for, and ignoring the additional capabilities that p6 brings | ||
[Coke] | nqp-jvm is at 2s, or 440x. | ||
PerlJam | perigrin: yes. | ||
perigrin | PerlJam: why? it just opens up to false comparisons ... like pmichaud just illustrated. | 18:08 | |
PerlJam | perigrin: or ... people will make comparisons whether we want them to or not. The trick is giving them a useful comparison to make. | ||
japhb | pmichaud, I agree with that statement, but was that intended as a quote to put in, or just how you're thinking about it? | ||
PerlJam, agreed | 18:09 | ||
pmichaud | not a quote -- just what the statement would need to say to be accurate | ||
japhb | Hmmm. | ||
perigrin | PerlJam: "Strange Game. The only way to win is not to play at all." | ||
japhb | "Shall ... We ... Play ... A ... Game?" | ||
supernovus | gotta run, back later | ||
18:09
supernovus left
|
|||
[Coke] | benchmarks are a useful thing, even if the goal isn't to answer a fiver who is questioning whether or not they should move. | 18:10 | |
pmichaud | for a quote, something like "Existing Perl 6 implementations continue to have slower startup times, execution speeds, and memory usage for many common applications." | ||
[Coke] | (our answer to that has been "it's ok, you don't have to" for some time now.) | ||
perigrin | pmichaud: "slower than desired" it's still faster than I can do it by hand :) | ||
PerlJam | perigrin: I'm not sure that quote applies. "playing the game" here is about communication. How do we communicate to others where Rakudo fits in their world so that they have a good framework for evaulating it? | ||
[Coke]: definitely! | 18:11 | ||
pmichaud | "However, Perl 6 has many features built-in that are currently external libraries to languages such as Perl 5, and in these areas Perl 6 implementations can be competitive." | ||
(could enumerate some of the features, such as full OO, grammars, gradual typing, signatures, etc.) | 18:12 | ||
japhb | pmichaud, updated with all but your last parenthetical comment | ||
pmichaud | "Many of the more egregious performance issues have been dealt with, and performance work in Rakudo continues at a steady pace." | 18:13 | |
perigrin | PerlJam: go look at my early blog posts about Moose. I focused less on the starup times and more on the expressivity of the code for *everyday* tasks | ||
pmichaud | something like that. | ||
18:13
spider-mario joined
|
|||
perigrin | and we reported the improvements we were seeing relative to Moose itself | 18:13 | |
japhb | pmichaud, I wondered whether to leave that sentence in at all ... I don't want to get back to having too much in the overview paragraph that it becomes TL;DR again. | ||
pmichaud | I'm fine with omitting it. | 18:14 | |
perigrin | people still trotted out benchmarks for Moose vs CAF or Class::AccessorXS or whatever | ||
pmichaud | from my perspective, the important aspects are: | ||
perigrin | and we pointed out what Moose was doing that XYZ comparison wasn't illustrating ... and worked on improving Moose in those cases. | ||
japhb | OK, just edited to make first sentence comma list more parallel. | ||
pmichaud | P6 implementations are still too slow for many common/traditional applications | ||
18:15
lichtkind left
|
|||
pmichaud | However, they can be faster in areas where p6 offers capabilities that are external libraries in other languages | 18:15 | |
PerlJam | perigrin: okay. I still think we need a good story about what they can expect from Rakudo. | ||
18:15
lichtkind_ joined
|
|||
pmichaud | We're working steadily on speed improvements; significant progress has been made here and we know more is coming | 18:15 | |
japhb | s/we know//? | ||
pmichaud | sure | 18:16 | |
japhb | OK, trying that edit, hold on a sec | ||
perigrin | PerlJam: sure, but tying that against something arbitrary is just doing the naysayer's work for them. | ||
what pmichaud just said is good | |||
pmichaud | also, p6 (the language) focuses on programmer productivity, expressivity, and learnability more than p5 does | 18:17 | |
perigrin | "We know we're slow for common things, but we have more baked in that other languages do, and we're working on the slowness" | ||
pmichaud | indeed, whenever p5 tries to improve those latter items in a general way, its speed approaches that of perl 6 :) | ||
perigrin | heh | ||
PerlJam | "we're working on the slowness" is an unsatisfying answer when I want to know can I use it to parse a file and make some substitutions. | 18:18 | |
perigrin | can someone coming from Perl5, Ruby, or python satisfyingly use it for that task? | ||
jnthn | dinner & | 18:19 | |
pmichaud | PerlJam: in some sense it depends on the kinds of substitutions you're wanting to make. | ||
18:19
not_gerd_ joined
|
|||
colomon | My impression is that memory usage may play a big role in the slowness? | 18:19 | |
japhb | Do I keep the stuff about the status of parallelism? | ||
pmichaud | japhb: I don't know to what degree parallelism should plan in the notion of 'ready'. | ||
timotimo | maybe the world would understand perl6 better if we had (and regularly looked after) some perl6.tumblr.com thing with animated gifs and texts | 18:20 | |
japhb | pmichaud, my *impression* is that several community members think so, but certainly not all. | ||
pmichaud | For some people, it's critical. For many people (like me), I've yet to make use of any sort of parallelism in Perl (5 or 6) because my applications have never needed it. | ||
PerlJam | timotimo: like this one: this-plt-life.tumblr.com/post/36425...-semantics | ||
? | |||
18:20
not_gerd left
|
|||
pmichaud | So, if we can only consider a language to be "ready" when it has parallelism built-in, then it needs to be there. If a language can be 'ready' without parallelism, then it may not need to be there. | 18:21 | |
In the 20+ years I've been doing Perl programming, I've never needed its threading features. | |||
PerlJam | pmichaud: whenever I've wanted parallelism in Perl 5, fork and POE and such have been "good enough" | ||
perigrin | you have however used fork I bet. | ||
timotimo | i don't understand why he's laughing his butt off, PerlJam | 18:22 | |
japhb | OK, gist updated. How does the Performance paragraph look now? | ||
pmichaud | perigrin: I have used "fork", but I don't consider that to be language-level parallelism :) | ||
diakopter | "However, they can be faster in areas where p6 offers capabilities that are external libraries in other languages" - which features/libraries? | ||
18:22
neilb_ joined
|
|||
PerlJam | timotimo: he's happy! :-) | 18:22 | |
pmichaud | colomon: yes, memory usage plays a big role in the slowness. I'm hoping jvm will help with that too. | 18:23 | |
18:23
not_gerd_ is now known as not_gerd
|
|||
colomon | pmichaud: me too. | 18:23 | |
pmichaud | japhb: I like this version a lot better. Thanks. | 18:24 | |
I have to run, alas -- bbl | |||
japhb | diakopter, perhaps we need a (separate) page that helps people understand that. | ||
not_gerd thinks it would help if someone actually tracked rakudo performance | |||
japhb | pmichaud, you're welcome. | ||
not_gerd | some of my project euler stuff has regressed since december | 18:25 | |
PerlJam | japhb++ btw | 18:26 | |
japhb | not_gerd, again, that's what I intended with perl6-bench -- it is able to check out, build, and perftest arbitrarily many versions of multiple implementations -- but I have not had tuits to really finish it up and get it to the arewefastyet.com level. | ||
PerlJam, thank you, I'm trying. :-) | |||
diakopter | japhb: I asked the question because I didn't know of any | 18:28 | |
PerlJam | .oO( isperl6readyyet.com would make a good name :) |
18:29 | |
huf | .oO( isperl6readyyetreadyyet.com ) |
||
japhb | diakopter, I *think* pmichaud was referring to Perl 5 there, where not just the OO, signatures, and type system, but even just the contents of List::Util etc. are all external libraries. | ||
PerlJam, I thought about that very thing last night. | |||
masak | or perl6please.com | ||
diakopter | japhb: right, I didn't know those were faster in p6 | 18:30 | |
huf | p6p? :) | ||
japhb | masak, that was indeed a good idea, but I think we still need an isperl6readyyet to give the overview, since html5please is more about rubber meeting road. | ||
not_gerd | .oO( p6pls, p6pies ) |
||
PerlJam | I prefer pecan pie myself. | 18:31 | |
japhb | diakopter, I don't want to speculate about performance I haven't personally tested. :-) | ||
not_gerd only trusts lies he tells himself | |||
japhb | .oO( Lies, Damn Lies, and The Lies I Tell Myself ) |
18:32 | |
jnthn, is the current wording in gist.github.com/japhb/c51ee251868680bd01aa acceptable to you as well? | 18:33 | ||
masak, as a matter of fact, I'd *personally* really like to use a perl6please.com, because I really hate running into gotchas. I'm not one that finds "working around my tools" to be all that fun. :-/ | 18:34 | ||
18:36
SamuraiJack_ left
|
|||
masak | *nod* | 18:36 | |
18:38
rindolf left
|
|||
[Coke] | "perl6's fine grained parallelism" - wozzat? | 18:39 | |
(last time I asked about the spec stuff for this, I got the impression it wasn't spec'd) | |||
timotimo | well, the rough ideas for how it may be implemented some time are there, kind of :P | ||
japhb | commute & # Will backlog in a bit; more comments welcome | 18:42 | |
18:42
spider-mario left
18:45
lichtkind_ is now known as lichtkin,
lichtkin is now known as lichtkind
|
|||
colomon | rn: say 1, { 1 / ((1 / $_) + 1) } ... 1/5).map({.perl}).join(', ') | 18:48 | |
p6eval | rakudo ce1827: OUTPUT«===SORRY!===Unexpected closing bracketat /tmp/_l036ZXKe9:1------> say 1, { 1 / ((1 / $_) + 1) } ... 1/5⏏).map({.perl}).join(', ')» | ||
..niecza v24-28-g2a7e0fd: OUTPUT«===SORRY!===Unexpected closing bracket at /tmp/pX9hCYmdLi line 1:------> say 1, { 1 / ((1 / $_) + 1) } ... 1/5⏏).map({.perl}).join(', ')Parse failed» | |||
18:48
spider-mario joined
|
|||
colomon | rn: say (1, { 1 / ((1 / $_) + 1) } ... 1/5).map({.perl}).join(', ') | 18:48 | |
p6eval | rakudo ce1827: OUTPUT«1, 0.5, 1/3, 0.25, 0.2» | ||
..niecza v24-28-g2a7e0fd: OUTPUT«1, 0.5, <1/3>, 0.25, 0.2» | |||
18:48
PacoAir left
18:51
PacoAir joined
|
|||
colomon | ah | 18:51 | |
moritz | rakudo doesn't auto-type stuff inside <...> yet | 18:52 | |
masak | rn: say (1, { 1 / ((1 / $_) + 1) } ... 1/5)».perl.join(', ') | 18:53 | |
p6eval | rakudo ce1827: OUTPUT«1, 0.5, 1/3, 0.25, 0.2» | ||
..niecza v24-28-g2a7e0fd: OUTPUT«1, 0.5, <1/3>, 0.25, 0.2» | |||
18:55
uvtc joined,
Moukeddar joined,
ObseLeTe joined
18:56
gdey joined,
Moukeddar left
|
|||
grondilu reads rosettacode.org/wiki/Category:Perl_6 | 18:57 | ||
nope, sorry | |||
grondilu was actualy talking about rosettacode.org/wiki/Include_a_file#Perl_6 | |||
is "macro include(AST $file) { slurp $file.eval }" really correct? | 18:58 | ||
moritz | no | ||
grondilu would have written: macro include(AST $file) { slurp($file).eval } | |||
moritz | at least I think not | 18:59 | |
after all $file is an AST | |||
that example treats it as a string (file name) | |||
grondilu | then macro include(AST $file) { $file.slurp.eval } | ||
? | |||
uvtc | Re. the start-up time issue, I think the need for fast start-up time is lessened by having a good repl. With Perl 5, new users would edit/run edit/run edit/run their script as they go. And a long start-up time would be a pain. But I can see using a P6 repl to try more things out interactively, with new users needing to repeatedly run their script less often than with P5. | 19:00 | |
Er, hope that sentence made sence. | 19:01 | ||
sense* | 19:02 | ||
moritz | it did | ||
but in my experience, new users often have a hard time trying out one concept in isolation | |||
colomon | but I'd argue that's only a very small lessening in the need for a fast start-up time | ||
not_gerd | grondilu: `slurp $file.eval` looks right to me | 19:03 | |
$file is an AST containing, say, a string literal | |||
calling eval gives you that string, calling slurp the file contents | |||
assuming the return value of the macro gets inserted textually if it's a string, it should work as advertized | 19:04 | ||
benabik | Scala uses a lot of tricks to get around their startup time for scripts: fsc is a daemon that sits in the background waiting for compile requests. The REPL will start it if it's not there, and I think it shuts down after inactivity. | ||
I suppose by "lots of", I mean "this one interesting one" | 19:05 | ||
uvtc | I think Clojure has something similar named "drip". (Have not tried it.) | 19:06 | |
masak | not_gerd: also assuming that AST objects have an .eval that does the corresponding thing to Str.eval | 19:08 | |
not_gerd: which is a fair assumption. but not (yet) spec'd. | |||
19:09
japhb_ joined
|
|||
moritz | but then it still returns whatever the .eval returns, not an AST | 19:09 | |
masak | grondilu: in Rakudo, any macro that doesn't return a quasi is suspect and probably wrong. | ||
moritz: oh, true. | |||
moritz | shouldn't it be something more like macro include($file) { quasi { {{{$file}}}.slurp.eval } } ? | 19:10 | |
masak tries to run that in his brain | |||
the inclusion would happen at runtime. | |||
19:10
denisboyun_ joined
|
|||
masak | which probably isn't what you want. | 19:11 | |
masak makes an attempt | |||
macro include($file) { my $contents = $file.eval.slurp; quasi { eval $contents } } | |||
note; two 'eval'. the first to eval the AST into a filename. the second to eval the included program. | 19:12 | ||
also, the first happens at macro application. the second happens at runtime. | |||
this also makes me wonder if we wouldn't like an "eval to AST" primitive. | |||
I already knew that we will want the "eval from AST" primitive. | 19:13 | ||
moritz | I even see use case for 3 stages | ||
timotimo | may i ask what, approximately, i have missed in the last ~4 days? | 19:14 | |
moritz | text -> ast -> code -> result | ||
not_gerd | masak: I assumed that returning $str from a macro would insert $str.to-ast | ||
masak | not_gerd: no, it's dirtier than that. | ||
not_gerd: it inserts the *text* into the program, and parses it in context. | |||
uvtc | masak: were you and alester working on an article/blog-post? I think it came up last week ... maybe I missed it? | ||
masak | uvtc: I was away last wekk. | 19:15 | |
moritz | timotimo: nqp on jvm is bootstrapped. We've been discussing how to communicate Perl 6's production readiness to a broader audience | ||
masak | uvtc: during which alester once again reminded me that he has not forgotten me. | ||
week* | |||
uvtc | Ah, ok, I didn't miss it then. Thanks. | ||
timotimo | moritz: a clue how far nqpjvm is from compiling a rakudo? | ||
masak | uvtc: I'm pretty busy with $work after being back. no time for Perl 6 until next week. | ||
ggoebel_ | jnthn: curious if you are running the jvm in client mode? faster startup and smaller memory footprint at the cost of less aggressive optimization | 19:20 | |
19:21
fhelmberger left
19:26
hash_table joined
|
|||
diakopter | ggoebel_: the java running on p6eval says "The default VM is client." | 19:27 | |
(and it's using default) | |||
19:29
hash_table left
19:38
ObseLeTe left,
Liz joined
19:39
Liz is now known as Guest4262
19:49
cognominal joined
|
|||
lichtkind | an alle die sich wunderten: ich meinte den traktor www.native-instruments.com/de/produ...tor-pro-2/ | 19:49 | |
19:49
benabik left
|
|||
not_gerd wundert sich | 19:50 | ||
masak | :) | ||
19:50
benabik joined
|
|||
moritz | nr: say ().pick.perl | 19:50 | |
p6eval | niecza v24-28-g2a7e0fd: OUTPUT«Any» | ||
..rakudo ce1827: OUTPUT«Nil» | |||
moritz | TimToady: under the new specs, what is the correct behavior? | ||
masak | did any of us ever draw the connection between generating uniformly random balanced-brackets strings, and uniformly random binary trees? en.wikipedia.org/wiki/Random_binary_tree | 19:51 | |
(yes, I'm thinking about balanced brackets again. it seems to be a recurring thing my brain does.) | |||
19:52
gdey left
|
|||
moritz | S02 says: «There is a special value named Nil. It means "there is no value here". It is the undefined equivalent of the empty () list, except that the latter is defined and means "there are 0 arguments here".» | 19:53 | |
however there was a commit "Simplify Nil semantics; never means () now" (48958abed853ecc0e2632e6f77beaf855a4afd72) | |||
moritz thoroughly confused | |||
masak | moritz: probably the S02 quote is fossilized. | 19:54 | |
moritz | that's very unfortunate, because it seems to be the most intuitive explanation of what Nil is supposed to mean | ||
masak | yeah, I'm not sure what Nil means anymore either. | ||
how does it differ, for example, from Mu? or Any? | 19:55 | ||
how does it differ from Failure? | |||
moritz | and are there instances of Nil? | ||
masak | no, it's singletonness probably hasn't changed. | 19:56 | |
nr: say Nil.new === Nil.new | |||
p6eval | niecza v24-28-g2a7e0fd: OUTPUT«Unhandled exception: No value for parameter '$l' in 'infix:<===>' at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<===> @ 1)  at /tmp/mb26DdPwUv line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 4274 (ANON @ 3)  at /home/p6e… | ||
..rakudo ce1827: OUTPUT«True» | |||
masak | heh. | ||
nr: say Nil.new === Nil | |||
p6eval | niecza v24-28-g2a7e0fd: OUTPUT«Unhandled exception: No value for parameter '$l' in 'infix:<===>' at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<===> @ 1)  at /tmp/2I8O4fzIGL line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4274 (ANON @ 3)  at /home/p6e… | ||
..rakudo ce1827: OUTPUT«True» | |||
moritz | it's Nil, there is no value here! | 19:57 | |
masak | :P | ||
moritz | on some level that is so consequent it's admiriable | ||
masak .oO( not even an empty list ) | |||
s/consequent/consistent/ # German false cognate? | 19:58 | ||
moritz | aye | ||
grondilu wonders if degenerate behavior could not fill an entire synopsis. | |||
masak | Swedish also. | ||
moritz | also | ||
masak | :P | ||
moritz | C<Nil.Stringy> and C<Nil.Str> fail with a resumable warning | ||
that returns a value of C<''> on resumption. | |||
is that a warn() or a fail() ? | |||
all warnings are resumable | 19:59 | ||
but warnings aren't returned | |||
benabik | warn() ; return '' # ? | ||
moritz | benabik: then it could just say "warns and returns ''" :-) | 20:00 | |
masak | masak's law of unintended consequences: For every DWIM you design into your language, there's at least one corresponding WAT. | 20:01 | |
moritz | masak++ | 20:02 | |
masak | the `perl -e 'print "Nancy" + 1'` on Twitter today made me think of this. | 20:03 | |
diakopter | eval print "Nancy" + 1 | ||
20:04
gdey joined
|
|||
masak | ?eval "Nancy" + 1 | 20:04 | |
moritz | p5eval_: "Nancy" + 1 | ||
masak | ENOBUUBOT | ||
moritz | p5eval_: eval "Nancy" + 1 | ||
20:04
gdey left
|
|||
masak | do it locally :) | 20:04 | |
benabik | perl v5.12.4: OUTPUT«nan» | 20:05 | |
masak | indeed. | ||
which makes a sick, nauseating kind of sense, I guess. | 20:06 | ||
moritz | nr: say "Inf" - 1 | ||
p6eval | rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«Inf» | ||
moritz | nr: say "Infamous" - 1 | ||
p6eval | rakudo ce1827: OUTPUT«Cannot convert string to number: trailing characters after number in 'Inf⏏amous' (indicated by ⏏) in method Numeric at src/gen/CORE.setting:10512 in sub infix:<-> at src/gen/CORE.setting:2842 in sub infix:<-> at src/gen/CORE.setting:2842 in block at /tmp/N… | ||
..niecza v24-28-g2a7e0fd: OUTPUT«Unhandled exception: Cannot parse number: Infamous at /home/p6eval/niecza/lib/CORE.setting line 1479 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3595 (ANON @ 10)  at /home/p6eval/niecza/lib/CORE.setting line 3597 (NumSyntax.str2num @ 5) … | |||
masak | \o/ | 20:07 | |
FROGGS | nr: say "Inf1" - 1 | ||
p6eval | niecza v24-28-g2a7e0fd: OUTPUT«Unhandled exception: Cannot parse number: Inf1 at /home/p6eval/niecza/lib/CORE.setting line 1479 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 3595 (ANON @ 10)  at /home/p6eval/niecza/lib/CORE.setting line 3597 (NumSyntax.str2num @ 5)  at… | ||
..rakudo ce1827: OUTPUT«Cannot convert string to number: trailing characters after number in 'Inf⏏1' (indicated by ⏏) in method Numeric at src/gen/CORE.setting:10512 in sub infix:<-> at src/gen/CORE.setting:2842 in sub infix:<-> at src/gen/CORE.setting:2842 in block at /tmp/DnPWU… | |||
FROGGS | k | ||
dalek | kudo/new-nil: af2e7e1 | moritz++ | src/core/Nil.pm: bring Nil more in line with newest spec |
20:08 | |
FROGGS | jnthn: what I dont understand about NQPRegex(HOW), I can make an object, bin an AST to $!do using a helper method, and can then call method ALT_NFAS | 20:10 | |
jnthn: but where is the code which calculates the NFA? | 20:11 | ||
jnthn | FROGGS: In NFA.pm | ||
FROGGS: Called by Cursor.pm | 20:12 | ||
moritz supresses the urge to answer to www.perlmonks.org/?node_id=1021888 with "There is a well-known solution in Perl 6". | 20:13 | ||
FROGGS | moritz: explain the solution so they may can adopt it | 20:15 | |
20:15
gdey joined,
not_gerd left
20:17
bluescreen100 joined
|
|||
FROGGS | jnthn: method !precompute_nfas()? | 20:17 | |
moritz | I don't think "introduce signatures/parameter lists in perl 5; implement a concise syntax for it; wait 8 years until your employer uses a new enough Perl; then use it" is a helpful answer to anybody in the thread | 20:18 | |
FROGGS | hehe, okay | ||
jnthn | FROGGS: That one triggers computing the at compile time so they get serialized, yes | 20:19 | |
masak | moritz: the art of knowing when "solved in Perl 6!" will be exciting to people, and when it comes off as taunting :P | ||
20:20
Guest4262 left
20:21
bluescreen10 left
|
|||
moritz | nr: say ({}()).perl | 20:21 | |
p6eval | niecza v24-28-g2a7e0fd: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Hash at /tmp/julBQwbdvT line 1 (mainline @ 8)  at /home/p6eval/niecza/lib/CORE.setting line 4274 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4275 (module-CORE @ 58… | ||
..rakudo ce1827: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Hash' in at src/gen/BOOTSTRAP.pm:895 in any at src/gen/BOOTSTRAP.pm:879 in block at /tmp/CfjZmFLGyQ:1» | |||
moritz | nr: say ({;}()).perl | ||
p6eval | rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«Nil» | ||
moritz | is the empty block still supposed to return Nil? | 20:22 | |
the spec patch only mentions that conditionals that don't execute any branches return () | |||
20:22
Liz_ joined
|
|||
moritz | nr: my $x = 0; say do { if $x { } }; | 20:22 | |
p6eval | rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«Nil» | ||
20:22
shinobicl joined
|
|||
moritz | for performance reasons, we should make () a singleton | 20:23 | |
at least for those empty branches codegen paths | 20:24 | ||
Parcels are immutable, so that should be OK | |||
nr: say () == () | |||
p6eval | rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«True» | ||
moritz | nr: say () === () | ||
p6eval | rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«False» | ||
20:29
Liz_ left
|
|||
masak | nr: say (1) === (1) | 20:29 | |
p6eval | rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«True» | ||
masak | oh wait | ||
nr: say (1,) === (1,) | |||
p6eval | rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«False» | ||
20:30
Liz_ joined
|
|||
dalek | p: 30d0f65 | (Arne Skjærholt)++ | src/6model/reprs/VMArray.c: Implement at_pos_boxed in VMArray. |
20:30 | |
20:37
Gwyxx joined
20:38
Liz_ left
20:39
zby_home_ left
|
|||
japhb_ | TimToady, re: irclog.perlgeek.de/perl6/2013-03-05#i_6552216 could you explain in a little more detail, or patch github.com/perl6/perl6-most-wanted appropriately? | 20:48 | |
20:55
kaare__ left
|
|||
shinobicl | Hi. What kind of errors are catched at compile time. Can i deduce that from the message error? | 20:56 | |
jnthn | Compile itme errors typically start with SORRY | ||
shinobicl | rakudo: Int $a = 'x'; | ||
p6eval | rakudo ce1827: OUTPUT«===SORRY!===Two terms in a rowat /tmp/nfg7kRfMjC:1------> Int ⏏$a = 'x'; expecting any of: postfix infix or meta-infix infix stopper statement end statement modifier stateme… | ||
jnthn | Like that :) | 20:57 | |
shinobicl | thanks :) | 20:58 | |
moritz | or you can catch the execptions (in case of doubt with 'try eval "..."'), and see if they conform to X::Comp | 21:02 | |
r: try eval '1 1'; say $! ~~ X::Comp; # two terms in a row | 21:03 | ||
p6eval | rakudo ce1827: OUTPUT«True» | ||
moritz | r: try eval 'die "runtime"'; say $! ~~ X::Comp; | ||
p6eval | rakudo ce1827: OUTPUT«False» | ||
moritz can't resist showing off | |||
dalek | ast: d869702 | (Solomon Foster)++ | S03-sequence/basic.t: Fix tests to conform to current Rat.perl. |
||
ast: dfcb7af | (Solomon Foster)++ | S05-metasyntax/litvar.t: Fudge for niecza. |
|||
japhb_ | moritz, you earned it. :-) | 21:04 | |
jnthn | r: sub foo(Int $x) { }; foo('oops') | ||
p6eval | rakudo ce1827: OUTPUT«===SORRY!===CHECK FAILED:Calling 'foo' will never work with argument types (str) (lines 1, 1) Expected: :(Int $x)» | ||
jnthn can show off too :P | |||
21:06
denisboyun__ joined
|
|||
japhb_ | r: ':16«f.8*:4[2]**:2<1*2**2>»/-:60[1,0]'.perl.say | 21:06 | |
p6eval | rakudo ce1827: OUTPUT«":16«f.8*:4[2]**:2<1*2**2>»/-:60[1,0]"» | ||
japhb_ | r: ':16«f.8*:4[2]**:2<1*2**2>»/-:60[1,0]'.Numeric.perl.say | ||
p6eval | rakudo ce1827: OUTPUT«-62/15» | ||
japhb_ | Beat that. ;-) | ||
21:06
denisboyun_ left
|
|||
shinobicl | what is X::Comp ? | 21:07 | |
moritz | shinobicl: doc.perl6.org/type/X::Comp | ||
pmichaud | oooh, moritz++ achieves the coveted double-show-off :) | 21:08 | |
X::Comp *and* perl6doc | |||
japhb_ | pmichaud, and he's *also* showing off one of mine as well. :-) (Though that happens to be not one of the best examples of it.) | 21:09 | |
pmichaud | japhb++ | ||
japhb_ | doc.perl6.org/images/type-graph-Real.svg has got to still be my favorite | 21:10 | |
dalek | c: 3118235 | moritz++ | lib/containers.pod: documentation on containers, assignment and binding |
21:11 | |
japhb_ | .oO( Whodathunkit? In between all the chatting, occasionally we produce some cool stuff. ) |
||
moritz | a terrifying thought :-) | 21:13 | |
colomon is building Rakudo on his new machine... | 21:17 | ||
21:18
takadonet left
21:19
clkao joined,
skids joined
|
|||
skids | o/ what did I miss? rakudo/jvm yet? | 21:19 | |
pmichaud wonders if he should write "The Soul of a New Virtual Machine".... | |||
uvtc | japhb_: Hm. No "Complex" in that svg diagram. | 21:20 | |
japhb_ | uvtc, that diagram is centered on Real | 21:21 | |
uvtc | Oops. Right. Just realized that. :) | ||
japhb_ | You may be thinking of doc.perl6.org/images/type-graph-Numeric.svg | ||
Which, come to think of it, is also a pretty good one. | 21:22 | ||
pmichaud | I like that one a bit better than the Real one :) | ||
japhb_ | Funny how I would optimize the SVG generator to work well for numeric types ... ;-) | ||
21:28
cognominal left
21:29
PacoAir left
|
|||
FROGGS | jnthn: gist.github.com/FROGGS/5094474 | 21:32 | |
nqp: gist.github.com/FROGGS/5094474 | 21:33 | ||
p6eval | nqp: OUTPUT«[ 1, 0 ]» | ||
FROGGS | \o/ | ||
diakopter | nqp-jvm: gist.github.com/FROGGS/5094474 | ||
p6eval | nqp-jvm: OUTPUT«Lexical 'self' not found in <anon> in <anon> in <anon> in eval in evalfiles in command_eval in command_line in MAIN in <anon> in <anon>» | ||
FROGGS | nqp: gist.github.com/FROGGS/5094474 | ||
p6eval | nqp: OUTPUT«[ 2, 0 ]» | ||
jnthn | :) | 21:34 | |
diakopter | dunno what nqp-jvm is doing.. | ||
21:34
denisboyun__ left,
cognominal joined
|
|||
FROGGS | jnthn: but local testing told me that it doesnt evaluate concats for example | 21:35 | |
if that true? | |||
jnthn | concat should work out fine | ||
21:36
skids left
|
|||
jnthn | NFA handles them...if it didn't a lot wouldn't work ;) | 21:36 | |
Got an exaple where it doesn't so as you expect? | |||
FROGGS | jnthn: ya, concats are working !! | 21:37 | |
maybe the ast was buggy or something | |||
jnthn | .oO( pain in the ast ) |
||
FROGGS | nqp: gist.github.com/FROGGS/5094474 | ||
p6eval | nqp: OUTPUT«[ 5, 3, 0 ]» | ||
FROGGS | jnthn: ohh yes | ||
21:38
thou left
|
|||
FROGGS | jnthn: "I" still have to do the hard work after getting the fates, right? | 21:38 | |
jnthn | FROGGS: yes | 21:40 | |
FROGGS | k | ||
jnthn | FROGGS: Though if you know one of them is a literal then you can just go and pick it as a result right off | ||
FROGGS | damn, I almost wanted to surrender that today | ||
jnthn | it's only if it's a regex object that you're interpolating that you gotta really run it and check out the cursor that comes back | 21:41 | |
FROGGS | ahh, of course, it has to match (sinced it matched already) | ||
dalek | ecza: 061b688 | (Solomon Foster)++ | test.pl: Fix tests to match current (std). |
||
jnthn | FROGGS: Well, you may well now be third most knowledgable person in the world on Rakudo's NFAs ;) | ||
FROGGS | *g* | 21:42 | |
pmichaud guesses he is the second. :) | |||
jnthn | pmichaud: I like to think you're the first given you designed the thing :P | ||
pmichaud is feeling the effects of perl6 tuit depravation. | |||
er, deprivation | |||
diakopter | ha! | ||
pmichaud | something like that. | 21:43 | |
jnthn | the *worst* thing about it all is that I spent, like, a few weeks looking at those things almost every day whlie doing the work to get NQP and Rakudo's grammar parsing using the LTM. | ||
diakopter | that made my day | ||
jnthn | by the end, I could read the NFAs by looking at the sequence of numbers they serialized too | ||
pmichaud | :) | ||
...and that's a bad thing? ;) | 21:44 | ||
jnthn | Worse, I started walking around town, seeing phone nmbers on buildings, and reading *those* as NFAs... | ||
pmichaud | oooh, that could be a Bad Thing. | ||
colomon 's new Linux box now has working Rakudo and Niecza installs | |||
pmichaud | OTOH, we now have a secret encryption code. | ||
colomon: faster? better? | |||
diakopter | colomon: is the fan loud? | ||
pmichaud | colomon: louder? :-) | ||
colomon | the fan is incredibly loud at startup | ||
jnthn | Yeah, then I got Rakudo/NQP to work nicely with them and didn't look too much until I had to port the NFA runner to the JVM :) | 21:45 | |
colomon | pmichaud: in this case, "better" would simply mean "does not shut down under a moderately heavy load". | ||
but it's got 32 gigs memory, which is 4x more than I've ever had on a machine before. | |||
japhb_ | colomon, thankfully super-quiet fans are often a cheap swap, assuming you have an open enough case and large enough fan holes. | 21:46 | |
colomon | japhb_: it's just at startup, it gets quiet in about two seconds. | ||
japhb_ | nod | ||
colomon | and it will live in the basement once I've got everything I need installed on it. | ||
japhb_ | heh | ||
FROGGS | jnthn: I know what you mean, I sometimes have these "visual experiences" when walking outside in rl | 21:47 | |
colomon | I'm actually installing stuff using a SSH shell from my MBP anyway. :) | ||
FROGGS | not NFA sequences though | ||
japhb_ | .oO( Yes, I have noise-dampening insulation for my computer. It's called "Two floors, three doors and a half a foot of fiberglass insulation and sheetrock between us." |
||
21:47
benabik left
|
|||
masak | jnthn: I once got so into an abstract board game that when I closed my eyes, I saw the board. when I crossed the street, I saw the board. when I watched football, I saw the board. | 21:48 | |
FROGGS | It's is like "ohh, there might be treasure" when walking through a park, after playing diable II too long | 21:49 | |
*diablo | |||
masak | yeah. | ||
FROGGS | *g* | ||
japhb_ | .oO( My brain is my ARG. ) |
||
jnthn | masak: Did you get board of that after a while? | 21:50 | |
FROGGS remembers that quake video .oO( I've got no feet, I've got no feet! ) | |||
haha | |||
jnthn++ | |||
can you board that to jvm too? | 21:51 | ||
masak | jnthn: no. it's still my favorite game :) | ||
jnthn: the "minimax principle" is still one of the most beautiful, zen pieces of strategy I know of. | |||
it goes something like "if you attack as strongly as possible, you lose. if you attack as weakly as possible (but no weaker), you may win." | 21:52 | ||
21:54
benabik joined
|
|||
FROGGS | gnight fellows | 21:57 | |
21:57
FROGGS left
21:58
bluescreen__ joined
21:59
bluescreen100 left
|
|||
colomon | right, panda broken | 22:02 | |
22:03
lustlife left
22:04
Chillance left
22:06
shinobicl left
22:07
spider-mario left
|
|||
colomon | has anyone made progress figuring out the panda bug? | 22:07 | |
benabik | Not enough bamboo? | 22:08 | |
22:10
SmokeMachine left
22:11
bluescreen100 joined
|
|||
TimToady | arguably ().roll should be Nil, but ().pick is more problematic, since pick has semantics that terminate when you run out of values, so this could just be a degenerate case of asking for 1 when there are only 0 elements | 22:14 | |
22:14
donaldh joined,
bluescreen__ left
|
|||
benabik | r: (1,2,3).pick(4) | 22:15 | |
TimToady | however, returning () is probably okay for that, since if you actually try to use it for a real value, you'll end up with Nil anyway | ||
p6eval | rakudo ce1827: ( no output ) | ||
benabik | r: say (1,2,3).pick(4) | ||
p6eval | rakudo ce1827: OUTPUT«2 3 1» | ||
TimToady | yeah, that | ||
or we could special case .pick to be more magical than .pick(1) | |||
if .pick just calls .roll instead, for instance, then it would automatically produce a Nil | 22:16 | ||
doesn't matter much one way or the other | |||
as for what distinguished Nil from, say, Mu...well, $x ~~ Mu is always true, and $x ~~ Nil is always false | |||
Nil is closer to a bottom type than a top type | 22:17 | ||
*guishes | |||
masak | makes sense. | ||
japhb_ | TimToady, I assume you except Mu and Nil themselves from those smartmatches? | 22:18 | |
TimToady | Nil is specially excepted like Match, True, and False | 22:19 | |
Mu just naturally matches anything | |||
and a few things that aren't Any too :) | |||
std: 42 ~~ Nil | |||
p6eval | std 692eb4f: OUTPUT«Potential difficulties: Smartmatch against Nil always fails; perhaps you should use * === Nil or :!defined instead at /tmp/bHhspVEVOF line 1:------> 42 ~~⏏ Nilok 00:00 42m» | ||
japhb_ | std: Mu ~~ Nil | 22:20 | |
p6eval | std 692eb4f: OUTPUT«Potential difficulties: Smartmatch against Nil always fails; perhaps you should use * === Nil or :!defined instead at /tmp/THaDNnRzvI line 1:------> Mu ~~⏏ Nilok 00:00 42m» | ||
japhb_ | std: Nil ~~ Mu | ||
p6eval | std 692eb4f: OUTPUT«ok 00:00 42m» | ||
japhb_ | r: say so Nil ~~ Mu | 22:21 | |
TimToady | smartmatch hasn't been symmetrical for years and years | ||
p6eval | rakudo ce1827: OUTPUT«True» | ||
japhb_ | r: say so Mu ~~ Nil | ||
p6eval | rakudo ce1827: OUTPUT«False» | ||
uvtc | asymart-match | ||
japhb_ | TimToady, I know. I was curious what STD had to say about that case. | ||
TimToady | r: say so Nil ~~ Nil | ||
p6eval | rakudo ce1827: OUTPUT«True» | ||
TimToady | that's a bu | ||
*ug | |||
(by new spec) | |||
that's is, it only became a bug recently... | 22:22 | ||
japhb_ | .oO( Running out of bugs? I WILL MAKE MORE. ) |
||
benabik | moritz++ fixed that particular one on new-nil branch. | 22:23 | |
diakopter | nwc10: heh, new java release | ||
22:25
uvtc left
22:38
toebu left
|
|||
donaldh | jnthn: in nqp-jvm are 4 protoregex tests expected to fail? | 22:44 | |
jnthn | donaldh: No, but under what target? | 22:45 | |
selftest? | |||
donaldh | Yes | ||
jnthn | selftest was clean for me, last I knew | ||
donaldh | Okay, I'll debug. I'm on MacOS | 22:46 | |
jnthn | how do they fail, ooc? | ||
donaldh | jnthn: not ok 3 - successful protoregex match | 22:51 | |
3,4,6,7 | |||
jnthn | hm | 22:53 | |
I remember fixing that | |||
donaldh | $<symbols> appears to be an empty string | 22:54 | |
jnthn | github.com/jnthn/nqp-jvm-prep/comm...85e1b4b88e | ||
that was the commit that fixed it | |||
It's possible something regressed since, but I'm surprised I didn't see it. | 22:55 | ||
22:56
crab2313 left
|
|||
donaldh | ah, I'm based off ce3ee72 | 22:56 | |
I thought I'd fetched the latest. My mistake. | |||
22:58
cognominal left
|
|||
jnthn | Hm. Seems the whole evening disappeared prepping for tomorrow's teaching... | 23:02 | |
ah well...sleep time | |||
'night o/ | |||
diakopter | o/ | ||
23:03
cognominal joined
23:11
benabik left
23:12
donaldh left
|
|||
masak | 'night, #perl6 | 23:15 | |
diakopter | o/ | ||
23:27
skids joined
23:31
exodist_ left
23:33
bluescreen100 left
23:40
neilb_ left
23:46
Exodist joined
|