»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:08
wk_ left
00:09
adu_ left
|
|||
raiph | gist.github.com/raiph/5079034 # Covering gap in #perl6 IRC log 3/2/2013 noon thru 3/3/2013 7am | 00:17 | |
diakopter | _ilbot: welcome back! | ||
raiph | er, did timestamps timezone change? anyhoo, covering the gap, whatever it was! | 00:18 | |
heh. was that welcome back addressed to me? like i'm the backup logging bot? :O | 00:21 | ||
diakopter | XD | ||
00:22
Vlavv_ joined
00:23
adu_ joined
00:26
adu_ left
|
|||
labster | hey, how do I get p6eval to run a gist? | 00:35 | |
This is currently not working for me: gist.github.com/labster/5079077 | |||
geekosaur | how "not working"? | 00:38 | |
nr: gist.github.com/labster/5079077 | 00:39 | ||
p6eval | rakudo 87ad7c: OUTPUT«===SORRY!===Undeclared routine: bar used at line 7. Did you mean '&bag'?» | ||
..niecza v24-26-g713c785: OUTPUT«Potential difficulties: &foo is declared but not used at /tmp/XXMBNk_5Ix line 3:------> sub foo ⏏{» | |||
geekosaur | huh | ||
labster | niecza is okay... but bar is declared in the first line | ||
geekosaur | paging rakudo experts... | ||
labster | if I add a semicolon after the function, it works. | ||
diakopter | ah yes. known bug. | 00:40 | |
labster | oh well, extra semicolons for me. ;) | 00:41 | |
00:43
quester joined
|
|||
geekosaur wondered if it was that but did not know if it was fixed or not... | 00:46 | ||
sorear | which bug is it? | 00:47 | |
oh, it's stuck in infix mode after the sub, so it's parsed as (sub ...) % bar(...) | 00:48 | ||
00:55
anuby joined
01:17
hypolin joined
01:26
rgc` left
|
|||
diakopter | r: sub { } ~~ sub { } | 01:35 | |
p6eval | rakudo 87ad7c: ( no output ) | ||
diakopter | n: sub { } ~~ sub { } | 01:36 | |
p6eval | niecza v24-26-g713c785: OUTPUT«===SORRY!===Expecting a term, but found either infix ~~ or redundant prefix ~ (to suppress this message, please use space between ~ ~) at /tmp/bbpc7OIKsr line 2:------> ~~⏏ sub { }Parse failed»… | ||
01:40
census left
01:46
Eddward joined
01:48
dayangkun joined
01:54
daudibaldr joined
02:07
daudibaldr left
02:11
daudibaldr joined
02:17
am0c left
02:24
sqirrel_ joined
02:28
sqirrel__ left
02:33
lustlife joined
02:45
ggoebel_ left
03:16
orafu left
03:17
orafu joined
03:36
quester left
04:01
kaleem joined
04:34
odoacre_ is now known as odoacre
04:35
Tedd1^ joined
04:38
Tedd1 left
04:44
daudibaldr left
04:46
dayangkun left
04:53
xilo_ left
04:57
preflex left
04:58
xinming_ left
04:59
census joined,
preflex joined
05:00
xinming joined
05:07
hypolin left,
ElDiabolo joined
05:12
REPLeffect joined,
ElDiabolo left
05:24
hypolin joined
05:28
sevin left
05:32
census_ joined,
census left
05:33
census_ left,
census joined
|
|||
census | Oy . . I got disconnected . .. | 05:33 | |
As soon as I posted that link too. | 05:34 | ||
sorry | |||
Oops. | |||
05:35
hypolin left
|
|||
sorear | ? | 05:38 | |
05:44
dayangkun joined
05:47
hypolin joined
|
|||
grondilu | r: say 1 + my $x = 2 | 05:49 | |
p6eval | rakudo 87ad7c: OUTPUT«3» | ||
TimToady | initialization attaches to the declarator tighter than normal assignment | ||
phenny | TimToady: 03 Mar 08:18Z <FROGGS> tell TimToady see gist.github.com/FROGGS/281ee5b2ed5563b5ccb6 | ||
TimToady | that's one reason we call it pseudoassigment | ||
it's one of those precedence dropper things kinda like $ in Haskell | 05:50 | ||
or like any listop | |||
grondilu | yeah that's fine, but I got a suprised when I tried to write this in perl5. | 05:51 | |
TimToady | though it's only dropping precedence here enough to get things up to the next comma | ||
yes, P5 has a different idea about that | |||
grondilu | it's very intuitive in perl6, but a bit silly in perl5, imho. | ||
TimToady | well, p5 didn't not have a well-thought-out sense of the notion of declarators | 05:52 | |
or even of declarations, for that matter | 05:53 | ||
but if I hadn't misdesigned Perl's 1-5 I would never have had the opportunity to design Perl 6, so I can't speak too ill of it. :) | 05:55 | ||
grondilu | indeed | 05:58 | |
06:00
dayangkun left
|
|||
diakopter | programming language with emoji as the character set | 06:28 | |
06:45
Eddward left
06:50
drKreso joined
06:55
anuby left
07:02
wk joined
07:09
Khisanth left,
xinming left
07:11
xinming joined
07:14
sqirrel_ left,
sqirrel joined
07:21
sftp left
07:22
sftp joined
07:40
ElDiabolo joined
07:41
ObseLeTe joined
07:45
FROGGS joined
07:46
SamuraiJack joined
08:02
ElDiabolo left
08:06
Rix joined
08:21
ObseLeTe left
08:31
anuby joined
08:36
drKreso left
08:38
daxim joined
08:50
ElDiabolo joined
|
|||
masak | goooood morning, #perl6etnam! | 08:55 | |
census | good morning!!!! :) | 08:56 | |
all quiet in #perl6 these last few hours :( | |||
08:56
ObseLeTe joined
|
|||
masak | early in Europe; late in the States. :) | 08:57 | |
09:01
Khisanth joined
|
|||
masak | r: sub hms($_) { sprintf "%02d:%02d:%02d", .hour, .minute, .second }; say hms(DateTime.now) | 09:03 | |
p6eval | rakudo 87ad7c: OUTPUT«10:03:05» | ||
masak | r: sub hms($_) { sprintf "%02d:%02d:%02d", .hour, .minute, .second }; say hms(DateTime.now(:timezone(-9))) | ||
p6eval | rakudo 87ad7c: OUTPUT«09:03:12» | ||
masak submits rakudobug | |||
oh! | |||
I'm assuming timezone is hours, but it's something else, right? :) | 09:04 | ||
masak reads S32/Temporal | 09:05 | ||
09:05
kresike joined
|
|||
kresike | hello all you happy perl6 people | 09:05 | |
masak | kresike! \o/ | 09:06 | |
tadzik | hey hey hey | 09:07 | |
kresike | masak, tadzik o/ | ||
daxim | is there a 3d model of camelia? | ||
masak | "C<:timezone> is a callable object that takes a C<DateTime> to convert and a C<Bool> that specifies the direction of the conversion: to UTC if true, from UTC if false." | ||
two things. first: huh? | |||
09:07
Guest43330 joined
|
|||
masak | second: does this feel like a poor man's enum to someone else? | 09:07 | |
the C<Bool> thing. | |||
09:08
Guest43330 is now known as curtispoe
|
|||
moritz | we already have a fitting enum, no? | 09:09 | |
nr: say 'a' cmp 'b' | |||
p6eval | rakudo 87ad7c, niecza v24-26-g713c785: OUTPUT«Increase» | ||
masak | r: sub hms($_) { sprintf "%02d:%02d:%02d", .hour, .minute, .second }; say hms(DateTime.now(:timezone<-0900>)) | ||
p6eval | rakudo 87ad7c: OUTPUT«08:54:34» | ||
masak | clearly this is wrong. | ||
arnsholt | masak: Wat? That sounds really weird | ||
moritz | but yes, "huh" is a good summary | ||
masak | it's not 08:54 on the west coast of the US right now. | 09:10 | |
so the rakudobug stands. | |||
sorear | I can confirm that :D | ||
masak | I'd also venture to suggest that :timezone(-9) should be forbidden as a format. | ||
sorear | o/ masak | ||
masak | it should be a string, and it should be "+nnnn", "-nnnn", or "Z". | ||
sorear: \o | |||
so nice to be back :) | 09:11 | ||
sorear | also, it's -0800, not -0900 | ||
arnsholt | Heh, true | ||
sorear | summer time doesn't start for another week or so | ||
masak | sorear: oh! | ||
my point still stands, though. :) | |||
arnsholt | It is -9 from CET though =D | ||
sorear | or is summer time -0700, I forget | ||
masak | yes, should be. | ||
sorear | stupid timezones, can't we all just use UTC | 09:12 | |
masak | arnsholt: ah, that's it :) | ||
arnsholt | Summer time in a week sounds really weird, though. We've still got loads of snow =) | ||
sorear | especially these confusing discontinuous non-invertable timezones | ||
moritz | arnsholt: it's melting fast here :-) | 09:13 | |
sorear | it is _wrong_ for a single yyyy mm dd hh mm ss to correspond to any number other than 1 of physical instants | ||
moritz | how long is a physical instant? :-) | ||
masak | arnsholt: www.africafornorway.no/ | ||
sorear | (also, here at 32 north and << 1km altitude, ... I have never seen snowfall in my life) | 09:14 | |
masak | sorear: wow. | ||
arnsholt | Heh. I'm at almost 60 degrees north and sea level | 09:15 | |
huf | -0900 doesnt specify the timezone though... | ||
masak | moritz: no, Increase is not fitting, because this enum is meant to convey "from UTC" or "to UTC", ether of which may be either increasing or decreasing depending on which side of Greenwich you happen to be. | 09:16 | |
huf: troo, should be named :offset | |||
bozhe moy, time is difficult! | |||
huf | masak: it's not a particularly useful thing to construct a timezone from due to dst rules. | ||
sorear | and if you're around UTC-1200 or UTC+1200, it can flip by 24h depending on the whims of local politicians | ||
masak | huf: cf discussion on how much logic to include in S32/Temporal. | 09:17 | |
huf: I'm fine with someone adding all the world's timezone handling in there. that person should volunteer to do the work, though. and to maintain it. | |||
sorear | masak: we can outsource the ongoing data collection process - just need to make it read zoneinfo files | 09:18 | |
masak | that's good news. | ||
the syncing needs to be part of the release process, just like leap seconds are. | |||
actually, this feels like one of those changes that should be prototyped in Rakudo/Niecza before going into spec. | 09:19 | ||
09:27
fhelmberger joined
09:28
ElDiabolo left
09:29
dakkar joined
09:32
Vlavv_ left
|
|||
masak | I also submat a specbug for the "poor man's enum" thing. | 09:35 | |
moritz | it feels to me like the timezone data stuff belongs into a module, not the language | ||
you don't generally want to upgrade to a newer compiler release just to get the updated timezone data | |||
nwc10 | agree. How would you like it if you needed to upgrade from (say) Python 2.7 to Python 3.3 to get bug fixes to your timezone data? | 09:36 | |
(note, I do not specifically know if Python ships *timezone* data. But I believe that it does ship some data in core, that goes stale, and has no "dual life" way to be updates) | 09:37 | ||
masak | agree. | 09:38 | |
moritz | (and iirc that was the result from previous discussions on the topic as well) | 09:39 | |
and maybe the "timezone as a callback" thing was to actually make that possible | 09:40 | ||
not sure if it's the best way, but it doesn't seem implausible in this context | |||
09:50
benabik joined
|
|||
masak | I haven't gone back and git-blame'd. | 09:52 | |
I should really be doing $dayjob now. :) | |||
moritz | have the appropriate amount of fun :-) | 09:54 | |
10:02
odoacre left
10:03
hypolin left
10:05
anuby left,
odoacre joined
|
|||
masak will :) | 10:06 | ||
10:08
census left
|
|||
moritz had a major release/rollout at $work yesterday, and is now fixing the fallout | 10:11 | ||
so far not nearly as much as I feared | |||
though we had some weird problems during the release itself, which required some nasty hotfixes | |||
masak | anything that can be mitigated/prevented in the future? | 10:12 | |
moritz | and none of us (2 programmers, one admin) understands what was wrong, nor why it doesn't happen in the staging environment | ||
masak: hard to tell | |||
it's web server code run as fastcgi | 10:13 | ||
and it created an LWP::UserAgent in the mainline of the module, and used it in a sub | |||
worked fine in dev | |||
worked fine in staging | |||
blew up in prod with a *very* weird error message ('syntax error in eval 123 line 1, near "="') | 10:14 | ||
and the line that blew up was $UA->request($http_request_object) | |||
and all attempts to get a backtrace (with SIG{__DIE__} = \&Carp::confess, and Carp::Always) failed | |||
I "fixed" it by moving the creation of the UA into the sub itself | 10:15 | ||
which was more on a hunch than understanding what went on | |||
and after 2 hours of futile debugging | |||
masak | weird :/ | 10:16 | |
10:17
sqirrel left
10:18
trexy left
|
|||
FROGGS .oO( use Switch; ? ) | 10:19 | ||
moritz | FROGGS: no | 10:20 | |
FROGGS | I hope nobody does that in production | 10:21 | |
moritz | we use perl 5.14 in production, no need for 'use Switch;' :-) | ||
FROGGS | that's sane :o) | 10:23 | |
Juerd | I'll use 5.14 in production when Debian stable has it. | 10:24 | |
Had to un-smartmatch some code recently. Not a pretty sight. | 10:25 | ||
FROGGS | well, we have a 5.14 too, but we are basically using 5.10 features only | 10:26 | |
moritz | Juerd: we're using wheezy in production right now :-) | 10:27 | |
FROGGS | given/when at some places, but not smart matching for example | ||
moritz | FROGGS: 'when' does smart matching | ||
FROGGS | (ubuntu 12.04 LTS) | ||
10:40
ObseLeTe left,
breinbaa1 left
10:42
breinbaas joined
10:46
labster left,
kaleem left
10:47
ObseLeTe joined
10:56
grondilu left
10:59
ObseLeTe left
11:12
grondilu joined
11:17
woosley1 joined
11:33
Vlavv_ joined
|
|||
daxim | is there a 3d model of camelia? # warnocked earlier today | 11:57 | |
masak | not that I know. | 12:01 | |
butterflies are 2d, right? :P | |||
Ulti | we need a perl6 phone OS with camelia fluttering as the boot loader animation | 12:05 | |
masak .oO( we need working DESTROY submethods before we get a Perl 6 phone OS ) | 12:26 | ||
moritz | otherwise we can't remotely destroy the phones? :-) | 12:28 | |
masak | very important. | 12:31 | |
in the Bad Singularity scenarios, mobile phones are the first devices to turn against their masters. | 12:32 | ||
moritz | it's already happening, if you believe disgruntled users :-) | ||
masak .oO( the Singularity is already here, it's just unevenly distributed ) | 12:33 | ||
daxim | its habbening | 12:34 | |
12:37
kaleem joined
|
|||
arnsholt | Have we accumulated some kind of JAP6H list yet? | 12:38 | |
masak | not that I know. | 12:40 | |
oh! I vaguely remember something from the Pugs days. | |||
r: say "Just another Perl 6 hacker" | |||
p6eval | rakudo 87ad7c: OUTPUT«Just another Perl 6 hacker» | ||
arnsholt | Heh, there's always that one | 12:41 | |
Or "Just another Perl 6 hacker".say | |||
masak | r: say flip "rekcah 6 lreP rehtona tsuJ" | ||
p6eval | rakudo 87ad7c: OUTPUT«Just another Perl 6 hacker» | ||
moritz registers his starry obfu | 12:44 | ||
arnsholt | r: role W[$s] { method q { say $s; nextsame } }; ([but] class {}, W["hacker"], W["Perl6"], W["another"], W["Just"]).q | 12:45 | |
p6eval | rakudo 87ad7c: OUTPUT«JustanotherPerl6hacker» | ||
arnsholt | That's my current sigline (stolen from masak++), but it's a bit long and I'm looking for something new =) | ||
FROGGS | I was thinking about grammar actions acting on a character range as input... maybe will do that today | 12:46 | |
moritz | r: role W[$s] { method q { say $s; nextsame } }; ([but] {}, W["hacker"], W["Perl6"], W["another"], W["Just"]).q | ||
p6eval | rakudo 87ad7c: OUTPUT«JustanotherPerl6hacker» | ||
moritz | arnsholt: the 'class' is redundant | 12:47 | |
arnsholt | Ooh, neat | 12:48 | |
12:50
pmurias joined
|
|||
grondilu | r: say 3.14.WHAT | 12:58 | |
p6eval | rakudo 87ad7c: OUTPUT«(Rat)» | ||
grondilu | r: say <1/3>.WHAT | ||
p6eval | rakudo 87ad7c: OUTPUT«(Str)» | ||
grondilu | ,: say <1/3>.WHAT | ||
n: say <1/3>.WHAT | |||
p6eval | niecza v24-26-g713c785: OUTPUT«(Rat)» | ||
grondilu | btw what's with these parenthesis? | 12:59 | |
rn: say 1.WHAT | |||
p6eval | rakudo 87ad7c, niecza v24-26-g713c785: OUTPUT«(Int)» | ||
grondilu | rn: say Int.WHAT | ||
p6eval | rakudo 87ad7c, niecza v24-26-g713c785: OUTPUT«(Int)» | ||
masak | yeah, WHAT's up with that? :) | ||
did you do something while I was away? :P | |||
FROGGS | grondilu: that's how type objects are displayed now | 13:00 | |
masak haven't backlogged properly yet | |||
hasn't* | |||
grondilu | FROGGS: ok. | ||
moritz was just about to comment that he appreciates masak's use of the plural for his clone conglommerate | |||
masak had the same thought! | |||
clonal "we". | |||
13:04
not_gerd joined
|
|||
not_gerd | o/ | 13:04 | |
grondilu | r: say 3e-4 * 150e6 | 13:05 | |
p6eval | rakudo 87ad7c: OUTPUT«45000» | ||
masak | not_gerd! \o/ | ||
not_gerd | [Coke]: did you figure out your NQP build failures | ||
not_gerd suspects rurban's path cleanups are to blame | 13:06 | ||
as nqp doesn't come with -L or -X options, you might need to nuke your installation if you want to reuse a --prefix | 13:07 | ||
13:08
rindolf joined
13:11
ggoebel_ joined
|
|||
not_gerd | I also wrote some code to pretty-print .perl output: gist.github.com/gerdr/5082124 | 13:11 | |
not wuite sure if the quoting stuff is right, but works for my use case | 13:12 | ||
13:13
toebu left,
dayangkun joined,
sqirrel joined,
toebu joined
|
|||
FROGGS | not_gerd: .perl for arrays and the like? | 13:14 | |
not_gerd | phenny: tell Rotwang if you're still looking for a way to pretty-print .perl output, here's what I'm using: gist.github.com/gerdr/5082124 | ||
phenny | not_gerd: I'll pass that on when Rotwang is around. | ||
not_gerd | FROGGS: I use it to output an AST with custom classes for nodes | 13:15 | |
it's rather dumb - just looks for parens, double quotes and commas | |||
FROGGS | ahh, okay | 13:16 | |
13:22
woosley1 left
13:24
Rix left
13:26
SamuraiJack left
13:28
Rix joined
|
|||
not_gerd | is there a reason why there are .hash and .Array methods, but not .array or .Hash? | 13:29 | |
[Coke] | not_gerd: I did not figure out my failures, no. only happens with rakudo-using nqp (which is targetting a specific install dir, yes), not standalone nqp. | 13:30 | |
clkao | win 44 | 13:34 | |
13:34
daniel-s left
|
|||
not_gerd | [Coke]: my guess is that after rurban's lib dir cleanups, the nqp frontend needs the equivalent of parrot's -L and -X flags | 13:35 | |
workaround is to just nuke the install dir | |||
13:37
daniel-s joined
13:44
SmokeMachine joined
|
|||
[Coke] | ... that's horrible. | 13:47 | |
(I'm trying to replace the install dir. but if it fails, I want the old one to still exist so I can keep using it. ;) | |||
I will try it out, though, thanks. | |||
diakopter | rename install temporarily? | ||
arnsholt | [Coke]: mv install/ install.bak I guess? | ||
diakopter | (or copy) | 13:48 | |
[Coke] | yes. that still breaks "perl6 foo" while I'm building. | ||
13:49
bapa joined
13:53
census joined
|
|||
pmichaud | good morning, #perl6 | 13:57 | |
colomon | \o | ||
[Coke] | morning, pmichaud | 13:58 | |
13:59
slavik1 left,
Eddward joined
|
|||
moritz | good am, pm | 14:00 | |
masak | pmichaud! \o/ | ||
14:04
drKreso joined
14:05
bapa left
|
|||
[Coke] | not_gerd: I'm into the building rakudo stage, so I think I've already gotten further than before. danke. | 14:06 | |
wonder why it's only showing up now. (looks like rakudo pick an nqp that picked a parrot of 4.10) | |||
not_gerd++ | 14:09 | ||
14:11
PacoAir joined
|
|||
masak finds www.dagolden.com/index.php/1913/is-...-not-done/ | 14:13 | ||
[Coke] | Whoa! we've been working on this since 1913?? | 14:15 | |
14:15
slavik1 joined
|
|||
diakopter | [Coke]: at least.. | 14:15 | |
masak | "We won't know if Perl 6 is pointless until we have it" -- then please download it and try it. | ||
14:15
bapa joined
14:16
bapa left
|
|||
masak | though, noted, he says in an update he means "production-ready Perl 6". | 14:16 | |
thing is, we *need* people who are prepared to download and try Perl 6 before it's production-ready. | |||
the polish comes from sandpapering against willing early adopters. | 14:17 | ||
colomon | yes | 14:18 | |
nwc10 | to the pain! | ||
14:19
slavik1 left
14:20
drKreso left
|
|||
masak | the comments on that article are insightful, on topic, and interesting. | 14:22 | |
14:22
slavik1 joined
|
|||
moritz | aye | 14:24 | |
14:25
Patterner left
|
|||
moritz | for the record: I *want* Perl 6 to be a successor to Perl 5. I just don't say it out loud usually, because then people will think Perl 6 is a natural succession to Perl 5, which it is not. | 14:25 | |
s/a successor/the successor/ | |||
and I don't see much hope for it being the natural upgrade path | 14:26 | ||
but I'd still very much like it if were the case | |||
14:26
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
hoelzro | I think Perl 6 has a bit of a chicken and egg issue | 14:27 | |
FROGGS | so let's chicken! | 14:28 | |
moritz | let's egg! | ||
FROGGS | :o) | ||
nwc10 | Perl 5 is never going to have performant concurrency | ||
and it's never going to do Unicode at the grapheme level well | |||
14:29
kaare__ joined
|
|||
moritz | s/at the grapheme// | 14:29 | |
pmichaud | From the comments: "There is intentionally not a drive to ship." WTF? | ||
FROGGS | right, you cant fix everything without braking something | ||
nwc10 | you can ship too early if you want | ||
Parrot did that | |||
moritz | yes, it has awesome Unicode support, iff you are able to keep track of which strings are, well, strings, and which are buffers | ||
nwc10 | moritz: tchrist's talk at OSCON suggested that Perl 5 actually did Unicode quite a bit better than most other things | 14:30 | |
moritz | which means, in reality, usually not | ||
nwc10: yes, see my "iff..." | |||
nwc10 | aha yes righto | ||
14:30
bapa joined
|
|||
colomon | pmichaud: I interpreted that as meaning we're not setting deadlines, etc. | 14:30 | |
pmichaud | colomon: deadlines for what, though? | 14:31 | |
nwc10 | anyway, assuming that both those features become progressively more important to progressively more people | ||
then there's more pull to Perl 6 from Perl 5 | |||
colomon | pmichaud: that magic moment when p6 replaces p5. Or something. | ||
FROGGS | agenda 2020? | ||
I dont wanna replace perl 5 | |||
and dont wanna have it replaced | 14:32 | ||
colomon | pmichaud: my take is that we're actually about six months out from being really useful. probably still years out from replacing perl 5, if that ever happens. | ||
pmichaud | colomon: it's the "or something" part that bugs me. Lots of people say "they don't set targets" but then leave the "target" aspect vague and unspecified. | ||
nwc10 | FROGGS: it's open source. No-one can prevent you from using it | ||
but you may get to the point where no-one wants to keep supporting it | |||
colomon | pmichaud: but p5 guys are (probably rightly given the history) skeptical, so I reckon the best thing to do is shut up and work towards an awesome p6. | 14:33 | |
FROGGS | nwc10: right, and even in 10 years might be cases were perl 5 fits a special need better then perl 6 or something else | ||
nwc10 | much like no-one can stop anyone from using Python 2.7 forever | ||
but the core Python devs might have given up fixing it 10 years from now | |||
heck, people can still use Perl 4 if they want | |||
FROGGS | that's evolution, and that will happen to perl 5 too | ||
nwc10 | I have a copy on my mac | ||
colomon doesn't mean "rightly", he means "justifiably" -- p6 has taken way too long. | 14:34 | ||
FROGGS | IMO it is just to late to do the right marketing | ||
colomon also didn't mean for pmichaud in particular to shut up and work, but for colomon to shut up and all of u to work. | |||
*us | |||
pmichaud | colomon: I just wish there was some clarity on what is meant by "production ready". | 14:35 | |
nwc10 | has it? PyPy is 10 | ||
Rakudo's earliest commit is just less than 7 years ago | |||
colomon | pmichaud: but there isn't clarity, and there probably never will be. :( | ||
FROGGS | for me one missing feature for "production ready" is just speed, I can write modules so that doesnt matter | 14:36 | |
pmichaud | more to the point, I wish that people who say "production ready" would define what they mean by that term; i.e., to identify exactly what things are missing to become production ready. | 14:37 | |
FROGGS | that's why I say that I will start using perl 6 at work within this year | ||
pmichaud | FROGGS: right, I have several people who say that "production ready" for them means "faster than current releases". I'm fine with that, and we're clearly working on that pretty diligently. | ||
FROGGS | pmichaud: we have a perl6-most-wanted for taht | ||
not_gerd wants faster parsing (at least an order of magnitude) or automatic precompilation | |||
14:37
brrt joined
|
|||
colomon spent a good bit of his weekend adding features to a 2000+ line p6 program that he uses to accomplish useful things all the time. | 14:38 | ||
pmichaud | dagolden's article says "the Perl 6 team isn't working towards production ready", so it's clear that he means something other than "faster" | ||
sorear | who invented the production ready meme anyway, and can we strangle them? | ||
hoelzro | I should convert the stupid little webservice I wrote last weekend to Perl 6 | ||
PerlJam | good morning sixers | 14:39 | |
sorear | it's like they tried to invent a way to make people be even more unhelpful than usual | ||
colomon | well, in context I suspect there's an implicit "to replace p5" in dagolden's arguments | ||
PerlJam reads scrollback | |||
pmichaud | "to replace p5" is something that happens by adopters, not developers. | ||
colomon | and I don't think any of us are actively working toward that goal at the moment. | 14:40 | |
you know, the old "p6 will be completely p5 backward compatible" thing. | |||
PerlJam reads dagolden's article ... | |||
nwc10 | I think that it's things like when rjbs tried to port his z-Machine parser to Rakudo, it turned out that the arguments to seek were transposed internaly. | 14:41 | |
There are a lot of little rough edges, surprises and gotchas, which haven't yet been found and polished off | |||
hoelzro | and users need to use Rakudo to find them =) | ||
colomon | nwc10: absolutely. pretty much every time sometime tries something serious with p6, bugs are found. That's why we need more people trying! | ||
nwc10 | on, and I agree with that, for that reason | 14:42 | |
pmichaud | assuming it's rough edges, are we not working diligently enough on that? | ||
nwc10 | but I can't see it yet being a rational business decision to use Rakudo for something. Because you wouldn't hit those problems on (say) perl 5 | ||
pmichaud: *I* think that you (plural) are | 14:43 | ||
but it's the point where it needs lots of happy volunteers to find problems and help fix them | |||
PerlJam | re: "production ready", perhaps it's just in the absense of a good definition, everybody fills in there own. So, the task for us would be to provide our own definitions. At least that way we can get people talking about the same thing when they say "production ready" | ||
(okay, that's extremely optimistic :-) | |||
pmichaud | I agree that in many cases it's not a rational business decision to use Rakudo/Perl 6. But one of the central points of dagolden's article (and the comments) is that the Perl 6 team isn't even trying | ||
colomon | pmichaud: I certainly think current progress is phenomenal. | ||
masak | if people think "production-ready Perl 6" means "the moment when Perl 6 magically replaces Perl 5", then we are fucked. | 14:44 | |
nwc10 | pmichaud: Which I don't think is valid. The Perl 6 team are trying to get there. It's just not obvious to outsiders why the route taken was chosen (or discovered), why it's long, and how near the end is | 14:45 | |
diakopter | eh | ||
pmichaud | Out of curiosity, has dagolden participated in any p6 discussions or engaged with any p6 folk? | ||
nwc10 | not directly to my knowledge | ||
masak | good question. I kinda recognize the guy, but I don't recall talking to him. | ||
nwc10 | I've met him at least once. He's a nice chap, and he cares. | 14:46 | |
colomon | I know him reasonably well, but have had minimal interactions with him for the last decade. | ||
masak | as someone who has not engaged with the p6 community, he is surprisingly spot-on. | ||
colomon | what nwc10 said | ||
masak | I don't think we're near the end. I don't think anyone has defined "the end" clearly enough for us to talk about being near it. | 14:47 | |
colomon assumed the David Golden he knew must be different from the perl David Golden for several years.... | |||
pmichaud | I'm not questioning motives, so much as "here's another person talking about Perl 6 without having bothered to find out what we're actually doing" | ||
diakopter | www.dagolden.com/index.php/947/thou...-backlash/ | ||
www.dagolden.com/index.php/1492/cou...tual-perl/ | 14:48 | ||
colomon | pmichaud: I would assume he has a pretty decent idea of what is going on. | ||
though looking again I think he's made a fundamental error in his logic. | 14:49 | ||
masak | dagolden++ # those posts | ||
colomon | pmichaud: if you look at how dagolden's framed his points, he definitely is looking for p6 to replace p5 completely. "p6 is pointless" == "long term p5 maintenance is still needed". | 14:51 | |
diakopter | once we have near-perfect p5 interop, the whole discussion will change radically | 14:53 | |
14:53
am0c joined,
benabik left,
pmurias left
|
|||
pmichaud | diakopter: "once we have near-perfect p5 interop"... afaict, that's not a goal. That wasn't the impression I got from PRS. | 14:54 | |
p5 interop, yes, which will require an evolution of p5 (cpan) as well as p6. But not "near-perfect p5 interop". | 14:55 | ||
diakopter | we'll see | ||
lizmat | indeed, any p5 interop that wouldn't need the classic Perl 5 runtime, would be great | ||
14:55
daniel-s left
|
|||
lizmat | otherwise we would be forced to continue maintaining perl 5 for as long as we will perl 6 | 14:55 | |
pmichaud | colomon: I think the statement "We won't know if Perl 6 is hopeless or just not done until the Perl 6 implementors ship a real production release" is the one I find most troubling. | ||
lizmat | when people ask me: "when is Perl 6 ready", I counter ask them "is Perl 5 ready?" | 14:56 | |
pmichaud | Because in the context of that statement, dagolden is correct that we're not making efforts to ship whatever he calls a "real production release", whatever that is. | ||
lizmat | if so: then we can close p5p and have everybody work on Perl 6 | ||
if not: why are you using a language in production that isn't ready? | 14:57 | ||
FROGGS | :o) | ||
diakopter | ehh.. something can be ready but need maintenance | ||
PerlJam | lizmat: that only works on Perl people :) | ||
colomon | pmichaud: yes, I think the logic error he's making is the assumption that either p6 can completely replace p5 soon or p6 is hopeless. | ||
masak | any p5 interop that doesn't need the classic Perl 5 runtime will be a lot of work. | ||
how's moe coming along? :) | 14:58 | ||
masak heads over there to ask | |||
lizmat | diakopter: I wouldn't call subroutine signatures in p5 "maintenance" | ||
pmichaud | diakopter: I think recent p5 discussion indicates that much of the p5 community doesn't believe that p5 is "done" or that its issues can be solved by simple "maintenance". | ||
moritz | lizmat: are those actually happening? | ||
diakopter | lizmat: I think it's myopic to think that "have everyone on p5p work on Perl 6" is anywhere near feasible or possible; who would enforce it, and how? | 14:59 | |
lizmat | moritz: as far as I know, yes | ||
hoelzro cheers | |||
moritz dearly hopes that's true | |||
masak | diakopter: it's kinda interesting to try to picture what would be needed to make p5p work on Perl 6. | ||
lizmat | diakopter: I know, it's absurd. but so is the question: when is Perl 6 ready | 15:00 | |
diakopter | pmichaud: oh. I suspect that perspective will change this year | ||
lizmat: no, it's not. Something can be evaluated for whether it's ready for particular purposes/uses. | |||
pmichaud | diakopter: ...which perspective? | ||
masak | the outside of the echo chamber will always suck news through a very thin straw, such that the best we can hope for is questions such as "when is Perl 6 ready?" | ||
diakopter | pmichaud: the one you just mentioned to me? | ||
pmichaud | diakopter: you think that p5 folks will decide that it's "done" after all? | 15:01 | |
diakopter | p5 community not believing p5 is done etc | ||
PerlJam | masak: aye, and we should give them a way to think about that that suits our needs. | ||
masak | yes. yes yes yes. | ||
this. yes. | |||
diakopter | sure, once feasibility of usable and useful Perl 6 is demonstrated, including clear/easy migration/coexistence path | 15:02 | |
masak | "Chirstmas!" is kind of a frivolous, unsatisfying answer. | ||
"When it's ready" is less frivolous, but kinda feels like saying "not soon". | |||
diakopter | pmichaud: I fully agree that using "production ready" without qualification/specification isn't helpful | 15:03 | |
brrt | how about we set real 'production ready' goals for some job | ||
pmichaud | I think I'm a bit skeptical that p5 folks will quickly move to p6. | ||
brrt | production ready for… writing a web server | ||
well, servers in general | |||
PerlJam | If we start talking about "levels of production readiness" or something and said things like "level 0 is where we're at", "level 1 is fast", "level 2 has a cpan-a-like", "level 3 has perl 5 interop" etc. That would give other people a way to think about the "readiness" of Perl 6 and a way for us to communicate its "readiness" | ||
diakopter | heh | ||
masak | brrt: yeah. | 15:04 | |
brrt: a page, like the compiler comparison chart. | |||
brrt: but with "production ready for X" things. | |||
brrt | yeah | ||
with real examples, preferably | |||
masak | yeah. | ||
web server, blogging app, IRC logger... | |||
moritz | PerlJam: that sounds more usful than what we usually produce as answers | ||
diakopter | we'll have level 1 and 3 this year; 2 isn't necessary; we can use atop existing cpan for the time being | 15:05 | |
brrt | thats doable | ||
masak | PerlJam: I like that. | ||
pmichaud | PerlJam++ | ||
lizmat afk | |||
pmichaud | one of the levels might want to be "declaration of 6.0.0 spec" | ||
diakopter | definitely | ||
moritz | or maybe instead of numbering the levels, we could do it like the features matrix | ||
brrt | hmm | ||
15:05
pmurias joined
|
|||
PerlJam | diakopter: even if level 2 isn't necessary, it's a question people ask, so we can just say "use existing CPAN, done." :) | 15:05 | |
brrt | i disagree pmichaud | 15:06 | |
masak | moritz: +1 | ||
brrt | the spec should be able to change | ||
moritz | because we don't know in which order we'll get the stuff | ||
pmichaud | brrt: that's why it's a versioned spec | ||
brrt | fair enough | ||
masak | moritz: and the order doesn't really matter. | ||
diakopter | brrt: it'll evolve, but @Larry wants point-in-time freezings | ||
pmichaud | features matrix ++ | ||
PerlJam | moritz++ whatever works! :) | ||
masak | level 3 is always better than level 2, no matter which goal we just passed. | ||
pmichaud | more to the point, the external community wants a frozen spec | ||
tadzik | maybe we need more red spots in the feature matrix | 15:07 | |
masak | that, too. | ||
tadzik | it's very precise where we're green, but then it says "threads", red | ||
masak | today's community challenge: make a production matrix! | ||
brrt | blegh, threads | ||
masak | publish it. | ||
brrt | here's a thought | ||
we could /not/ solve threads for a few more years | |||
then reap of the work everybody has done by that time | 15:08 | ||
masak | heh. | ||
diakopter | "... . ... ......." | ||
moritz | brrt: we've been doing that for two decades now | ||
brrt: IMHO it's time to stop that, and start to actually implement shit | |||
brrt | hmm | 15:09 | |
thats fair | |||
pmichaud | (1) find an application that benefits heavily from threading | ||
(2) start prototyping | |||
TimToady | .oO(apache3) |
||
15:10
bluescreen10 joined
|
|||
pmichaud | fwiw, niecza++ already has "green" for "Basic threads" in the concurrency matrix. :) | 15:10 | |
TimToady | n: async { say "foo" }; async { say "bar" }; say "baz" # this is basic to me | 15:11 | |
PerlJam has no clue what "basic threads" means or how to differentiate "advanced threads" | |||
p6eval | niecza v24-26-g713c785: OUTPUT«===SORRY!===Action method statement_prefix:async not yet implemented at /tmp/cMwC0zA46u line 1:------> async { say "foo" }⏏; async { say "bar" }; say "baz" # thisAction method statement_prefix:async not yet implem… | ||
pmichaud | We should add 'async' to the matrix, then. | ||
15:11
SunilJoshi joined
|
|||
TimToady | pugs: async { say "foo" }; async { say "bar" }; say "baz" # this is basic to me | 15:11 | |
p6eval | pugs: OUTPUT«foobarbaz» | ||
PerlJam | TimToady++ it's like you were reading my mind :) | ||
pmichaud | (adding more red to features matrix) "Loop labels" doesn't seem to be there, either. | 15:12 | |
TimToady | pugs: async { sleep 2; say "foo" }; async { sleep 1; say "bar" }; say "baz" # this is basic to me | ||
p6eval | pugs: OUTPUT«baz» | ||
TimToady | hmm | ||
15:12
takadonet joined
|
|||
takadonet | morning all | 15:12 | |
TimToady | pugs: async { sleep 2; say "foo" }; async { sleep 1; say "bar" }; say "baz"; sleep 3; # this is basic to me | 15:13 | |
p6eval | pugs: OUTPUT«baz*** Unsafe function 'sleep' called under safe mode at /tmp/ZjJnVZanxJ line 1, column 72-79» | ||
15:13
kaleem left
|
|||
TimToady | hah | 15:13 | |
masak | sleep; so unsafe. | ||
TimToady | sleeping is unsafe; you heard it here first | ||
pmichaud adds some entries to features matrix. | |||
diakopter | pmichaud: atomic { } too | 15:14 | |
PerlJam | that's the whole premise of Nightmare on Elm Street. I think I heard it there first :) | ||
TimToady | errands, back in a couple & | 15:15 | |
moritz | gist.github.com/moritz/5082925 # the production readiness indicators that a quick brainstorm produced | ||
masak | moritz++ | 15:16 | |
tadzik | can we figure out the percentage of spec that's implemented? | ||
so we can say "it's ready in 70%". People like numbers | |||
"I don't know. Does it fill your usecase" is not a number | |||
masak | moritz: I'd like to see more of a focus on actual, deployed applications. | ||
moritz: even that list of desirables is a bit abstract. | |||
"concurrency". Pugs has that. | 15:17 | ||
moritz | tadzik: not in any scientifically sound way, but I guess we'll have to come up with some | ||
PerlJam | tadzik: that could backfire I think. "Why would I use it at 70%? I think I'll wait until it's at 95% or better" but we want people to use it. | ||
tadzik | . o O ( 66 Perl 6 Milestones ) | ||
PerlJam: I'd better have them "I'll wait" than disappointed | |||
15:17
bluescreen100 joined
|
|||
moritz | masak: how would a list with actual, deployed applications look like? | 15:17 | |
hoelzro | I've been wanting to work on deployment in major free OSes | ||
tadzik | disappointed people will come back even later, and will troll on reddit in the meantime | ||
hoelzro | I have a package I maintain for Arch Linux | 15:18 | |
15:18
xalbo_ is now known as xalbo
|
|||
hoelzro | and porting it to DEB/RPM should be easy | 15:18 | |
tadzik | I'm glad you think that :) | ||
hoelzro | I'm not sure if there should be separate packages for Rakudo/Rakudo Star | ||
tadzik | I've been maintaining packages for CRUX, Arch, even Gentoo, but .deb always turned out to be a huge PITA | ||
hoelzro | well, I mean to say I wonder if Rakudo Star should depend on or conflict with Rakudo itself | ||
tadzik: you have your own arch pacakge? | 15:19 | ||
pmurias | tadzik: re percentage of spec, isn't the current amount enough for production and what's missing is speed and access to libraries? | ||
tadzik | hoelzro: I used to | ||
I'm not using arch for some time now | |||
colomon | pmurias: also the ability to handle big data. (at least, whenever I try I run out of memory distressingly quickly) | ||
tadzik | pmurias: maybe. Maybe we need some sort of a different number, not "the spec fulfillment" | ||
66 P6 milestones, now doesn't that sound marketing-friendly? :)_ | 15:20 | ||
hoelzro | I should probably publish my Arch package | ||
pmichaud | Yes, I'd like to disassociate "spec" and "done-ness" | ||
tadzik | then we can say that we've already done 60 of them | ||
moritz | right, "spec fulfilllment" is a terrible metric | ||
masak | moritz: that's what I liked about the idea. "production-ready for web apps" means that there's a web app deployed somewhere in production. | ||
colomon still thinks the best PR is just to have the damn thing working. :) | |||
moritz | mostly because the spec is so ambitious | ||
15:20
bluescreen10 left
|
|||
PerlJam | colomon: But it /is/ working. Clearly that's not enough. | 15:20 | |
hoelzro | I think that packaging and modules are the most important parts | ||
not_gerd | bye, #perl6 | 15:21 | |
15:21
not_gerd left
|
|||
takadonet | PerlJam: It works but not well enough for people needs | 15:23 | |
pmurias | colomon: re big data? you mean having the data structures be memory efficient or explicit support for things like gigantic amounts of floats? | ||
dalek | atures: 4fd9b51 | pmichaud++ | features.json: Add "labeled loops", "async", and "is atomic" to the features matrix. |
||
colomon | pmurias: I mean I've got a lovely STEP file format parser running under Rakudo. My machine has 8 gigs of RAM, but I run out parsing a 4meg STEP file. | 15:24 | |
Rakudo's memory performance is *terrible* right now. (Hopefully the JVM port will be a drastic improvement.) | 15:25 | ||
masak | takadonet: where "well enough" mostly means "fast enough", I think. | 15:27 | |
PerlJam | If I were to order my wishes for Rakudo, speed would be the #1 wish. | 15:28 | |
colomon | speed++ | 15:29 | |
brrt | stability | ||
moritz | brrt: what kind of stability? | ||
colomon suspects speed and memory usage are very intertwined. | |||
brrt | you should be able to start up a perl6 job | ||
and have it run in the background | 15:30 | ||
and not look at it | |||
moritz | ok | ||
brrt | and have it running five months later | ||
moritz | (there are other definitions of stability, like stability between releases) | ||
brrt | yes, sure, and that is important too, but that comes with inertia, which comes with heavy use | ||
perl6 is 'unstable' in that sense /because/ very few people use it, not the other way arround | 15:31 | ||
colomon | what's stopping us from porting the IRC logger to Rakudo? ;) | 15:32 | |
brrt | well, i for one don't believe it will run for a month | ||
i don't believe it will run for a week | |||
moritz | colomon: tuits, mostly | 15:33 | |
15:33
sizz_ joined
|
|||
brrt | but then again, testing it and figuring it out why, that would be an awesome thing, and more importantly it would 'prove' p6 | 15:33 | |
PerlJam | reality trumps belief every time :) | ||
15:33
sizz left
|
|||
PerlJam | moritz: Sounds like a good project for a YAPC::NA hackathon methinks. | 15:33 | |
moritz | PerlJam: then I should probably hurry up with publishing with what I've written so far :-) | 15:34 | |
so that others can work on it | |||
15:37
Khisanth left
|
|||
pmichaud | I'm afk and erranding again | 15:39 | |
brrt | you know what would've been cool for perl6? | 15:40 | |
a module for apache | |||
diakopter | there was mod_parrot long ago | ||
brrt | github.com/bdw/mod_parrot/ ;-) | 15:41 | |
moritz | brrt: didn't you work on something like that for gsoc? | ||
brrt | i did | ||
and it broke because of the IO thing | |||
and whenever i do have tuits, i'm still planning to fix that | |||
diakopter | brrt: actually I was referring to a much older one | 15:42 | |
brrt | i know | ||
:-) | |||
and it is Really Dead | |||
15:43
slavik1 left
|
|||
diakopter | (I hadn't seen this newer one) | 15:43 | |
brrt | well, it works sort-of | ||
arnsholt | brrt: On my list of things to do is bindings to Mongrel2 via ZMQ. Not quite mod_rakudo, but similar | 15:44 | |
brrt | but it cannot load either rakudo or even nqp because of all sorts of silly details | ||
what is mongrel2? | |||
pmurias | brrt: once rakudo is ported to the jvm couldn't we use some java technology for that? | ||
arnsholt | Language agnostic webserver | ||
diakopter | notification popup thingie? | ||
oh that's growl | |||
arnsholt | It communicates with the code that handles requests via ZMQ, so it does all the heavy lifting of parsing and generating headers and passes the data as JSON | 15:45 | |
15:45
slavik1 joined
|
|||
masak | ISTR November worked with the old mod_parrot (or was it 'mod_perl6') at some point. | 15:45 | |
arnsholt | mongrel2.org/ | ||
brrt | pmurias, yeah sure, jvm is pretty stable | 15:46 | |
the thing that any mod_perl6 will have to face is that there is a nontrivial barrier between rakudo and parrot | 15:47 | ||
in the form of 6model, all sort of dynamic ops, etc | 15:48 | ||
nwc10 | unless you measure it by number of upgrades needed due to CVEs | ||
brrt | and /in theory/ this could be made to work | ||
but nobody had the tuits to do it | |||
pmurias | if we are moving of parrot isn't it a bit of wasted effort to work on that? | 15:51 | |
s/of/off/ | |||
15:51
p6eval left,
Khisanth joined
|
|||
nwc10 | I thought that the plan is "all your VM are belong to us" (in the long term), so it's assimilate JVM too. And then ... | 15:52 | |
and not conceding any territory back | |||
brrt | pmurias, notwithstanding the efforts of jnthn++ (and presumably others) for a jvm port | ||
dalek | kudo-js: ac1aa68 | (Pawel Murias)++ | runtime.js: Remove leftover. |
||
kudo-js: b905e9e | (Pawel Murias)++ | runtime (2 files): Move object deserialization code to a seperate module. |
|||
brrt | i don't think perl6 will solely ever run on jvm | ||
nwc10 | me neither | ||
pmurias seems to be intent on getting it working in JS | 15:53 | ||
and I suspect that .NET is a logical thing for NQP to attack once it has the JVM conquered | |||
brrt | personally, i also think there is space for parrot | 15:54 | |
or whatever will replace it | |||
nwc10 | something with non-sucky startup time would be welcome | 15:55 | |
parrot certainly demolishes the JVM on that | 15:56 | ||
15:56
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
moritz | r: say 'welcome back' | 15:57 | |
FROGGS | r: say 'something at all' | ||
p6eval | rakudo 87ad7c: OUTPUT«welcome back» | ||
15:57
dpk joined
|
|||
moritz | be patient | 15:57 | |
p6eval | rakudo 87ad7c: OUTPUT«something at all» | ||
FROGGS | :o) | ||
diakopter | nqp-jvm: say(5) | ||
moritz | first execution is always slow | ||
p6eval | nqp-jvm: OUTPUT«5» | ||
moritz | \o/ | ||
diakopter++ | 15:58 | ||
nwc10 | \o/ | ||
FROGGS | cool! | ||
diakopter | let the microbenchmarking commence | ||
FROGGS | nqp-jvm: say("abc123def" ~~ /<[\w]-[a\D]>+/) | ||
p6eval | nqp-jvm: OUTPUT«123» | ||
masak | diakopter++ | ||
FROGGS | nqp-jvm: say("abc123def" ~~ /<[\w]-[a\d]>+/) | ||
p6eval | nqp-jvm: OUTPUT«bc» | ||
FROGGS | nice | ||
masak | I should probably use &shell instead of &run in my program, but... | 16:00 | |
...when I use &run, there's no indication at all that things go wrong. no error. nothing. | |||
like 'run("echo hi")' | |||
diakopter | btw that's oracle jvm 32-bit latest | 16:01 | |
nwc10 | how many days old is their latest? | ||
diakopter | uhh | 16:05 | |
hrm, it appears this is nowhere near the latest | |||
16:05
fhelmberger left
16:06
FROGGS left
16:07
thou joined
|
|||
diakopter | how in the world.... I could have sworn I downloaded the latest | 16:07 | |
16:09
mberends left
|
|||
dalek | kudo-js: 423c4b7 | (Pawel Murias)++ | runtime (3 files): Move the object representation to a seperate module. |
16:10 | |
diakopter | nwc10: apparently 7 update 15 was released 2-3 days ago | 16:12 | |
uhh | 16:14 | ||
wtf | |||
nwc10 | which is consistent with java-0day.com/ | 16:17 | |
16:18
brrt left
|
|||
nwc10 | whereas your Perl 5 security update is piping hot *today* | 16:19 | |
diakopter | nqpjvm: 1 | 16:21 | |
nqp-jvm: 1 | |||
p6eval | nqp-jvm: ( no output ) | ||
diakopter | nqp-jvm: 1 | ||
p6eval | nqp-jvm: ( no output ) | ||
diakopter | nqp-jvm: 1 | ||
p6eval | nqp-jvm: ( no output ) | ||
16:22
cogno joined
|
|||
masak | j: 1 | 16:23 | |
aww :) | |||
16:23
mberends joined
16:24
dpk is now known as yo\dev,
yo\dev is now known as dpk
16:27
dpk is now known as [dpk],
[dpk] is now known as dpk
|
|||
masak | "On failure to execute, the routines C<fail()>." -- so, since I use &run in sink context, it should blow up, right? | 16:29 | |
masak submits rakudobug | |||
16:31
dpk left,
SunilJoshi left
|
|||
diakopter | ok, *now* it's running the latest java | 16:39 | |
16:41
dpk joined
|
|||
masak | :) | 16:42 | |
kresike | bye folks | 16:45 | |
16:45
kresike left
16:46
REPLeffect left
16:49
REPLeffect joined
16:54
cogno left
17:02
daxim left
|
|||
[Coke] | nqp-jvm: say "hello world?" | 17:08 | |
p6eval | nqp-jvm: OUTPUT«Confused at line 2, near "say \"hello" in panic in comp_unit in TOP in parse in parse in <anon> in compile in eval in evalfiles in command_eval in command_line in MAIN in <anon> in <anon>» | ||
tadzik | nqp | ||
[Coke] | nqp-jvm: say("hello world?"); # right, not rakudo yet. | 17:09 | |
p6eval | nqp-jvm: OUTPUT«hello world?» | ||
[Coke] | is that CC or direct? | ||
masak | still CC AFAIK. | 17:11 | |
...but I've been gone for a week ;) | |||
sorear | i tend to imagine that 'nqp-jvm: say 1' will never work | 17:13 | |
it should stay compatbile with nqp | |||
nqp: say "hello world?" | |||
p6eval | nqp: OUTPUT«Confused at line 2, near "say \"hello"current instr.: 'panic' pc 14698 (src/stage2/gen/NQPHLL.pir:5229) (src/stage2/gen/NQPHLL.pm:278)» | 17:14 | |
_sri thinks perl6 will be considered "production ready" by the perl5 community once it can do everything perl5 (without cpan) can do equally fast | |||
masak | _sri: I'd settle for a 10x slowdown. | ||
[Coke] | Aye. wasn't trying to imply it should work, just been a while since I've had to write NQP. | ||
masak | on average. | ||
[Coke] | jnthn: I am getting failures in 'make nqptest' for nqp-jvm | ||
PerlJam | sri: Perl 5 was slower than Perl 4 when it became "production ready" :) | ||
(of course, it had more features, so the the slow down was accepted) | 17:15 | ||
[Coke] | gist.github.com/coke/5083824 | ||
17:15
arlinius joined
|
|||
_sri | PerlJam: i doubt many folks would accept a 10x slowdown of there aren't huge advantages | 17:15 | |
s/o/i/ | |||
PerlJam | I don't think I'd be happy with a 10x slowdown. | 17:16 | |
[Coke] | and make selftest seems to be missing a prereq. | ||
PerlJam | 2x wouldn't be so bad though | ||
But it'd be an apples/oranges comparison anyway. | 17:17 | ||
masak | I'd accept a 10x slowdown any day. | ||
especially if I could see that years of optimization would bring be closer to 1x. | |||
me* | 17:18 | ||
PerlJam | masak: I "accept" the slowness now, but I'm not happy about it. | ||
masak | a stable, bug-free, 10x slower Rakudo with all the features I use every day. I could use that for almost anything. | ||
17:19
SamuraiJack joined
|
|||
TimToady | actually 5 was faster than 4 for many tasks at the beginning, at least until we added in threading and such | 17:19 | |
masak | PerlJam: well, "accept" is the word I mean. I'd take it, because Perl 6 has features I prefer over Perl 5. | ||
17:20
benabik joined
|
|||
sorear | this does not suprise me, you did after all switch from a tree interpreter to threaded code | 17:20 | |
TimToady | that was the main reason | ||
PerlJam | TimToady: I distinctly remember worrying because some time calculations and such that I was doing with Perl 4 were quite a bit slower with Perl 5. I ran all sorts of timing comparisons for the code I was concerned with. | ||
TimToady | well, it was certainly task dependent | 17:21 | |
sorear | p6 with proper bytecoding and potential jit options could be faster, although there's a lot of hot-path featurism to overcome | ||
TimToady | and p5 never did reimplement p4's switch optimizaiton | ||
(that I know of) | |||
hopefully most of that featurism can be dealt with lexically | |||
but yeah, p6 is much more dependent on having a spectacular optimizer | 17:22 | ||
and puts more weight onto application-level analysis than I know you're comfy with :) | 17:23 | ||
17:23
FROGGS joined
|
|||
sorear | if we're really going to be spectacular it needs to be a profile-directed dynamic optimizer | 17:23 | |
masak | agreed. | ||
cf v8 | |||
TimToady | well, any guarantee from CHECK time is also good after that :) | 17:24 | |
sorear | inline caches are going to be a huge win for p6, imo | ||
TimToady | that was always the plan | ||
the difficult part is keeping track of the identity of captures vs signatures | 17:25 | ||
type-identity, I should say | |||
sorear | I think that's pretty surmountable. | 17:26 | |
TimToady | that's one of the things I've been comfy with handwaving :) | ||
on accounta I can think of ways to do it | |||
sorear | rakudo has a way of handling that that I think is pretty viable | 17:27 | |
TimToady | .oO("The mathematician wakes up, sees the fire, the bucket, and the faucet, declares 'It can be proven,' and falls back asleep.") |
17:28 | |
masak | mathematicians can't prove things to save their life. | ||
17:28
Chillance joined
17:34
cognominal joined,
zby_home_ joined
|
|||
colomon | masak: but they *can* prove things for fun, and what's more important? | 17:40 | |
masak | -Osaveyourlife | ||
TimToady | .oO(The mathematician's spouse comes in, sees the situation, says 'Here we go again,' and puts out the fire.) |
17:46 | |
tadzik | uh-oh | 17:47 | |
did someone break JSON::Tiny? | |||
TimToady | what, it got big suddenly? | ||
PerlJam | .oO( JSON::Pieces? ) |
||
tadzik | yeah, full of fat test failures :) | ||
benabik | Perhaps more JSON::Tiny::Pieces | 17:48 | |
17:50
constantined left
|
|||
tadzik | r: role A::B { method run(A::C $) { !!! } } # LTA error message | 17:53 | |
p6eval | rakudo 87ad7c: OUTPUT«===SORRY!===Cannot type check against type variable $?CLASS» | ||
FROGGS | r: role A::B { method run(A::C $a) { } } # LTA error message | 17:55 | |
p6eval | rakudo 87ad7c: OUTPUT«===SORRY!===Cannot type check against type variable $?CLASS» | ||
17:55
cognominal left
|
|||
FROGGS | std: role A::B { method run(A::C $a) { } } | 17:56 | |
p6eval | std 52fe6d2: OUTPUT«===SORRY!===In parameter declaration, typename 'A::C' must be predeclared (or marked as declarative with :: prefix) at /tmp/MLYVpiJfdC line 1:------> role A::B { method run(A::C⏏ $a) { } }Parse failedFAILED 00:00 43m»… | ||
FROGGS | n: role A::B { method run(A::C $a) { } } | ||
p6eval | niecza v24-26-g713c785: OUTPUT«===SORRY!===In parameter declaration, typename 'A::C' must be predeclared (or marked as declarative with :: prefix) at /tmp/j9oEvhF_0K line 1:------> role A::B { method run(A::C⏏ $a) { } }Parse failed»… | ||
grondilu failed to rebootstrap panda :( | 17:57 | ||
tadzik | grondilu: yeah, same here | 17:58 | |
JSON is broken | |||
FROGGS wonders what does that | 17:59 | ||
masak | tadzik: want me to rakudobug-submit? | 18:00 | |
(the LTA error message) | |||
grondilu | my error message fyi: paste.siduction.org/20130304180101 | 18:01 | |
18:02
cognominal joined
|
|||
tadzik | masak: would be great | 18:03 | |
masak submits rakudobug | |||
tadzik | grondilu: yep, that matches mine | 18:04 | |
we _do_ need that module smoketester | |||
it would then whine on the irc "FROOOOGGS, you brokes it" | |||
masak | r: role A::B { method x(A $) {} } | ||
p6eval | rakudo 87ad7c: OUTPUT«===SORRY!===Type A cannot be used as a nominal type on a parameterat /tmp/lwVYy3lbHA:1------> role A::B { method x(A ⏏$) {} } expecting any of: statement list prefix or term prefix or meta-prefix»… | ||
masak | r: role A::B { method x(A::C $) {} } | 18:05 | |
p6eval | rakudo 87ad7c: OUTPUT«===SORRY!===Cannot type check against type variable $?CLASS» | ||
tadzik | any resemblance to real persons and events is coincidental | ||
masak | ;) | ||
a smoketester would be great. | |||
with a bot to discreetly notify the channel of any new failures. | |||
18:07
dakkar left
18:08
cognominal left
|
|||
[Coke] | I could probably add modules to the daily test runs. | 18:09 | |
FROGGS | tadzik: me? why me? ó.ò | 18:10 | |
[Coke] | \o/ pugs is clean. | ||
diakopter | [Coke]: . masak, it's not CC; it's the self-hosted | 18:11 | |
[Coke] | niecza is up to 203 failures. | ||
diakopter: awesome, thanks. | |||
18:11
cognominal joined
|
|||
masak | diakopter: we're self-hosting now? great! | 18:11 | |
jnthn++ | |||
18:13
FROGGS left
18:16
cognominal left
18:21
cognominal joined
18:27
arlinius left
|
|||
tadzik | hmm, does our require() have some limitations I do not know of? | 18:33 | |
18:34
cognominal__ joined
|
|||
tadzik | I require "Quest::Event::TreasureChest", but ::("(that string)") yields Failure.new(exception => X::NoSuchSymbol.new(symbol => "Quest::Event::TreasureChest")) | 18:34 | |
I cannot duplicate this easily in isolated conditions, possibly happens only with precompiled code | |||
moritz? | |||
18:34
cognominal left
18:35
denisboyun joined
|
|||
TimToady | nr: my ($x0, \x1) = (1, 2); say $x0; say x1 | 18:35 | |
p6eval | niecza v24-26-g713c785: OUTPUT«12» | 18:36 | |
..rakudo 87ad7c: OUTPUT«===SORRY!===Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling op call: Null PMC access in find_method('handle')» | |||
TimToady | masak: did you see that one? | ||
dalek | rl6-roast-data: f95b203 | coke++ | / (4 files): today (automated commit) |
||
colomon | tadzik: my new Linux box should arrive sometime this week, if no one else has done anything before then I will see what I can do about establishing module smoketesting on it. | ||
TimToady | nr: my ($x0, \x1) = 1, 2; say $x0; say x1 | ||
p6eval | niecza v24-26-g713c785: OUTPUT«12» | ||
..rakudo 87ad7c: OUTPUT«===SORRY!===Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling op call: Null PMC access in find_method('handle')» | |||
moritz | tadzik: I never tested require in precompiled code | 18:37 | |
TimToady | it's what blows up rosettacode.org/wiki/Xiaolin_Wu%27s...thm#Perl_6 in rakudo | ||
18:37
lichtkind joined
|
|||
tadzik | colomon: awesome | 18:38 | |
TimToady | and FROGGS++ for hunting the bug down | ||
18:38
ElDiabolo joined
|
|||
tadzik | moritz: ok, it doesn't seem to work w/o precomp either :) | 18:38 | |
gist.github.com/tadzik/5084382 something like this occurs | 18:39 | ||
lichtkind | tadzik++ | 18:41 | |
18:46
FROGGS joined
|
|||
TimToady | sorear: the most astounding thing about seeing snowfall live is not actually the sight; it's the sound--it dampens ambient sounds, plus sometimes there's an almost subliminal sound of snowflakes landing, especially if they're large ones | 18:46 | |
I first saw/heard snow falling in 4th grade, having moved up from LA to Bremerton, WA | |||
FROGGS | it's hard to believe that someone never has seen snow when you are used to it | 18:47 | |
masak | TimToady: I did not. | ||
masak submits rakuodbug | |||
FROGGS submits masak-spellbug :P | 18:48 | ||
TimToady | well, but this one was an odbug | ||
masak | typos are automatically corrected as the rakudobugs are sent in ;) | ||
FROGGS | TimToady: I didnt hunt "your" RC bug down yet fwiw | 18:49 | |
we should add a ticket for that | |||
18:50
Targen left
|
|||
TimToady | you minimized it, which is often most of the work | 18:50 | |
masak | nr: my (\x1, \x2) = (1, 2); say x1; say x2 | ||
p6eval | niecza v24-26-g713c785: OUTPUT«12» | ||
..rakudo 87ad7c: OUTPUT«===SORRY!===Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling op bind: Error while compiling op call: Null PMC access in find_method('handle')» | |||
masak | yeah. that makes sense. | ||
TimToady | doesn't need the 2nd parens | ||
masak | nr: my (\x1) = 1; say x1 | ||
p6eval | niecza v24-26-g713c785: OUTPUT«1» | ||
..rakudo 87ad7c: OUTPUT«===SORRY!===Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling op call: Null PMC access in find_method('handle')» | |||
TimToady | ooh, shorter | ||
masak | doesn't need the second variable either ;) | ||
FROGGS | :o) | 18:51 | |
masak has some experience in golf :) | |||
18:51
cognominal__ left
|
|||
masak | so, it's the combination of \ and my () that does it. | 18:51 | |
diakopter | r: my ((\x1))=1; say x1 | 18:52 | |
p6eval | rakudo 87ad7c: OUTPUT«(Mu)» | ||
TimToady | r: my \x1; :(\x1) ::= 1; say x1 | ||
p6eval | rakudo 87ad7c: OUTPUT«===SORRY!===Method 'ast' not found for invocant of class 'NQPMu'» | ||
masak | nr: my (\x1) = 1 | ||
p6eval | rakudo 87ad7c, niecza v24-26-g713c785: ( no output ) | ||
masak | my guess is that the sigilless doesn't get properly registered when it's in a () | ||
FROGGS | nr: my (\x1) = 1; say x1.WHAT | ||
p6eval | rakudo 87ad7c: OUTPUT«===SORRY!===Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling op call: Error while compiling op what: Null PMC access in find_method('handle')» | 18:53 | |
..niecza v24-26-g713c785: OUTPUT«(Int)» | |||
FROGGS | nqp: my (\x1) = 1; say(x1) | ||
p6eval | nqp: OUTPUT«Confused at line 2, near "my (\\x1) ="current instr.: 'panic' pc 14698 (src/stage2/gen/NQPHLL.pir:5229) (src/stage2/gen/NQPHLL.pm:278)» | ||
FROGGS | ohh, okay | ||
[Coke] | when testing modules, is there an expectation we should be testing on anything other than rakudo-latest? | ||
FROGGS | latest rakudo@parrot and at some point rakudo@jvm | 18:54 | |
TimToady | well, until we starting getting maint tracks, I suppose | ||
[Coke] | Hokay. | ||
FROGGS | dunno if somebody wants niecza tested, that only makes sense if there are active devs | ||
TimToady | but in theory a given version is immutable, so once it passes, it should always pass, modulo roast changes | ||
sorear | would be nice to know if parrot/glibc/jvm/whatever changes break stuff, I guess | 18:55 | |
masak | that's a big modulo :P | ||
TimToady | though roast changes might be a good reason to smoke something older, I suppose | ||
FROGGS | sorear: Go! | 18:56 | |
hopefully ;o) | |||
18:57
cognominal__ joined
18:59
fgomez left
|
|||
jnthn | Well, that was a win fail... | 19:02 | |
jnthn managed to get on a ferry going in the wrong direction from $teaching-gig | 19:03 | ||
diakopter | )_) | ||
[Coke] | DOH | ||
jnthn | Got of at the next step...and realized i'd been deposited 10 mins walk to my favorite Indian restaurant in town. :) | ||
*stop | |||
masak | ;) | 19:05 | |
19:05
denisboyun left
|
|||
sorear | what, win fail != bsod? | 19:05 | |
jnthn | ;) | ||
jnthn ain't seen one of those in a little while | |||
diakopter saw the Windows 8 one a few times; the font is not fixed-width anymore | 19:08 | ||
jnthn skips every other versin of Windows, so doubts he'll ever really use 8. :) | 19:10 | ||
19:12
denisboyun_ joined
19:15
SamuraiJack left,
SamuraiJack joined
19:16
cognominal__ left,
cognominal__ joined
19:21
cognominal__ left
|
|||
FROGGS | wow, jnthn is still on windows 95 beta 2 (the one with usb support) | 19:22 | |
jnthn | FROGGS: 7 :P | 19:24 | |
19:24
cognominal__ joined,
SamuraiJack left
|
|||
FROGGS | well, I dont like 7 | 19:24 | |
never had a vista, and not an 8 yet | |||
jnthn: btw, do you think one (me?) has to fiddle with NQPRegex class/knowhow in order to get runtime-NFAing working? | 19:25 | ||
since I can't do NQPRegex.new() right now | |||
I can somehow create an NQPRegex with: my $code_obj := nqp::create(NQPRegex); | 19:26 | ||
but I dont know what to do afterwards | |||
I've seen some code that binds an ast to $!do | |||
19:30
cognominal__ left
|
|||
jnthn | FROGGS: I'll be the $!do is the thing with the .NFA on it | 19:32 | |
FROGGS: I wanna clean it up properly, but you may find giving the class methods that delegate to $!do may do it | |||
rindolf | Hi all. | 19:33 | |
Hi FROGGS, jnthn, TimToady. | |||
jnthn | o/ rindolf | ||
masak | jnthn: congrats on self-hosting nqp-jvm! \o/ | 19:35 | |
jnthn++ | |||
jnthn | just saw in backlog we have a bot for it now too :) | 19:36 | |
rindolf | jnthn: what's up? | ||
19:36
fgomez joined
|
|||
FROGGS | hi rindolf | 19:36 | |
jnthn | nqp-jvm: say('omgz yay') | 19:37 | |
p6eval | nqp-jvm: OUTPUT«omgz yay» | ||
jnthn | rindolf: Not much...up in Gothenburg, teaching... :) | ||
rindolf | jnthn: nice. | ||
19:37
kboga joined
|
|||
rindolf | FROGGS: what's new? | 19:37 | |
masak .oO( "what's up?" -- "jnthn. he's up in Gothenburg" ) | |||
jnthn | nqp-jvm: nqp::getcomp('nqp').eval('say("Does this work?")') | 19:38 | |
p6eval | nqp-jvm: OUTPUT«NQPCORE.setting.class (No such file or directory) in <anon> in <anon> in load_setting in <anon> in load_setting in <anon> in outerctx in !reduce in !cursor_pass in outerctx in comp_unit in TOP in parse in parse in <anon> in compile in ev… | ||
jnthn | ...no. | ||
oh, 'cus of...that :) | |||
diakopter | need me to adjust a working directory? | ||
jnthn | fairynuff | ||
diakopter: No, it'd happen locally too | 19:39 | ||
FROGGS | rindolf: dunno, german perl workshop next week, still some thing to prepare | 19:40 | |
rindolf | FROGGS: ah, OK. | 19:41 | |
FROGGS: good luck. | |||
FROGGS: I missed the Israeli Perl workshop. | |||
FROGGS | ohh, I guess we dont need luck :o) | ||
rindolf | FROGGS: in part due to stress. | ||
FROGGS | ohh, that's sad | ||
19:42
cognominal joined
|
|||
census | rindolf: oh no, i'm so sorry to hear :( | 19:43 | |
TimToady | turns out to be a good thing that I missed it, given my medical developments... | 19:44 | |
TimToady wonders why, when our bodies start to rot, we call it a "development"? :) | 19:46 | ||
19:47
cognominal__ joined
|
|||
masak is glad he's already had dinner | 19:47 | ||
rindolf | census: that's OK. | ||
census: the world still turns. | |||
census | and let's hope it continues to :) | 19:48 | |
rindolf | TimToady: I hope everything is fine with you. | ||
TimToady: how is Gloria doing? | |||
19:49
cognominal left
19:51
thou left,
thou_ joined
|
|||
TimToady | rindolf: I'm fine, other than having prostate cancer. Glo is up visiting the grandkids. | 19:52 | |
masak | r: .say for (1, 2, 3) <<~>> "!"; .say for (1, 2, 3) «~» "!"; .say for (1, 2, 3)«~»"!" | ||
p6eval | rakudo 87ad7c: OUTPUT«1!2!3!1!2!3!1!2!3!» | ||
masak | r: .say for (1, 2, 3)<<~>>"!" | ||
p6eval | rakudo 87ad7c: OUTPUT«===SORRY!===Two terms in a rowat /tmp/Kg__QjZ4yV:1------> .say for (1, 2, 3)<<~>>⏏"!" expecting any of: postfix infix or meta-infix infix stopper» | ||
masak submits rakudobug | |||
jnthn | std: .say for (1, 2, 3)<<~>>"!" | 19:53 | |
p6eval | std 52fe6d2: OUTPUT«===SORRY!===Two terms in a row at /tmp/MmOH3ej_tf line 1:------> .say for (1, 2, 3)<<~>>⏏"!" expecting any of: POST infix or meta-infix infixed function postcircumfix postfix postfix_prefix_meta_operator | ||
..postopParse … | |||
rindolf | TimToady: prostate cancer sounds nasty. :-( | ||
jnthn | masak: It parsed as a subscript | ||
rindolf | TimToady: like we say in Hebrew - Good medicine. | ||
masak | jnthn: I know. | ||
jnthn | masak: Yes, and STD does it too. | 19:54 | |
masak: It's not a bug. | |||
rindolf | TimToady: anyway, I think if you stop being a shaker and mover, it will only make matters worse. | ||
masak | jnthn: responding to Ovid's p6u email from a week ago. | ||
jnthn: the fact that it parses as a subscript isn't the bug. | |||
jnthn: look at the evaluation before. | |||
it parses as a subscript when it's <<~>>, but not when it's «~» | |||
jnthn | oh... | ||
rindolf | TimToady: I think my grandfather slowly became less and less happy after he had less and less to do. | 19:55 | |
jnthn | Yeah, that's 'cus we're missing those quotes in the grammar somehow | ||
masak | that's the bug. | ||
rindolf | TimToady: my late grandfather on my father's side. | ||
jnthn | masak: OK, fair enough. | ||
rindolf | TimToady: so I think I'm never going to retire. | ||
TimToady | you don't have to hang out here long to realize I still have lots to do :) | ||
including eat lunch & | 19:56 | ||
19:57
cognominal__ left
19:58
cognominal__ joined
|
|||
[Coke] | .u book | 20:03 | |
phenny | [Coke]: Sorry, no results for 'book'. | ||
20:04
cognominal__ left
|
|||
masak | .u hard work | 20:08 | |
phenny | masak: U+0068 U+0061 U+0072 U+0064 U+00A0 U+0077 U+006F U+0072 U+006B | ||
masak | dang :) | ||
jnthn | lol | ||
20:10
cognominal__ joined,
shinobicl joined
20:11
am0c left
20:12
shinobicl left,
shinobicl joined
|
|||
masak | .u trying | 20:13 | |
phenny | masak: Sorry, no results for 'trying'. | ||
masak | :P | ||
.u insolence | 20:15 | ||
phenny | masak: Sorry, no results for 'insolence'. | ||
20:15
benabik left,
denisboyun_ left
20:16
_ilbot left,
_ilbot joined
20:26
woolfy joined,
spider-mario joined
|
|||
kboga | hi p6, here's some more pir -> nqp (for rakudo): github.com/rakudo/rakudo/pull/109 , passes the spectests locally, would be nice if it could be incorporated in rakudo but there's no hurry | 20:30 | |
masak | whoa. kboga++ | 20:31 | |
20:32
PacoAir left
20:33
zby_home_ left
|
|||
moritz hopes that was made at least semi-automated | 20:34 | ||
20:35
wingfold joined
|
|||
masak .oO( these commits were painstakingly handcrafted, according to the ancient traditions of the natives ) | 20:35 | ||
20:36
wingfold left
20:37
kboga_ joined
20:38
bruges_ joined,
kboga left
20:39
kboga_ is now known as kboga,
census left
20:40
bruges left
20:46
census joined
|
|||
kboga | got bored on sunday, so did some obvious text replacements, there still remains a bunch of pir though | 20:47 | |
20:48
japhb_ joined
|
|||
FROGGS | kboga++ | 20:49 | |
moritz | many of those are because there's no easy NQP mapping of the PIR Key syntax | 20:51 | |
interp["lexpad"; level] | |||
that one | |||
20:52
cognominal__ left
|
|||
moritz | but I guess it's not much use to invent one, because the usage is inherently non-portable | 20:52 | |
jnthn | You can express those with nqp ops still | 20:55 | |
nqp::lexpad(nqp::outerctx(nqp::ctx())) # just add number of outers...or callers | |||
20:56
fgomez left
20:57
cognominal__ joined
|
|||
moritz | callers, in this case | 20:57 | |
jnthn | *nod* | 20:58 | |
The kboga++ patches look good to me. | 20:59 | ||
ggoebel_ | regarding the "the Perl 6 team isn't working towards production ready" meme... brrt++ is probably right. Take the list of distributions installed on top of strawberry perl (strawberryperl.com/release-notes/5....bit.html), decide which ones make sense for Perl 6, and start porting them... and testing them before each monthly release of Perl 6. | 21:02 | |
Now I might have to delurk long enough to actually do something helpful ;-) | 21:03 | ||
moritz | jnthn: I'm spectesting it now; will push soonish | 21:04 | |
jnthn | moritz++ | ||
tadzik | moritz: would you care to take a look at a 18 LoC require bug? | 21:05 | |
21:06
abth joined
|
|||
moritz | tadzik: I would | 21:07 | |
tadzik | it's 3 files, I'll put it somewhere sane | 21:08 | |
21:08
shinobicl left,
rindolf left
|
|||
tadzik | moritz: do you have access to my feather $HOME? | 21:08 | |
it's 'lib' over there | 21:09 | ||
steps to reproduce: perl6 -Ilib lib/Quest/Game.pm | |||
dalek | Heuristic branch merge: pushed 25 commits to rakudo/nom by moritz | 21:10 | |
moritz | tadzik: I know what the problem is | 21:11 | |
(at least I think I do) | |||
tadzik | great :) | ||
moritz | 'require' doesn't import the type object | ||
21:11
kaare__ left
|
|||
moritz | hm, doesn't seem to be as easy as that though | 21:12 | |
└─[%]─> perl6 -Ilib -e 'require ::("Quest::Event"); say ::("Quest::Event").new' | |||
Quest::Event.new() | |||
that works | |||
tadzik | yes | 21:13 | |
moritz | so, when indirectly loaded, maybe the merging of GLOBAL somehow doesn't work | ||
masak | tadzik: what's this Quest::Game I hear about? :) I'm interested now. | 21:14 | |
tadzik | masak: oh sh! | ||
it's an adventure game | |||
with random levels and stuff | 21:15 | ||
do you know FTL? | |||
lichtkind | panda works hej | ||
masak | can't say I do. | ||
21:15
cognominal__ left
|
|||
tadzik | it's a space exploration game | 21:15 | |
it's so Star-Trek inspired that it's nearly a copyright infrigment ;) | |||
it's also addictive as hell | |||
mainly beacuse of the 'I'll just play one more stage' model. One stage is never more than 5 minutes | |||
and you never know what'll happen. Smuggler ship? Distress call? Pirates? Shop? | 21:16 | ||
so I thought "hey, that's fun, and that could be a text game as well" | |||
moritz | tadzik: I'll try to take another look at it tomorrow; going to bed now | ||
tadzik | moritz: okay, thank you | ||
sleep well | |||
jnthn | 'night, moritz | 21:17 | |
masak | tadzik: cool. sounds worthwhile. | 21:18 | |
tadzik: I don't know whether to be amused or dismayed by the fact that your third class seems to have been EventFactory, however :P | 21:19 | ||
tadzik | and I wanted that fantasy themed, with a party of heroes, trolls, leprechauns and stuff | ||
masak: oh, it fitted well :P | |||
and bumps the Production Ready factory | 21:20 | ||
erm, factor * | |||
imagine them all saying "wow, that's so enterprise. It must be production!" | |||
colomon | tadzik: url? | 21:21 | |
(for Quest::game) | |||
tadzik | colomon: it doesn't work | ||
because of the require bug | |||
and there's almost nothing there either :) | 21:22 | ||
colomon | tadzik: that's great, it means I won't waste time playing it. ;) still might take a look | ||
tadzik | but I can push it somewhere anyway | ||
21:22
cognominal__ joined
21:23
fgomez joined
|
|||
masak | tadzik: we design things differently, methinks. which is fine. | 21:23 | |
tadzik | colomon: github.com/tadzik/Quest is where I stopped | 21:24 | |
masak: how would you approach that? | |||
masak | I'm so steeped in "first, make it work" think that I wouldn't even entertain the thought of introducing an EventFactory that early. even if there was good reason to have it as the design matured. | ||
tadzik | but it revealed a bug :) | ||
well, at first I had only the Nothing event | |||
masak | yes, and tadzik++ | ||
tadzik | the game became a bit boring | ||
masak | :P | ||
that's so zen. | 21:25 | ||
tadzik | then I added a second one, and "hmm, I need an event picker" | ||
masak | yeah, that's where we diverge, I think. | ||
tadzik | the object was a natural choice. Each event returns a new state of the game | ||
masak | I would probably go "this isn't painful just yet. let's see where it leads" :) | ||
tadzik | so when a player enters a cave for example, there may be a different event factory | ||
I didn't want to repeat myself :) | |||
21:25
ElDiabolo left
|
|||
masak | *nod* | 21:26 | |
tadzik | also, there were problems with circular dependencies in precomp | ||
and then there was pain | |||
so I thought "Hey, I'll load classes lazily!" | |||
and then there were 2 problems | |||
masak | and a bug :) | ||
tadzik | yes, that was one of the problems :) | ||
colomon | tadzik++ | 21:27 | |
tadzik | I don't see how I'd avoid the circular dependency either | 21:28 | |
maybe that's part of the problem | |||
masak | you can always avoid it by stubbing classes. | ||
tadzik | hm | ||
21:28
am0c joined
|
|||
tadzik | that should work | 21:28 | |
masak | even though it sometimes feels just as wrong as reversed dependencies. | ||
tadzik | oh well, I can't stub them if I use them | 21:30 | |
here github.com/tadzik/Quest/blob/broke...reChest.pm | |||
I can't quite avoid Quest::Game | |||
21:31
Targen joined
|
|||
tadzik | on second thought, almost-new is a stupid method name too ;P | 21:31 | |
masak | tadzik: from looking at that, I'd say it's back-to-the-drawing-board with your module dependencies. | 21:33 | |
can't quite tell what's wrong, but... | |||
diakopter | nwc10: have you tried your benchmark on nqp-jvm p6eval? | ||
masak | ...the general rule is clear: let less central stuff depend on more central stuff. | ||
*probably* your Quest::Game is more central than TreasureChest. | 21:34 | ||
so that 'use' there is OK. but not the other way around. | |||
tadzik | well, Game employs this EventFactory | ||
which needs to load all the event | |||
s | |||
masak | consider using roles to break up dependency cycles. | ||
tadzik | hm | 21:35 | |
o | |||
oh | |||
oh-oh | |||
masak | sounds like that is applicable here. | ||
tadzik | aye | ||
masak | you might want to look up a little something called "dependency injection", too :P | ||
tadzik | yes | ||
I just thought of that when you said about roles | |||
"this fixes everything \o/" | 21:36 | ||
masak | sorry, I didn't want to sound facetious :) | ||
learning about this stuff is great. | |||
I've probably learned about DI four or so times now. gets easier every time :) | |||
21:37
spider-mario left
|
|||
masak | even so, I've yet to decide whether DI is a great resource in OO programming, or just a horrible symptom of it. | 21:37 | |
21:37
spider-mario joined
|
|||
colomon admits to being suspicious of it. | 21:37 | ||
tadzik | I hate the word Factory already | 21:38 | |
EventFactory is so long | |||
Tale? Story? :) | |||
21:38
cognominal joined
|
|||
diakopter | you're an EventFactory | 21:38 | |
tadzik | yay, things work | 21:39 | |
jnthn | DI is probably just an admission that many times, an object would do with being a bit for FPesque. :) | ||
*more | |||
21:40
Targen left
|
|||
jnthn | Essentially, turning an impure object into a pure-ish one. | 21:40 | |
tadzik | masak: hm. Actually, I don't need that use there at all ;) | ||
I can just use $g as my object | |||
type object, if needed | |||
21:40
cognominal__ left
|
|||
tadzik | stuff works now ;) | 21:40 | |
jnthn | Which is why we like doing it with testing. 'cus pure code is easier to test. :) | ||
masak | jnthn: that's a nice way to spin DI, yes :) | 21:41 | |
the dependency injected into a class is like the parameter injected into a function. | |||
jnthn | It's a lot like currying all the functions with the dependencies. | 21:42 | |
tadzik | colomon: github.com/tadzik/Quest is now playable | 21:45 | |
in case you want to waste some time :) | |||
21:45
cognominal left
|
|||
tadzik | it's not too exciting though | 21:46 | |
21:46
donaldh joined
|
|||
colomon | tadzik: at the moment, alas, I am balancing the $work checkbook. Then I've got to cook dinner and pick up my little boy from the inlaws. Not necessarily in that order. | 21:46 | |
tadzik | :) | ||
21:50
takadonet left
|
|||
masak .oO( cook checkbook and balance pick-up dinner ) | 21:55 | ||
'night, #perl6 | |||
colomon | \o | ||
census | good night masak! | ||
masak++ | |||
21:56
cognominal joined
21:57
abth left
22:02
Targen joined
22:03
lustlife left
|
|||
colomon finished balancing the books for January, which he'd been meaning to get done for weeks, then noticed it is now March and there's another month's worth of balancing to go. sigh. | 22:05 | ||
22:09
cognominal left
22:11
FROGGS left
22:17
kboga left
22:21
cognominal joined
22:31
madhadder joined
22:35
Chillance left
22:48
Targen left
|
|||
jnthn | 'night, #perl6 | 22:48 | |
spider-mario | good night | ||
22:51
SmokeMachine left
22:52
bluescreen100 left
22:53
donaldh left
22:54
woolfy left
23:07
cognominal left
23:10
cognominal joined
23:11
fgomez left
23:18
araujo left
23:32
labster joined
23:36
wk left
23:37
FROGGS joined
23:38
spider-mario left
23:39
cognominal left
23:43
pmurias left
23:45
xinming left
23:46
xinming joined
|