»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by moritz on 25 December 2014. |
|||
00:02
Sqirrel joined
|
|||
dalek | kudo-star-daily: 763c426 | coke++ | log/ (14 files): today (automated commit) |
00:04 | |
timotimo | should panda be taught about the fact that NativeCall dependencies are satisfied by a sufficiently recent rakudo? | 00:08 | |
00:09
chenryn joined
|
|||
timotimo | or should i remove NativeCall from my module's dependencies? | 00:10 | |
also, am i to remove "use NativeCall;" from my scripts? | 00:11 | ||
apparently i am | |||
00:13
Mouq is now known as Quom
00:15
Quom is now known as Mouq,
Mouq is now known as Quom
00:16
Quom is now known as Mouq
00:21
coyocanid left
|
|||
japhb | TimToady: Um, I'm "wrong on the internet"? About what? | 00:28 | |
timotimo | um ... | 00:33 | |
this could be a problem ... | |||
nativecallinvoke doesn't even appear in speshlogs or jitlogs | |||
00:44
adu left
|
|||
masak | 'night, #perl6 | 00:52 | |
timotimo | japhb: what did you reference? i missed something funny? | ||
00:55
chenryn left
|
|||
japhb | timotimo: I saw a highlight in my IRC client from TimToady telling me I was wrong on the internet, and referencing something in the backlog, but it wasn't the immediately previous line, so I wasn't sure what he was talking about. | 00:56 | |
(I'm not surprised about being wrong, more curious what came up worth pointing out. :-) | |||
timotimo | ah | 00:57 | |
:) | |||
00:59
cbk1090 joined
|
|||
geekosaur | I infer he disagrees about how / \ / is recognized? | 01:00 | |
std: / \ / | |||
camelia | std f9b7f55: OUTPUT«===SORRY!===No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes (' ') or use a backslashed form like \x20 at /tmp/Dca41IIzPi line 1:------> / \ ⏏/Parse failed…» | ||
geekosaur | hm, std does the same though | ||
good question | |||
unless this means the rules have changed again :) | |||
timotimo | maybe japhb claimed something about how / \ / works? | 01:01 | |
cbk1090 | Does Perl6 receive input from $*IN or %*ARGS when working with data from a web form using POST. Im trying to make a basic CGI debugger/tester for Perl6. | 01:02 | |
I know there are modules out there now SCGI etc, but I just need something basic, and I want to learn how to do it from the ground up. | 01:03 | ||
timotimo | AFAIK $*IN is how you get the body of the request and %*ENV is where you find all the key/value things, no? | 01:04 | |
hobbs | cbk1090: if you're doing CGI then you're getting data from $*IN and %*ENV, that's implicit in the definition of CGI :) | ||
01:04
Mouq left
|
|||
hobbs | yeah, what timotimo said :) | 01:04 | |
timotimo | implicit? i was hoping it'd be explicitly stated somewhere | ||
hobbs | timotimo: well, the implication comes from the fact that the CGI spec wasn't written for Perl 6 :) | ||
timotimo | ah | 01:05 | |
01:05
Mouq joined
|
|||
timotimo | right, there's a bit of transfer required from "the environment" to "%*ENV" and from "stdin" to "$*IN" | 01:05 | |
dalek | c: 80b124b | util++ | lib/ (8 files): Fix typos. |
||
hobbs | zactly | 01:06 | |
cbk1090: www.ietf.org/rfc/rfc3875 is probably useful reading for you, if you want to reinvent this wheel :) | |||
cbk1090 | I'm sorry for trying to use CGI style, I have seen the advantages of newer models like SCGI etc. but like I said I'm really just trying to start off with the basics | 01:07 | |
timotimo | that's no problem | ||
we trust you're aware of the trade-offs and drawbacks CGI has | |||
hobbs | cbk1090: as long as you're aware, no one should mind | ||
cbk1090 | timotimo, yes, i'am. But for what I'm doing, I really only need the basics. I'm just making a contact-us form and trying to send the output to a file, that the perl6 script opens and writes to. | 01:09 | |
I know its lame but I like it that way. don't need/want email server running | 01:10 | ||
timotimo | sure | 01:11 | |
do we have support for file locking in core, btw? | |||
well, we have NativeCall, so you can just use fcntl (or what function gives you locking?) | 01:12 | ||
oh, i didn't even know about record locking | |||
cbk1090 | timotimo, file locking is what I'll work on next... I'm just trying to take things one step at a time. | 01:13 | |
timotimo | and i didn't know about open file description locks, either | 01:14 | |
but those seem to be rather recent additions | |||
cbk1090 | when I use %*ENV I don't see the key/values. And when I use $*IN I get nothing...? | ||
timotimo | m: say %*ENV.keys | 01:15 | |
camelia | rakudo-moar 9add92: OUTPUT«MANPATH PERLBREW_VERSION PERLBREW_PERL SHELL PERL5LIB USER LS_COLORS PERLBREW_BASHRC_VERSION PERLBREW_ROOT PATH _ PWD LANG PERLBREW_HOME GPG_TTY HOME SHLVL PERLBREW_MANPATH LS_OPTIONS LOGNAME PERLBREW_PATH LC_CTYPE» | ||
timotimo | m: say $*IN.get().perl | ||
camelia | rakudo-moar 9add92: OUTPUT«"Céad slán ag sléibhte maorga Chontae Dhún na nGall"» | ||
timotimo | m: say %*ENV | ||
camelia | rakudo-moar 9add92: OUTPUT«GPG_TTY => not a tty, HOME => /home/camelia, LANG => POSIX, LC_CTYPE => en_US.UTF-8, LOGNAME => camelia, LS_COLORS => , LS_OPTIONS => -N --color=none -T 0, MANPATH => /home/camelia/perl5/perlbrew/perls/perl-5.20.1/man:/usr/local/man:/usr/share/man, PATH =>…» | ||
cbk1090 | I have tested my Apache/CGI config and it works with old perl | ||
timotimo | could you share the code? | ||
cbk1090 | yes %*ENV has a bunch of vars in it but not the responce form the web form. Ok | 01:16 | |
pastebin.com/YRd9aueH | |||
timotimo | you may want to just use flock(2) instead of fcntl, it's got a simpler API | ||
are you sure the query string would be in @*ARGS? | |||
hobbs | it wouldn't | 01:17 | |
cbk1090 | Well that is what I had at first, I was just trying anything. Mostly what I do when learning perl6 | 01:18 | |
timotimo | also, consider replacing my $starDate with something like this: my $starDate = "$dt.year()-$dt.month()-$dt.day() $dt.hour():$dt.minute():$dt.second()" | ||
hobbs | %*ENV<QUERY_STRING> has query args | ||
timotimo | fewer " that way | ||
cbk1090 | the file write stuff is REMed out though | ||
hobbs | but if the form is a POST then you need to read from stdin to get the post body | ||
timotimo | REM? oh that's old school :) | ||
cbk1090 | :) | 01:19 | |
sorry i started on BASIC when I was 11 | |||
jercos | yeah nowadays bash scripts shorten than to "rm" | ||
timotimo | hahaha | 01:20 | |
oh you're mean :) | |||
hobbs | jercos: and you use the C convention of a * at the beginning of every line of comment, right? :) | ||
japhb | Now, now, no fishing the Sea of Gullibility ... | 01:21 | |
jercos | Right, rm /* for the first block, then rm *, and end with rm */ | ||
TimToady | japhb: yes, I'm referring to your tutorial, where you said you could quote whitespace with backslash, which you can't | ||
also, you have mm// where you want ms// | |||
japhb | TimToady: link? I must have forgotten? | ||
TimToady | did you do github.com/perlpilot/perl6-docs/bl...-intro.pod or am I misattributing? | 01:22 | |
someone mentioned it overnight | |||
timotimo | nope, perlpilot and moritz are mainly blame'd | 01:23 | |
TimToady | ah, I see that, now that I look | ||
japhb | Mis-attributing! Hah! I'm not wrong (about that) on the internet! | ||
TimToady | so...nevermind :) | ||
japhb | I was also talking about a tutorial overnight, but in a different venue, and for a different tutorial. | 01:24 | |
Mouq | I believe perlpilot === PerlJam | ||
timotimo | me, too | ||
TimToady | yeah, don't know how I short-circuited that | 01:25 | |
must've been a faulty ^^ operator :) | |||
japhb | Heh | ||
TimToady | PerlJam: you're wrong on the internet! :) | 01:26 | |
geekosaur | we're alive, we're on the internet: we're wrong on the internet | 01:27 | |
japhb is just wrong, regardless of venue ;-) | 01:28 | ||
TimToady | it's just a good thing TimToady is not on the internet right now... | ||
timotimo | it kinda seems like postcircumfix:<( )> (as added by the Native role) is not being called ith an interned callsite. which now makes total sense to me that i look at it | 01:31 | |
because it has flattened args | |||
Mouq | .oO( There's more than one way to be wrong on the internet ) |
||
timotimo | .o( there is more than one wrong on the internet ) | 01:32 | |
japhb | .o( There is more than one wrong internet ) | ||
hobbs | I've seen "sorry, wrong window" before, but I'm not so sure about "sorry, wrong internet" | 01:33 | |
timotimo | .o( there is more than internet ) | 01:34 | |
hobbs | I've been on two of them | 01:35 | |
01:36
colomon left
01:37
colomon joined
02:03
telex left
02:04
telex joined
02:08
adu joined
02:22
Peter_R left
|
|||
ruoso made a bit more progress in the grammar-ebnf slang, but I can't seem to be able to do anything useful in the actions... if I uncomment any of the "make" parts in github.com/ruoso/Grammar-EBNF/blob...Actions.pm it starts failing with obscure errors... | 02:23 | ||
I have been using github.com/tony-o/perl6-slang-sql/...ng/SQL.pm6 as the reference | 02:24 | ||
02:24
Peter_R joined
|
|||
ruoso | I believe it may be related to the fact that I am delegating to another grammar and another action class... | 02:24 | |
github.com/ruoso/Grammar-EBNF/blob...04_slang.t has my end goal | 02:25 | ||
ruoso bbl & | |||
02:28
grettir left
|
|||
timotimo | ruoso: what's the deal with the code duplication of the actions in Grammar/EBNF.pl? | 02:29 | |
02:31
tim joined
|
|||
Mouq | timotimo: It's not duplication, that's the actions for the slang | 02:31 | |
timotimo | oh | 02:32 | |
i'm not sure i understand, but i'ven't written or read a slang yet | |||
02:37
tim left
02:45
ilbot3 left
02:48
ilbot3 joined
|
|||
Mouq | timotimo: There's the EBNF grammar and actions that do their thing, and then the slang ties the grammar/actions into the parser, in this case by augmenting the Perl 6 grammar and actions | 02:51 | |
03:04
noganex_ joined
03:06
colomon left,
colomon joined
03:07
noganex left
03:11
kshannon left
03:12
kshannon joined
03:14
kaare_ left,
kaare_ joined
03:18
Patterner joined
03:22
Psyche^ left
03:29
sada joined
03:30
sada left
03:55
kurahaupo1 joined,
jack_rabbit joined
04:09
BenGoldberg left
04:19
ggoebel111111114 left
04:21
mr-foobar left
04:26
mephinet joined
04:31
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk
04:50
mr-foobar joined
05:09
mephinet left
05:31
Mouq left
05:40
firefish5000 joined
05:41
diana_olhovik_ joined
05:45
firefish5000 left
05:47
firefish5000 joined
05:53
[Sno] left,
Mouq joined
05:59
mr-foobar left
|
|||
firefish5000 | Good day #perl6! I was having trouble with overriding named (slurpy) parameters. Do they get appended to the end of the list or something? | 06:03 | |
m: sub SSay (*%_) { say %_.perl;}; SSay(is0=>0,is1=>0,is2=>0,|{is1=>1,is2=>1},is2=>2); | |||
camelia | rakudo-moar 9add92: OUTPUT«("is1" => 1, "is0" => 0, "is2" => 1).hash» | ||
06:10
mr-foobar joined,
bjz joined
|
|||
firefish5000 | Correction, I dont have a problem with Slurpy parameters, but the |{Magical Pipe that makes my hashes go through as named args whos name I do not recall} | 06:11 | |
06:12
mr-foobar left
06:14
bjz left
06:18
sqirrel_ joined
06:20
molaf joined
|
|||
TimToady | sure looks like they're appended after the literal args, doesn't it... | 06:24 | |
06:24
mephinet joined
|
|||
TimToady | m: \((is0=>0,is1=>0,is2=>0,|{is1=>1,is2=>1},is2=>2).perl | 06:25 | |
camelia | rakudo-moar 9add92: OUTPUT«===SORRY!=== Error while compiling /tmp/S_VN12QlkOUnable to parse expression in parenthesized expression; couldn't find final ')' at /tmp/S_VN12QlkO:1------> =>0,is2=>0,|{is1=>1,is2=>1},is2=>2).perl⏏<EOL> …» | ||
TimToady | m: \(is0=>0,is1=>0,is2=>0,|{is1=>1,is2=>1},is2=>2).perl | ||
camelia | rakudo-moar 9add92: OUTPUT«===SORRY!=== Error while compiling /tmp/wxEnaufw3gVariable '&prefix:<|>' is not declaredat /tmp/wxEnaufw3g:1------> \(is0=>0,is1=>0,is2=>0,⏏|{is1=>1,is2=>1},is2=>2).perl» | ||
TimToady | oh hoof, you're a Capture, you're supposed to know about | | ||
hobbs | is the source for camelia available? And which would be preferable -- a patch to turn ANSI color codes into IRC color codes, or a patch to strip them? :) | 06:28 | |
06:30
kaleem joined,
diana_olhovik_ left
|
|||
TimToady likes the colors | 06:31 | ||
and the ANSI colors show up fine in irssi :) | 06:32 | ||
hobbs | ah, they don't for me | ||
TimToady | if IRC colors can improve what the logger gets though, I'd be okay with that | ||
I suspect, however, that they'd just be a different set of mojibake | 06:33 | ||
hobbs | I'm treated to i.imgur.com/LPqtYlZ.png | ||
firefish5000 | I guess its not an odd feature then. For future reference, what do we call the prefix:<|> oporator (or would that be its name? | 06:34 | |
TimToady | maybe your client has an option for ANSI colors that you need to turn on? | ||
hobbs | I was just looking for a setting like that, I don't think there is | 06:35 | |
TimToady | doesn't really have a name yet; I think of it as a slit in the argument list into which you slide run-time args | ||
hobbs | TimToady: 03is this green? | ||
TimToady | and as you can see, rakudo doesn't exactly treat it as an operator anyway, but as special syntax | ||
hobbs: yes | |||
hobbs | then I'll take a stab at the IRC color option, and if it bothers more people, I'll be quiet :) | 06:36 | |
TimToady | it's not green in the irc logs, but maybe that's an improvement over mojibake | 06:37 | |
hobbs | arguably :) | ||
firefish5000 | I suppose for now prefix:<|> it is (your probably the only one who would understand me if I asked about the slit operator) | 06:38 | |
06:40
gfldex joined
06:41
adu left,
adu joined
06:46
bjz joined
|
|||
hobbs | TimToady: do you know if the source is available? Should I ask nine_? | 06:46 | |
TimToady | github.com/perl6/evalbot.git or so, I think | 06:49 | |
hobbs | that looks right | 06:51 | |
firefish5000 | hobbs, hexchat gives results similar (worse for me) to yours, along with my phons irc. So your not alone and a patch would be great :) | 06:53 | |
hobbs | firefish5000: yeah, I'm on xchat which hexchat is a derivative of | ||
firefish5000 | m: sub SSay (*%_) { say %_.perl;}; SSay(|{is0=>0,is1=>0,is2=>0},|{is1=>1,is2=>1},|{is2=>2}); # Seems like slurping everything does the trick | 06:54 | |
camelia | rakudo-moar 9add92: OUTPUT«("is0" => 0, "is1" => 1, "is2" => 2).hash» | ||
06:54
kurahaupo1 left
|
|||
firefish5000 | hobbs, I use to use xchat, but my distro dropped them since development seemed to stop. | 06:56 | |
firefish5000 rejoices as his code starts functioning again! | 06:58 | ||
hobbs | it stopped in a place that doesn't bother me :) | ||
TimToady | ~. | 07:02 | |
firefish5000 | lol, well I imagine any vulnerabilities would be negligible. Though I might worry about hart-bleed. | 07:03 | |
TimToady | stupid wifi at this hospital knocks me off every half hour or so... | ||
(in waiting room waiting for arrival of 3rd grandkid...) | |||
07:05
spider-mario left,
sqirrel_ left
|
|||
firefish5000 | Oh, i'm surprised your online. Omedetou gozaimasu ([an early] congradulations) | 07:07 | |
TimToady | どうも有難う。。。 | 07:09 | |
07:11
raiph left
|
|||
TimToady finds it entertaining that "arigatou" actually comes from "exists difficulty" | 07:12 | ||
firefish5000 | apparently its to acknowledge that the other person has gone through the difficulty to do something for you..(im not making much since, I had to look it up) | 07:16 | |
You have gone through part would be implied probably, though when you look at just 'difficaulty exist', you would assume bad news... | 07:18 | ||
07:25
Rounin joined
07:30
[Sno] joined,
gfldex left
07:33
jack_rabbit left
07:36
SHODAN left
07:38
SHODAN joined
07:46
diana_olhovik_ joined
|
|||
jnthn | morning, #perl6 | 07:53 | |
07:54
FROGGS joined
|
|||
sjn | good *, jnthn & #perl6 | 07:56 | |
moritz | \o jnthn, sjn, * | ||
07:58
darutoko joined,
_mg_ joined
|
|||
TimToady | jnthn: see note above about | appending rather than inserting | 08:01 | |
also, wondering why a capture composer like \() can't do | insertion | 08:03 | ||
jnthn | TimToady: Saw it; there's not a lot I can easily do about it, though. | ||
TimToady: | really should work in \(...), but \(...) is odd in ohter ways too at the moment. | |||
*other | |||
08:04
prime left
|
|||
dalek | ast: aaa9a03 | moritz++ | S19-command-line/repl.t: Avoid test failure in S19-command-line/repl.t on parrot it seems to print the ">" prompt to STDERR |
08:04 | |
jnthn | TimToady: It occurs to me that the way to implement \(...) is to just compile it into a call to a sub MAKE-A-CAPTURE(|c) { c } :) | ||
And use the normal args processing logic. | 08:05 | ||
jnthn isn't sure why it's not done like that already... | |||
Maybe it was a performance thing, but we can construct a |c in a sub using bind lowering these days, not even a trip through the slow-path binder. | |||
So it probably is the fastest way. | |||
TimToady: oh, or alternatively we define method new(|c) { c } on Capture ? | 08:06 | ||
TimToady: Which snapshots it after the slef. | |||
*self | |||
nwc10 | good UGT, * | 08:10 | |
jnthn | TimToady: At the moment Caputre takes a :@list and :%hash named args, fwiw | 08:12 | |
08:12
prime joined
08:14
kurahaupo1 joined,
rurban joined
08:15
larion left
08:17
rindolf joined
08:18
fhelmberger joined
08:19
kjs_ joined
08:20
pmqs left
08:24
wicope joined
08:28
Kristien joined
|
|||
Kristien | mood gorning | 08:28 | |
08:34
abraxxa joined,
abraxxa left,
FROGGS left,
kurahaupo1 left
|
|||
vendethiel | o/, #perl6 | 08:34 | |
08:39
mattp_ left
08:40
mattp_ joined,
ponbiki left
08:41
pdcawley joined,
ponbiki joined
08:42
ponbiki is now known as Guest76664
|
|||
Kristien | I want FIFOs that discard input if there are no writers. | 08:45 | |
s/writers/readers/ | |||
jnthn | m: my $s = Supply.new; $s.emit(1); $s.tap(&say); $s.emit(2); | 08:47 | |
camelia | rakudo-moar 9add92: OUTPUT«12» | ||
jnthn | wtf?! | ||
That's meant to only say 2. arrrrgh. | |||
raydiak | m: my $s = Supply.new; $s.emit(1); sleep 1; $s.tap(&say); $s.emit(2); | 08:48 | |
camelia | rakudo-moar 9add92: OUTPUT«12» | ||
jnthn | How the heck is it keeping the values around? It's meant to be a simple pub-sub thing and if nobody listens they're gone. :/ | ||
raydiak | maybe it erroneously defaults to an on-demand supply? | 08:49 | |
jnthn | But those need explicit creation. | ||
08:49
zakharyas joined
|
|||
jnthn | m: my $s = Supply.new; $s.emit(1); $s.tap(&say); $s.emit(2); $s.tap(&say); | 08:50 | |
camelia | rakudo-moar 9add92: OUTPUT«12» | ||
jnthn | And if it was an on-demand one the output should be 1212. | ||
raydiak | yep, seems not | ||
08:51
pecastro left
|
|||
jnthn | It's almost as if it's doing a "buffer until first tap", which is a potentially useful behavior, but certainly not the right default. | 08:52 | |
raydiak was just looking for any mention of such behavior | |||
jnthn | I'd imagine it's a relatively rare thing to want, though. For on-demand supplies you don't start the flow until you tap, so there's no race. And for live supplies you know you're tapping into a live stream of values. | 08:54 | |
08:55
virtualsue joined
|
|||
raydiak | agreed it certainly doesn't seem like what we want, and doesn't seem to be designed as such as far as docs say | 08:55 | |
github.com/rakudo/rakudo/blob/nom/....pm#L65-67 is that...pushing onto a queue if it hasn't been tapped yet? | 08:58 | ||
moritz | yes | 08:59 | |
and it should only do that for an on-demand supply, right? | |||
raydiak | correct | ||
jnthn | Uh, no, on-demand ones shouldn't work like that either. | 09:00 | |
On demand ones typically run some code when you tap them | |||
Supply.interval(1) for example runs code to start a timer. | |||
raydiak: Ugh, looks like | 09:02 | ||
raydiak | so nothing should have been emitted to them before they were tapped? | ||
jnthn | I don't have time to worry about this now. | ||
raydiak: For an on-demand one, yes; it's the act of tapping that starts the flow of values. | 09:03 | ||
raydiak | we could maybe just add a " && self.live" on L65 in the condition on L65 maybe | ||
jnthn | I need, when I have time, to look at why we ended up with this. | 09:05 | |
Probably something somewhere wants this kind of behavior, rightly or wrongly. | |||
raydiak | github.com/rakudo/rakudo/commit/8a...33e845ee57 looks like lizmat++ tried to rip it out and had problems | 09:06 | |
09:06
adu left
|
|||
jnthn | At least it's easy to remove | 09:06 | |
But yeah, we should look at something specific to categorize/classify | 09:07 | ||
moritz | t/spec/integration/advent2013-day14.t hung for me in j-spectest | 09:08 | |
... but works fine in isolation | 09:13 | ||
jnthn | urgh | 09:15 | |
fwiw, social.msdn.microsoft.com/Forums/e...n?forum=rx is a useful post on the semantics of GroupBy in Rx, which are the kind of problem we have with classify/categorize. | |||
Basically, you don't emit the value into the nested Supply until the emit call for the Supply itself has returned, so any subscription done on it has taken place. | 09:16 | ||
And, short of folks doing stuff to explicitly introduce a race condition (like in the question), it works out. | 09:17 | ||
09:18
Guest76664 is now known as ponbiki
|
|||
nwc10 | fwierzbicki.blogspot.co.at/2015/02/...eased.html | 09:20 | |
nwc10 is pleased to see that its making progress. | 09:21 | ||
er, grammar. it's | |||
nwc10 isn't pleased to see that it's yet another usless-use-of-javascript page. | |||
vendethiel | .tell btyler lots of articles sum up my point of view on go, tmikov.blogspot.fr/2015/02/you-dont...e-you.html and yager.io/programming/go.html are pretty much on point | 09:27 | |
yoleaux | vendethiel: I'll pass your message to btyler. | ||
09:28
_mg_ left
09:30
dakkar joined
09:33
adu joined
09:38
Kristien left
09:39
espadrine_ joined
09:41
FROGGS joined
09:44
espadrine_ left,
espadrine joined
09:45
larion joined
09:47
sqirrel_ joined,
donaldh joined,
kjs_ left
09:51
kjs_ joined
09:52
firefish5000 left
|
|||
masak | good antenoon, #perl6 | 09:52 | |
jnthn | ma/sak | 09:53 | |
raydiak | \o masak | ||
09:53
_mg_ joined
|
|||
raydiak lacks the energy to maintain corporeal form, and disperses into the aether for a regeneration cycle | 09:56 | ||
09:59
_mg_ left
|
|||
dalek | kudo/nom: 9f7187a | lizmat++ | docs/release_guide.pod: Propose "Parrotopia" as name for release #85 |
10:02 | |
10:02
kaleem left
|
|||
lizmat | inspired by www.marsanomalyresearch.com/evidenc...otopia.htm | 10:03 | |
10:04
kjs_ left
|
|||
lizmat realizes it could be construed in many ways but intends it to be as something with a history to be(re-)discovered and hard to reach | 10:04 | ||
btyler | vendethiel: yes, the language has a ton of shortcomings. my point was that go (and node) are two very strong recent samples of lots of people getting excited about a platform and investing time into it -- writing libraries, writing apps, etc. | ||
yoleaux | 09:27Z <vendethiel> btyler: lots of articles sum up my point of view on go, tmikov.blogspot.fr/2015/02/you-dont...e-you.html and yager.io/programming/go.html are pretty much on point | ||
vendethiel | btyler: oh, sure, that happens a lot. fwiw, I also think there are tons of thing wrong with, say, docker or chef which are apparently loved by maby | 10:06 | |
s/aby/any/ | |||
10:07
abraxxa joined
|
|||
TimToady still waitin' for another grandkid... | 10:07 | ||
btyler | sure. but again, solved problems for lots of people, became wildly popular. the core thing here is that dismissing $popular_thing because it isn't as good as $rather_obscure_thing and assuming that people will sort out how awesome your project is for themselves is a mistake, and will lead to marginalization of your preferred platform | 10:08 | |
10:08
kaleem joined
|
|||
btyler | and marginalization makes the platform worse for doing real things | 10:08 | |
vendethiel | btyler: which, really, isn't what I'm trying to convey here :-) | 10:09 | |
btyler | ok, talking past each other I suppose | ||
10:09
dg left
|
|||
lizmat | TimToady: wow... but still, for the mother to be, I suspect the "waiting" is even more annoying :-) | 10:11 | |
10:11
firefish5000 joined
|
|||
TimToady | indeed, that's harder than I'll ever work... :) | 10:12 | |
10:14
dg joined
10:19
firefish5000 left,
Vlavv_ left
|
|||
sergot | morning #perl6 ! | 10:20 | |
nwc10 | TimToady: sibling of existing grandkid, or cousin? | 10:21 | |
lizmat | sergot o/ | ||
jnthn | btyler: I guess it's a case of things having to be simultaneously familiar enough to another widely adopted thing that the leap isn't frightening for the average developer, while at the same time seeming different enough to offer some new value. :) | 10:22 | |
lizmat: Tomorrow is release day? When're you planning to cut it, ooc? | 10:25 | ||
lizmat | jnthn: yes, tomorrow is release day | ||
jnthn | lizmat: More concretely: is a MoarVM release tomorrow morning fine? | 10:26 | |
lizmat | yeah, that would be fine :-) | ||
jnthn | OK, cool. | ||
10:26
diana_olhovik_ left
|
|||
nwc10 | for a daylight value of morning, or a UGT value? :-) | 10:26 | |
10:26
diana_olhovik_ joined
|
|||
lizmat | I mean, you're morning already ends at 10:00 UTC anyway :-) | 10:26 | |
jnthn | nwc10: Daylight. :) | ||
lizmat | *your | ||
jnthn | lizmat: True :) | ||
Hm, which means it's already time to make lunch :) | 10:31 | ||
10:32
Vlavv_ joined
|
|||
TimToady | nwc10: sibling to Cid, and a cousin of Julian | 10:35 | |
nwc10 | which demonstrates that I'd already lost count! | ||
10:43
kjs_ joined,
firefish5000 joined
|
|||
TimToady | well, it's 3 grandkids now \o/ | 10:52 | |
as of about 13 minutes ago | |||
lizmat | cograts TimToady (and everybody involved!) | ||
*congrats :-) | |||
TimToady | healthy lungs anyway :) | ||
from what we could hear... | 10:53 | ||
10:57
kjs_ left
|
|||
dalek | kudo/nom: 66de7b2 | lizmat++ | src/core/Str.pm: Make Str.trans(Str,'x') 10 - 30% faster still |
10:57 | |
10:58
rurban1 joined
|
|||
alpha- | congratz | 11:00 | |
jnthn | TimToady: Congrats! :) | 11:04 | |
lizmat | .oO( nobody seems to like "Parrotopia" as a release name just yet ) |
11:05 | |
jnthn | lizmat: Hey, nobody disliked it either :P | ||
lizmat | alternative could be Berlin | 11:06 | |
jnthn | I'm a little skeptical they're a Pm group in that location :P | ||
Uh, PM :) | |||
lizmat | which has a wall-like ring to it | ||
well, yeah, but it could, in the far future have a PM group :-) | |||
and Berlin *does* have a PM group afaik | 11:07 | ||
|Tux| thinks he is moving in the right direction ... | |||
All tests successful. | |||
Files=8, Tests=17671, 60 wallclock secs ( 1.92 usr 0.14 sys + 60.00 cusr 0.48 csys = 62.54 CPU) | |||
Result: PASS | |||
lizmat | |Tux|: did it get any faster recently? | ||
|Tux| | not till this morning, lemme check now | 11:08 | |
11:08
adu left
|
|||
jnthn wonders if it's a parallel test run... | 11:08 | ||
|Tux| | no it is not | ||
jnthn | Doens't look it from the numbers. May also help :) | ||
(If "I have to wait for tests" is a bottleneck.) | 11:10 | ||
nwc10 | TimToady: congratulations. | 11:12 | |
FROGGS | TimToady: congrats! \o/ | 11:14 | |
|Tux| | is 4% speed improvement about right? | ||
|Tux| also congrats grandpa TimToady | 11:15 | ||
masak | TimToady: grand congrats on the grandkid :) | ||
|Tux| | test 50000 38.723 38.529 | ||
test-x 50000 38.435 38.241 | |||
but *that* is something I like. complete code now faster than my starting point | |||
38.x used to be between 39.x and 42.x | 11:16 | ||
x being noise | |||
masak .oO( I don't always include noise, but when I do, I include it after the decimal point. ) | 11:17 | ||
[ptc] | TimToady: congratulations! | 11:18 | |
jnthn | .oO( 42.wtfmasak :P ) |
||
|Tux|: And I hope Rakudo/Moar improvements will make it a good bit faster still in the weeks/months to come :) | 11:19 | ||
|Tux| | I currently build about twice a week | ||
I currently build about twice a day | |||
masak | I currently build about twice an hour | 11:20 | |
|Tux| | I have other $work tasks | ||
moritz | TimToady: congratulations! | ||
|Tux| | what is the last generic method being called (even after BUILD) when new() is invoked that can access all attributes set in BUILD? | 11:27 | |
11:28
kjs_ joined
|
|||
moritz | |Tux|: .new calls .BUILDALL, which again class all BUILD submethods | 11:28 | |
|Tux|: so if you want to hook in essentially after object creation, write your own BUILDALL, use callsame() to re-dispatch to the default one | 11:29 | ||
|Tux|: and then do whatever you want to do | |||
|Tux| | I cannot call self!method from the end of BUILD, which is essentially what I want to do | ||
|Tux| tries ... | |||
BUILDALL also needs *%init ? | 11:31 | ||
masak enjoys seeing |Tux| discover Perl 6 | |||
|Tux| | :) | ||
moritz | method BUILDALL(@autovivs, %attrinit) # is what src/core/Mu has | 11:32 | |
|Tux|: if you don't need the arguments, just capture them call | |||
jnthn | If you don't want any of the argumens, then just method BUILDALL(|) { callsame; ...stuff... } | ||
moritz | method BUILDALL(|c) { callsame; do your stuff here } | ||
|Tux| | I'm amazed that I am even publicly enthusiastic ( www.perlmonks.org/?node_id=1116877 ) | ||
jnthn | moritz++ is faster :) | ||
moritz | or right, with an anonymous capture, if you don't need it at all in the code | ||
|Tux| | same with BUILDALL: I am unable to access $!attribute from self!method call from BUILD or BUILDALL | 11:34 | |
lemme check if I can make an example ... | 11:35 | ||
11:36
sqirrel_ left
|
|||
moritz | m: class A { has $!x; submethod BUILD(:$!x) { }; method BUILDALL(|) { callsame; say $!x } }; A.new(x => 42) | 11:36 | |
camelia | rakudo-moar 66de7b: OUTPUT«42» | ||
jnthn | Just in case: make sure it's method BUILDALL, not submethod BUILDALL | 11:37 | |
lizmat | wow, for the first time in a *long* time, not just bad reactions on a P6 thread on Perl Monks , wow! | 11:44 | |
(at least, that I know about: I generally avoid PerlMonks) | 11:45 | ||
moritz | lizmat: fwiw I've occasionally answered questions there (that already had a p5 answer) with a p6 answer, and the reactions were usually mixed to positive | 11:46 | |
I don't think I've ever seen purely negative threads | |||
|Tux| | gist.github.com/Tux/ac2055cfd4b0806a538b <= That is my problem | ||
moritz | (I always answered with working code, not hypothetical stuff) | ||
|Tux|: you don't initialize foo and bar in the same object, so one of them will always be undefined | 11:48 | ||
|Tux|: hence the warning from !sanity_check | |||
|Tux| | foo and bar have a default in the declaration | ||
I expect those to be true before BUILD | 11:49 | ||
moritz | your expectations don't match what's specced/implemented | ||
|Tux| | if that is not the case, I need to move the defaults to BUILDALL? | 11:50 | |
moritz | if you write a BUILD, the defaults don't work anymore | ||
|Tux| | FUCK! | ||
sorry | |||
moritz | well, you can do | ||
my %defaults = (a => 'A', ...) | |||
and then inside BUILD, iterate over %defaults instead of %init | |||
and do a if %init{$key}:exists { do your magic here } | 11:51 | ||
|Tux| | this is so completely unexpected | ||
masak | |Tux|++ # www.perlmonks.org/?node_id=1116877 | ||
11:59
yakudza joined
|
|||
El_Che | Slang::Tuxic | 12:09 | |
haha | |||
:) | |||
12:09
firefish5000 left
|
|||
El_Che reading |Tux|'s post | 12:09 | ||
12:09
telex left
12:10
telex joined
12:13
coffee` joined
12:15
Ven joined
|
|||
timotimo | o/ | 12:15 | |
|Tux| | Hmmm, boooo! «C.new ($attr => $x);» => Default constructor for 'C' only takes named arguments | 12:16 | |
moritz | yes, $attr => $x is a named argument | 12:18 | |
erm, positional | |||
jnthn | If you want to treat it as a named do |($attr => $x) | ||
moritz | put a |(...) around it to re-interpolate it into the argument list, which will make it named | ||
|Tux| | hmmm, new surprises | 12:22 | |
12:31
Alina-malina left
12:32
Alina-malina joined
|
|||
|Tux| | having the defaults as noted in the declaration be valid even before BUILD is probably too late a change to request? | 12:36 | |
timotimo | that's something the default BUILDALL does; you can override it and use the buildallplan that's created for you, i'd think. let me have a look | 12:41 | |
tadzik | what are you trying to do? | ||
I'm experienced at not having BUILD doing what I expect :P | |||
timotimo | yeah, you can get the BUILDPLAN and BUILDALLPLAN via self.BUILD[ALL]PLAN | ||
12:44
pdcawley left
|
|||
timotimo | [Tux]: i have something that might help you | 12:48 | |
you should be able to do something like my $object = self.bless(...); $object!attr = 5; | |||
right? | |||
[ptc] | m: use Test; skip "next line shouldn't run"; eval_dies_ok('warn'); | 12:49 | |
camelia | rakudo-moar 66de7b: OUTPUT«ok 1 - # SKIP next line shouldn't runWarning in block <unit> at EVAL_0:1not ok 2 - # Failed test at /tmp/dvUvkt9Sn0 line 1» | ||
[ptc] | m: use Test; plan 1; skip "next line shouldn't run"; eval_dies_ok('warn'); | ||
camelia | rakudo-moar 66de7b: OUTPUT«1..1ok 1 - # SKIP next line shouldn't runWarning in block <unit> at EVAL_0:1not ok 2 - # Failed test at /tmp/Ae45K2N776 line 1# Looks like you planned 1 tests, but ran 2# Looks like you failed 1 tests of 2» | ||
|Tux| | short explain: for all attributes that can be controlled through either new or accessors, the call should finish with a call to check the validity of each of the attributes in relation to one another | 12:50 | |
timotimo | that's not how skip works | ||
[ptc] | timotimo: but that's how it's documented/specced | ||
timotimo | oh? | ||
have a quick link for me? | |||
[ptc] | "skip the next count tests" | ||
moritz | then the documentation needs to be updated | ||
[ptc] | mom | ||
timotimo | yeah, it can't actually influence the following code | ||
AFAIK you'd run skip instead of the test | 12:51 | ||
[ptc] | timotimo: perl6/specs/S24-testing.pod | ||
12:52
molaf_ joined
|
|||
timotimo | The skip() function is called instead of the some tests (usually because they would die), and emits $count SKIP markers in the TAP output. | 12:52 | |
[ptc] | yup | ||
timotimo | The todo() and skip() functions are generally automatically generated by some sort of source code fudging program. | ||
[ptc] | yeah, that wasn't that clear to me | ||
timotimo | OK | ||
which part of the document led you to believe otherwise? because that part needs changed | 12:53 | ||
[ptc] | so how should one use skip? | ||
well, that was the bit which led me to believe that skip just skips the following $count tests | |||
timotimo | if $*VM<name> eq "moar" { is $foo, $bar } else { skip "not on Moar, sorry!" } | 12:54 | |
[ptc] | I remember thinking when first reading it, "hey, there must be some cool magic going on here" | ||
timotimo: much better | |||
I'll update the docs, thanks for your help! | |||
timotimo | no, thank *you*! | ||
12:55
molaf left
|
|||
[ptc] | ach | 12:55 | |
12:58
ggoebel111111114 joined,
Ven left,
Ven joined
12:59
grondilu joined
|
|||
grondilu | tadzik: u ther? | 12:59 | |
tadzik | grondilu: yer | ||
grondilu | when I rebootstrap panda, it refetches and reinstalls NativeCall. I guess I should remove it now that it is in core, shouldn't I? | ||
moritz | yes | 13:00 | |
lizmat | shouldn't we wait until the next rakudo* release? | ||
moritz | lizmat: I plan to do a R* release ASAP after the rakudo compiler release | 13:01 | |
lizmat | ++moritz | ||
moritz | lizmat: and it would be most awesome if stuff wouldn't depend on NativeCall anymore | ||
lizmat | agree | ||
tadzik | grondilu: oh, I didn't notice it's core :o | ||
grondilu | but there is no remove|uninstall command to panda, is there? | ||
tadzik | grondilu: it should be fired from the ecosystem then | 13:02 | |
grondilu: no, there's not | |||
lizmat | tadzik: firing now would break things for people not on blead | ||
tadzik | lizmat: oh, indeed | ||
moritz | the ideal procedure would be: 1) wait for the release | 13:03 | |
2) remove NativeCall.pm from the zavolaj repo | |||
3) update all modules that depend on NativeCall to not do that anymore | |||
4) throw out nativecall from META.info | |||
lizmat | moritz: could we inject a rakudo version dependency ? | 13:04 | |
moritz | lizmat: I don't think that's supported. Or is it, tadzik? | ||
tadzik | moritz: unsupported, no :( | 13:05 | |
you could have a Build.pm that checks this before compiletime | |||
[ptc] | timotimo: so, todo() works much the same way, yes? | ||
tadzik | and do magic then | ||
timotimo | indeed | ||
tadzik | to some extend | ||
[ptc] | cool, ta | ||
timotimo | if you look at our spec test suite, you can see our "fudge and run" thingie | ||
that reads "special" comments like #?todo 5 "still buggy" | 13:06 | ||
and comments out lines, replacing them with todo calls instead | |||
[ptc] | ok, will have a look | 13:08 | |
m: use Test; plan 1; if $*KERNEL ~~ 'win' { ok(True); } else { todo "not yet implemented"; } | |||
camelia | rakudo-moar 66de7b: OUTPUT«1..1# Looks like you planned 1 tests, but ran 0» | ||
timotimo | um ... huh? | ||
[ptc] | was a bit confused that no tests were counted in that code | ||
timotimo | m: say $*KERNEL | ||
camelia | rakudo-moar 66de7b: OUTPUT«linux (1.SMP.Wed.Dec.17.18.0.44.UTC.2014.762.f.27.a)» | ||
timotimo | m: say $*KERNEL.perl | ||
camelia | rakudo-moar 66de7b: OUTPUT«Kernel.new(release => "#1 SMP Wed Dec 17 18:00:44 UTC 2014 (762f27a)", name => "linux", auth => "unknown", version => Version.new('1.SMP.Wed.Dec.17.18.0.44.UTC.2014.762.f.27.a'), signature => Blob, desc => Str)» | ||
[ptc] | that shouldn't follow the happy path, however am surprised that the todo'd test isn't counted | 13:09 | |
timotimo | oh, hah | ||
ah, todo wants you to run atest after it | 13:10 | ||
m: use Test; plan 1; if $*KERNEL ~~ 'win' { ok(True); } else { todo "not yet implemented"; nok(True) } | |||
camelia | rakudo-moar 66de7b: OUTPUT«1..1not ok 1 - # TODO not yet implemented# Failed test at /tmp/z5_FCX4ki5 line 1» | ||
moritz | yes, that's the difference between TODO and SKIP | ||
timotimo | m: use Test; plan 1; if $*KERNEL ~~ 'win' { ok(True, "calling some WinAPI function works"); } else { todo "not yet implemented"; nok(True, "calling some WinAPI function works") } | ||
camelia | rakudo-moar 66de7b: OUTPUT«1..1not ok 1 - calling some WinAPI function works# TODO not yet implemented# Failed test 'calling some WinAPI function works'# at /tmp/OMTT5OXKre line 1» | ||
timotimo | sorry, i explained it wrong before | ||
good thing you looked extra closely | 13:11 | ||
13:11
Mouq left,
skids left
|
|||
[ptc] | so the todo should barf, whereas the skip doesn't? | 13:11 | |
timotimo | barf? | 13:12 | |
[ptc] | fail | ||
|Tux| | FROGGS, is it hard to have Slang::Tuxic also accept «$object."$method" (foo => 1);» ? | 13:13 | |
moritz | [ptc]: the todo() makes the next test not fail | ||
timotimo | er | ||
[ptc] | timotimo: www.urbandictionary.com/define.php?term=barf | 13:14 | |
timotimo | i'd express it "the todo() makes the failure of the next test be interpreted as inverted" | ||
moritz | not inverted | ||
masak | "it will end up being a hotch potch of different styles on a block-by-block basis enabled through the use of lexical pragmas" -- www.perlmonks.org/?node_id=1116989 | ||
moritz | a todo'ed pass isn't a fail | ||
FROGGS | [Tux]: no, I guess that should be easily doable | ||
timotimo | m: use Test; todo "this test is known to not succeed yet"; ok True, "oops!"; | ||
camelia | rakudo-moar 66de7b: OUTPUT«ok 1 - oops!# TODO this test is known to not succeed yet» | ||
timotimo | oh, it's not | ||
that must be something our spec test runner does, in that case | |||
masak | I doubt that will happen. (the BrowserUk quote). people are more sensible than that. | 13:15 | |
|Tux|++'s slang is an extreme point, no the default. | |||
we can still have tools that convert styles. | |||
[ptc] | so the above example from timotimo++ should have been this: | 13:16 | |
m: use Test; plan 1; if $*KERNEL ~~ 'win' { ok(True, "calling some WinAPI function works"); } else { todo "not yet implemented"; ok(True, "calling some WinAPI function works") } | |||
camelia | rakudo-moar 66de7b: OUTPUT«1..1ok 1 - calling some WinAPI function works# TODO not yet implemented» | ||
moritz | normally, a todo() comes before a *failing* test | ||
[ptc] | however, the test is still run, whereas a skip isn't | 13:17 | |
? | |||
moritz | m: sub my-custom-pi { 3 }; plan 1; todo 'not yet precise enough'; is my-custom-pi(), pi, 'my-custom-pi'; | ||
camelia | rakudo-moar 66de7b: OUTPUT«===SORRY!=== Error while compiling /tmp/v06ZVlFQ6AUndeclared routines: is used at line 1 plan used at line 1 todo used at line 1» | ||
moritz | m: sub my-custom-pi { 3 }; use Test; plan 1; todo 'not yet precise enough'; is my-custom-pi(), pi, 'my-custom-pi'; | ||
camelia | rakudo-moar 66de7b: OUTPUT«1..1not ok 1 - my-custom-pi# TODO not yet precise enough# Failed test 'my-custom-pi'# at /tmp/Gzx0eaXVwc line 1# expected: '3.14159265358979'# got: '3'» | ||
moritz | [ptc]: if you use skip(), you have to ensure yourself that the tests aren't run | 13:18 | |
[ptc] | moritz: was just trying to get the distinction clear in my head... | ||
moritz | if $*KERNEL.is-win { run_5_windows_only_tests() } else { skip 'windows-only tests', 5 } | 13:19 | |
[ptc] | moritz: but in the custom-pi code, it still fails... | ||
or do I interpret that incorrectly? | |||
moritz | [ptc]: the test harness doesn't report it as a failure | ||
[ptc]: because it specia-cases the # TODO $reason comment at the end | |||
[ptc] | moritz: ah, that's the piece of info that I'm missing | ||
13:19
kaleem left
|
|||
[ptc] | in other words, prove works | 13:20 | |
13:24
pecastro joined
|
|||
psch | /o\ | 13:30 | |
something is wrong with array marshalling as i'm implementing it | |||
jvm SIGSEGVs are a strong indicator | |||
timotimo | eep | ||
psch | but the AbstractMethodError that i get when it doesn't SIGSEGV also points to "something is wrong" | 13:31 | |
same for the NPE | |||
that's all with the same changes | |||
the core problem with all of this is differentiating between NQP listy types and other-HLL listy types | 13:32 | ||
the former have to be handled in BootJavaInterop, so we always have rudimentary support | 13:33 | ||
and that works fine for one-dimensional lists | |||
but multi-dim means that i have to either 1) generate something that iterates over all dimensions (which... ugh) or 2) i write bytecode to call through to a java-implementation that iterates through all dimensions | 13:34 | ||
the latter is what i've been trying, and running into troubles with testing it on NQP level, while testing the BootJavaInterop in Perl 6 means having to deal with gcx.List and/or gcx.Array as listy types, which NQP doesn't know about | 13:35 | ||
so i tried overriding marshalOut in RakudoJavaInterop to write bytecode that calls a different iterate-through-array implementation and that's where i'm getting these fun failures | 13:36 | ||
but i just realised that that might be because i'm calling emitGetFromNQP twice for cases where i call through to the BootJavaInterop marshalOut | 13:37 | ||
13:45
Ven left
13:46
Ven joined,
Ven left,
Ven joined,
Ven left
|
|||
|Tux| | If «my $foo = 1; $fop.say;» warns with «Variable '$fop' is not declared. Did you mean '$foo'?», could | 13:47 | |
13:48
Ven joined
|
|||
timotimo | could what? | 13:48 | |
|Tux| | «my $foo = "abc"; $foo ~~ s{ a(.)c} = $1; $foo.say;» warn with something like «You used $1 in Regex, but you caught only 1. Did you mean $0?» | ||
timotimo, I didn't type that fast | |||
timotimo | OK | 13:53 | |
that's a good question | 13:54 | ||
doesn't seem trivial | |||
13:54
kjs_ left
|
|||
moritz | it shouldn't be hard | 13:55 | |
$1 is just a shortcut for $/[0] | |||
ShimmerFairy | I don't think the "did you mean" part is very feasible, but the rest of it could be (e.g. You use $9 in Regex, but only have 5 positional captures) | ||
moritz | so by overriding Match.at_pos we could get such a warning | ||
timotimo | oh, you mean a run-time warning | 13:56 | |
moritz | yes | ||
compile-time... do we know the max capture number at compile time? | 13:57 | ||
timotimo | we could somehow record it | 13:58 | |
jnthn | We assign the indices at compile time | ||
timotimo | not sure if it's gettable easily from what we have right now | ||
jnthn | I think it's stored then in a CAPS property on the Regex object. | ||
m: Regex.^methods.map(*.name).say | |||
camelia | rakudo-moar 66de7b: OUTPUT«<anon> <anon> <anon> <anon> <anon> <anon> ACCEPTS Bool gist <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> of returns onlystar assuming candidates cando multi soft wrap unwrap yada package WHY set_w…» | ||
jnthn | Hm :) | ||
psch | !shared owns CAPS iirc | 13:59 | |
jnthn | m: /a(b)c/.CAPS | ||
moritz | m: Regex.^methods.map(*.name).grep(none('<anon>')).say | ||
camelia | rakudo-moar 66de7b: OUTPUT«ACCEPTS Bool gist of returns onlystar assuming candidates cando multi soft wrap unwrap yada package WHY set_why perl add_phaser fire_phasers phasers perl arity count signature outer static_id of returns ACCEPTS Str» | ||
( no output ) | |||
jnthn | m: /a(b)c/.CAPS.perl.say | ||
camelia | rakudo-moar 66de7b: OUTPUT«("" => 1e0, "0" => 1e0).hash» | ||
moritz | it uses floats as values? | ||
jnthn | NQP... :) | 14:00 | |
jnthn sees room for improvement | 14:01 | ||
Ven | .oO( <anon> <anon> <anon> <anon> BATMAN ) |
||
|Tux| | improvement++ | ||
jnthn | Anyway, the keys of that CAPS hash on the Regex tell you what captures are available. | ||
14:01
xfix joined
|
|||
jnthn | m: /a(b)(c)/.CAPS.keys.map(+*).max | 14:02 | |
camelia | ( no output ) | ||
jnthn | m: /a(b)(c)/.CAPS.keys.map(+*).max.say | ||
camelia | rakudo-moar 66de7b: OUTPUT«1» | ||
jnthn | m: /a(b)(c)(d)/.CAPS.keys.map(+*).max.say | ||
camelia | rakudo-moar 66de7b: OUTPUT«2» | ||
jnthn | Realizing the current $/ corresponds to the results of that regex is much harer, of course :) | ||
*arder | |||
bah, * | |||
psch | irclog.perlgeek.de/perl6/2015-01-26#i_10004857 # lies somewhere in that area as well i think | 14:04 | |
there's a gist that fixes the irclog one, but as i said, it's probably not the right spot to fix | |||
psch should probably rakudobug that | |||
14:05
xfix left
14:09
colomon left
14:10
colomon joined
14:11
Kristien joined
|
|||
lizmat | m: say $*DISTRO.is-win # for [ptc] | 14:14 | |
camelia | rakudo-moar 66de7b: OUTPUT«False» | ||
masak would like a perl6 flag to quickly `use strict;` on the command line instead of having to write it out longhand | |||
either that, or have it on by default :) | |||
timotimo | like -E instead of -e? :P | ||
masak | that would work. not sure it'd be my preferred spelling, though. | 14:15 | |
dalek | kudo/nom: 12c7e5c | lizmat++ | src/core/CompUnitRepo/Local/Installation.pm: Only need to check for is-win once |
||
kudo/nom: 9a54f1b | lizmat++ | src/core/Inc.pm: Shave off a little bit of startup time By not initializing $*DISTRO if we don't need it |
|||
masak | I'd also like some way to conveniently list-assign my numbered captures to variables. something like `my ($foo, $bar, $baz) = $string ~~ /(..)(..)(..);/` | 14:16 | |
14:16
Kristien left
|
|||
masak | except that doing it exactly in that way obviously won't work. | 14:16 | |
and it'd be a shame to have to parenthesize the whole expression just to put .list or .[] on it :/ | 14:17 | ||
(haven't tried this) | |||
timotimo | try indirect method call syntax | ||
(and enjoy having a :; at the end) | 14:18 | ||
14:19
colomon left,
raiph joined,
xfix joined
14:20
colomon joined
|
|||
masak | could you show how you mean? | 14:21 | |
dalek | c: 2dbf8d9 | paultcochrane++ | t/pod-convenience.t: Test Pod::Convenience::pod-title |
14:22 | |
c: e31824c | paultcochrane++ | t/pod-convenience.t: Test Pod::Convenience::pod-block |
|||
doc: 36d1915 | paultcochrane++ | t/pod-convenience.t: | |||
14:22
dalek left
|
|||
masak | it sounds viable, but I don't see exactly how. | 14:22 | |
14:22
dalek joined,
ChanServ sets mode: +v dalek
|
|||
timotimo | my ($foo, $bar, $baz) = list $string ~~ /(..)(..)(..);/:; | 14:23 | |
not sure it'll actually work | |||
m: my $string = "abcdef;"; my ($foo, $bar, $baz) = list $string ~~ /(..)(..)(..);/:; | 14:24 | ||
camelia | rakudo-moar 66de7b: OUTPUT«===SORRY!=== Error while compiling /tmp/caWm7DzzkHUnrecognized regex metacharacter ; (must be quoted to match literally)at /tmp/caWm7DzzkH:1------> r, $baz) = list $string ~~ /(..)(..)(..)⏏;/:; expectin…» | ||
timotimo | m: my $string = "abcdef"; my ($foo, $bar, $baz) = list $string ~~ /(..)(..)(..)/:; | ||
camelia | ( no output ) | ||
timotimo | m: my $string = "abcdef"; my ($foo, $bar, $baz) = list $string ~~ /(..)(..)(..)/:; say $foo; say $baz; | ||
camelia | rakudo-moar 66de7b: OUTPUT«「ab」「ef」» | ||
timotimo | cute. | ||
masak | timotimo++ | ||
14:25
pdcawley joined
|
|||
masak | yeah, I don't mind that colon at all. | 14:25 | |
it's worth it :> | |||
also, TIL that you could put the colon *there*! o.O | |||
masak .oO( when Larry gets the colon, expect crazy shit ) :P | |||
timotimo | :) | 14:26 | |
PerlJam | Greetings! | ||
psch | o/ PerlJam | 14:29 | |
masak | \o PerlJam | 14:30 | |
lizmat | PerlJam o/ | 14:31 | |
hmm.. looks like my last patch shaves about 10% off of startup time for perl6 -e 1 (from .230 -> .205) | 14:33 | ||
tadzik | \o/ | ||
timotimo | oooooh | 14:34 | |
dalek | kudo/newio: c81abe2 | FROGGS++ | lib/NativeCall.pm: fix lib loading for NativeCall on JVM on OSX |
14:36 | |
kudo/newio: 9add92b | lizmat++ | docs/ChangeLog: Add Str.subst being 12x as fast |
|||
kudo/newio: 9f7187a | lizmat++ | docs/release_guide.pod: Propose "Parrotopia" as name for release #85 |
|||
kudo/newio: 66de7b2 | lizmat++ | src/core/Str.pm: Make Str.trans(Str,'x') 10 - 30% faster still |
|||
kudo/newio: 12c7e5c | lizmat++ | src/core/CompUnitRepo/Local/Installation.pm: Only need to check for is-win once |
|||
kudo/newio: 9a54f1b | lizmat++ | src/core/Inc.pm: Shave off a little bit of startup time By not initializing $*DISTRO if we don't need it |
|||
kudo/newio: 9a2ba03 | lizmat++ | / (6 files): Merge branch 'nom' into newio |
|||
timotimo | rip dalekh | ||
... or not! <3 | |||
lizmat | guess not | ||
[Coke] | congrats to TimToady++ | 14:38 | |
Ven | congrats! :) | ||
timotimo | yeah, congrats to timtoady and the band! :) | 14:39 | |
nine_ | +1 for easily accessible use strict for command line one liners. Typing the occational my beats figuring out where the typo is. | 14:42 | |
PerlJam | Using -E will be familiar to P5ers if nothing else. :) | 14:45 | |
lizmat | afk for a bit& | 14:47 | |
15:03
Ven left
15:04
skids joined
15:07
Ugator joined
15:11
Rounin left
15:17
_mg_ joined
15:20
Kristien joined,
Ven joined
15:26
jakesyl left
15:28
jakesyl joined,
_mg_ left
15:29
rindolf left
|
|||
timotimo | .tell japhb can we somehow get a test into perl6-bench that's very different from the other tests? i'm thinking of "maxrss used for starting up a repl and immediately killing it" and "maxrss used for 'say(1)'" | 15:29 | |
yoleaux | timotimo: I'll pass your message to japhb. | ||
15:36
Ven left
15:37
Mouq joined
|
|||
b2gills | PerlJam: the problem with using -E is that on Perl5 it enables all of the new "features" like `say` ( It's as if you said `perl -Mfeature=:all -e '...'` ) | 15:39 | |
PerlJam | how is that a problem exactly? Perl 6 already enables all of those features :) | 15:40 | |
masak | I'm not too sold on using -E in Perl 6 for something so different from -e in Perl 5. | 15:41 | |
also, -E in Perl 5 was kind of a "lesser evil". in Perl 6 it's still not too late to simply make strict the default, even on the command line. | 15:42 | ||
PerlJam | this is true. I already write one-liners as if strict were enabled because of the cultural bias towards stricture. | 15:44 | |
masak | yes. I can totally see where the idea of "...oh, but on the command line your don't care so much about stricture, and it's more like it's in the way". | 15:45 | |
it's just, in actual practice I don't find that to be true at all. at least not for me personally. | |||
I'm more annoyed by the absence of those strictures than I would even by by their presence. | |||
timotimo | PerlJam: in your introduction to regexes, you have confused ** and % at the very end (<ident>**',' should be <ident>* % ',') | 15:47 | |
masak | Perl 6 is known for incorporating hard-won experiences from authors into the language itself. I believe this is one of those times where we could do that. | ||
masak places himself firmly in the "strictures for -e" camp | |||
timotimo | how about -ə for strict mode? | 15:48 | |
FROGGS | :D | ||
masak | hehe. | ||
how about -∄ for non-strict? | |||
timotimo | PerlJam: and if you're already editing in that vicinity, why not mention that you can use <{ ... }> for code that influences match pass/fail :) | 15:49 | |
PerlJam | timotimo: or ... I could give you a commit bit :) | 15:50 | |
timotimo: barring that, I have no problems with pull requests :) | |||
timotimo | oh snap! :) | ||
gotta go! :P | |||
15:50
Ven joined
|
|||
FROGGS | hehe | 15:50 | |
timotimo | i think i'll pour a tiny bit of time into the moarvm changelog for the upcoming release | 15:51 | |
interesting. the changelog for 2015.01 had * instead of + for the items | |||
maybe that's because of 2015? | |||
should i keep that for 2015.02? | |||
15:53
gfldex joined
|
|||
geekosaur | pick a new one every month? :P | 15:53 | |
dalek | ecs/newio: 081e2aa | TimToady++ | S32-setting-library/Numeric.pod: document .base and .base-repeatig changes |
15:54 | |
ecs/newio: ad449e5 | paultcochrane++ | S32-setting-library/IO.pod: Format code-like string with C< > |
|||
ecs/newio: 55b6345 | paultcochrane++ | S (5 files): Merge branch 'master' of github.com:perl6/specs |
|||
ecs/newio: 5a4a8f7 | TimToady++ | S32-setting-library/Numeric.pod: document polymod |
|||
ecs/newio: dbee059 | (L. Grondin)++ | S99-glossary.pod: adding GIL |
|||
ecs/newio: 8a79001 | lizmat++ | S (2 files): Merge branch 'master' into newio |
|||
15:59
yeahnoob joined
16:14
Ven left
16:19
Kristien left
16:25
larion left
16:27
mr-foobar joined
16:34
rurban left
16:35
perl6_newbee joined
|
|||
perl6_newbee | hi all | 16:35 | |
dalek | rl6-roast-data: ba4c249 | coke++ | / (5 files): today (automated commit) |
||
perl6_newbee | tadzik, you'r on? | 16:36 | |
16:37
tengignick joined
|
|||
[Coke] | The only thing I did intentionally different in 2015.01 was use unicode in the release announcement. | 16:37 | |
Feel free to bugfix my li choice. | 16:38 | ||
16:39
[particle]1 joined
|
|||
lizmat | afk for a few hours& | 16:39 | |
16:39
[particle] left
|
|||
[Coke] | lizmat++ all those speedups | 16:40 | |
we need a march compiler release. Anyone in? If you can't take march, but can take april, I can switch with you. | 16:41 | ||
16:44
abraxxa left
|
|||
FROGGS | I can do the march release | 16:44 | |
[Coke] | FROGGS++ | 16:51 | |
|Tux| | (allofyou)++ | ||
hahainternet | o thx |Tux| | 16:54 | |
timotimo | yay | ||
16:55
davido__ left
16:57
davido__ joined
17:03
perlfan is now known as estrabd
|
|||
psch | hrm, i don't get it. Ops.typeName gives me Array but p6listitems of that Array doesn't support positional access :/ | 17:06 | |
timotimo | is it inside a scalar container that you have to decont first? | 17:08 | |
do you have to get at its $!storage OSLT? | |||
psch | OSLT? | 17:09 | |
p6listitems gives me a BOOTArray | |||
timotimo | "or something like that" | ||
psch | it's $!items for List and Array is List, but that's wrapped in p6listitems afaiu | 17:10 | |
unless that's for decont, which i do once for the incoming SMO | |||
17:13
diana_olhovik_ left
|
|||
psch | gist.github.com/peschwa/ed6bc57c8cf9d41650b9 # timotimo | 17:13 | |
hobbs | github.com/perl6/evalbot/pull/6 -- IRC color patch from last night | ||
psch | i'll try decont'ing the BOOTArray now | ||
hobbs | the guts of it are in a module that I just released; no docs yet but I do intend to maintain it :) | ||
17:14
espadrine left
|
|||
psch | i have a suspicion that my half-understandingly bumbling around will make code that should be implemented more sensibly anyway | 17:15 | |
but having it kinda-sorta work beats not-working, and i do hope do understand what i'm doing | |||
17:16
gfldex left
17:18
kjs_ joined
|
|||
psch | i don't understand Array.at_pos though, and that's probably why i'm stuck | 17:22 | |
'cause i have to either call it or emulate it | 17:23 | ||
timotimo | hobbs: i'm thankful for the irc colors patch | ||
hobbs: ever since i switched from irssi to weechat, camelia has been looking strange | |||
17:24
Kristien joined
17:25
kjs_ left
|
|||
Kristien | On a scale from C to Lua, how dynamic is the Perl 6 object model? Can you do stuff like intercepting method calls? | 17:25 | |
flussence | 11 | ||
grondilu | you mean 42, right? | 17:26 | |
Kristien | 42 doesn't lie between C and Lua. :( | ||
timotimo | yeah you can intercept method calls; look at how grammar::tracer works :) | ||
grondilu | to be fair, one could give a percentage, 0% being C and 100% being Lua | 17:27 | |
nine_ | Kristien: what makes you think that Lua is the end of the scale? | ||
timotimo | what makes you think that 100% is the end of the scale? | ||
Kristien | nine_: it's the scale I specified! | ||
moritz | Kristien: it's pretty flexible, if you're willing to go meta | ||
Kristien | nice | ||
I wanna do some AOP stuff. | |||
nine_ | Kristien: then you shouldn't be surprised that not everything fits in your scale ;) | ||
timotimo | Android Opensource Project? | ||
Kristien | maybe can be done through roles though | ||
timotimo | no, wait, that's AOSP | ||
Kristien | aspect-oriented programming which is a fancy word for hooks. | 17:28 | |
timotimo | ah, Aspect Oriented | ||
yeah | |||
moritz | Kristien: iirc jnthn++ once gave an exmple of AOP through the meta object system in one of his talks | ||
dalek | c: a077742 | moritz++ | lib/Language/functions.pod: Start to document custom operators |
||
17:28
donaldh left
|
|||
hobbs | timotimo: who do I bug to merge it? :) | 17:29 | |
moritz | hobbs: merge what? | ||
hobbs | moritz: evalbot pull request | ||
timotimo | do we need to install a module system-wide for it to work? | ||
Kristien | the bug. he's fixing a bug request. | ||
moritz | hobbs: I meant to do that :-) | ||
hobbs | timotimo: needs to be installed somewhere, at leat :) | 17:30 | |
dalek | c: 3d85453 | moritz++ | lib/Language/operators.pod: [operators] Remove some outdated notes also add links to the function docs on defining new operators |
17:31 | |
timotimo | i wonder if "lift" is going to make it into 6.0.0 | 17:32 | |
moritz | it's ironic that IRC::FromANSI::Tiny, despite its name, has 4 additional dependencies :-) | 17:33 | |
dalek | albot: cee617d | (Andrew Rodland)++ | evalbot.pl: Convert ANSI colors to IRC (mIRC) colors This makes things more readable for folks with non-console clients, as well as the IRClog (which strips IRC colors, but leaves the ANSI codes in place as garbage). |
||
albot: 057fccc | moritz++ | evalbot.pl: Merge pull request #6 from arodland/master Convert ANSI colors to IRC (mIRC) colors |
|||
17:34
camelia left
|
|||
colomon | m: this is a test | 17:34 | |
17:34
camelia joined
|
|||
moritz | colomon: I just restarted camelia :-) | 17:34 | |
colomon | :) | ||
timotimo | moritz: that's what allows it to be so tiny! | ||
colomon | I’m wondering if the IRC colors will work better in my client | ||
the ANSI ones never have | 17:35 | ||
moritz | we'll see | ||
m: 1 1 | |||
17:35
ChanServ sets mode: +v camelia
|
|||
camelia | rakudo-moar 66de7b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/w7DztlCQQcTwo terms in a rowat /tmp/w7DztlCQQc:1------> 031 7⏏051 expecting any of: infix stopper infix or meta-infix statement end statement modifie…» | 17:35 | |
colomon | yes! | ||
timotimo | happy! | ||
thank you, hobbs | 17:36 | ||
colomon | hobbs++ | ||
moritz | irclog.perlgeek.de/perl6/2015-02-18#i_10137129 the logs insert some 5s in there | ||
hobbs | welcome :) | ||
FROGGS | hobbs++ | ||
hobbs | (looks good for me too) | ||
17:36
kjs_ joined
|
|||
timotimo | dude | 17:37 | |
moritz | sweet | ||
hobbs | moritz: funny, I thought it was stripping properly yesterday | ||
it's still less noisy than what it did with ANSI | |||
timotimo | yes, very | ||
(and a 7 and a 1) | |||
FROGGS | well, 8 bit color codes... | 17:39 | |
hobbs | as for the name, I just copied rwstauner's convention :) | ||
FROGGS | probably 1 is reset or something | 17:40 | |
or perhaps I am mistaken | |||
17:40
FROGGS left
17:41
kjs_ left
|
|||
hobbs | the 1 is actually a 1 | 17:41 | |
timotimo | oh, haha | 17:43 | |
of course | |||
17:47
rurban joined
17:49
dakkar left
17:52
virtualsue left,
virtualsue joined
17:54
diana_olhovik joined
|
|||
tadzik | perl6_newbee: not really | 17:56 | |
17:56
virtualsue left
|
|||
hoelzro | _sri_: [Coke] and I have been working on a Perl 6 port of mojolicious a bit, and I was thinking about it a bit last night. Are there any aspects of Mojolicious that you feel would change a lot in such a port? | 18:00 | |
(ex. using native lists/arrays instead of a Mojo::Collection, because they support methods now) | |||
18:03
tgt joined
18:06
amaliapomian joined,
Ven joined
|
|||
_sri_ | hoelzro: i would change a lot i suppose | 18:08 | |
some things like Mojo::DOM should remain pretty much unchanged, but you'd want to pick up perl6 best practices for the reactive bits, like using promises and supplies | 18:09 | ||
and i suspect high performance web servers in perl6 will look very different from perl5 | 18:10 | ||
when you have proper threads you can do a lot of things very different | |||
18:11
pmurias joined,
Kristien left
|
|||
_sri_ | of course, you should be able to start with the current architecture, and then experiment | 18:12 | |
collection and bytestream would definitely go | |||
but that's a very minor part | 18:13 | ||
18:13
pmurias_ joined
18:14
pmurias_ left
|
|||
pmurias | hi | 18:14 | |
yoleaux | 17 Feb 2015 13:44Z <nwc10> pmurias: good UGT, pmurias | ||
_sri_ | the core question is what a high performance web server looks like in perl6, what paradigms would be used? | ||
Ven | o/, #perl6 | ||
timotimo | ohai pmurias | 18:15 | |
nine_ | Would it make sense to drop the Mojo:: prefix from a lot of the modules? Mojo is kind of an alternate CPAN ecosystem. In Perl 6, there's not much of an ecosystem to alternate, so why not adopt the Mojo stuff as default? | ||
_sri_ | i would appreciate it if you left the Mojo:: prefix for the official port | ||
18:16
espadrine joined
|
|||
nine_ | _sri_: makes absolute sense from a Mojo perspective but none at all from a Perl 6 perspective. We're struggeling to get one ecosystem off the ground, let alone two. | 18:17 | |
timotimo | :auth<mojo> :P | ||
_sri_ | nine_: sure, competing eco systems is the problem you want to have :) | 18:18 | |
as long as there's no official namespace registry i suppose it doesn't matter anyway | |||
flussence wonders how badly things would break if there were two modules in the ecosystem list differing only in :auth | 18:19 | ||
nine_ | I've never used it, but if Mojo is as well designed and integrated as people tell me, it very well deserves a promotion to default ecosystem | ||
hoelzro | nine_, _sri_: I started a module called Mojolicish, which aims to be mostly understandable if you know P5 Mojolicious, and is a pain to type | ||
_sri_ | hoelzro: i like that :) | ||
hoelzro | I started by working on porting lite_app.t to Perl 6 | 18:20 | |
18:20
_mg_ joined
|
|||
hoelzro | and filling in features as needed | 18:20 | |
maybe I should publish that repo | |||
_sri_ | architecture wise, i'm only really worried about the lower level bits | ||
18:20
FROGGS joined
|
|||
_sri_ | from Mojo::Message::* and downwards | 18:21 | |
hoelzro | _sri_: I'm no big Mojo user, but the things that struck me were Mojo::Collection and all the event loop stuff | ||
also, I created dash-y aliases for underscore methods (ex. user-agent and user_agent) | |||
_sri_ | managing 10k concurrent websocket connections will certainly look very different in perl6 | ||
hoelzro: yea, the event loop stuff is what will change most | |||
hoelzro | maybe I should just treat Mojolicish as a spike, and ignore websockets and eventy stuff for now | 18:22 | |
I think it will eventually get cannibalized and moved into [Coke]'s mojo repo eventually | |||
_sri_ wonders how much memory threads in perl6 use these days | 18:24 | ||
one thread per websocket would be a game changer | 18:25 | ||
that's more like how play framework works | 18:27 | ||
perl6_newbee | tadzik: ^^ | ||
flussence | just spawned 16 threads in repl, mem usage went from 26 to 97MB. | 18:28 | |
dunno if that's a meaningful benchmark or not | |||
_sri_ | connections get accepted in an event loop (netty i believe) and dispatched into an actor framework | ||
(may be akka now) | |||
nine_ | flussence: probably not | ||
_sri_ | flussence: ouch | ||
18:29
telex left,
yeahnoob left
|
|||
flussence | I did «start { .get } for ^100» and counted the RES number in top | 18:30 | |
18:30
virtualsue joined
|
|||
flussence | well, ^16 there | 18:30 | |
18:30
telex joined,
spider-mario joined
|
|||
Mouq | flussence: Just entering "1" in the REPL makes my usage jump though | 18:31 | |
flussence | oh, ok, forgot the repl is lazy-loaded... it *starts* from 90MB | ||
Mouq | Yeah :P | ||
_sri_ | anyway, i guess i'm not really helping with this ;p | ||
flussence | trying to spawn 1000 threads is capped at 16 active, but "only" uses 240MB of total RAM there | ||
_sri_ | porting mojolicious as is wouldn't be the worst idea at least for experimenting | 18:32 | |
minimalistic event loop is always a safe bet | |||
18:32
Kristien joined
18:33
Ven left
|
|||
Kristien | hola | 18:33 | |
timotimo | hola kristien | ||
flussence | if I tweak $*SCHEDULER there, I can indeed spawn a thousand threads without my desktop exploding... | ||
they're using about 2MB each, mind you... | |||
perl6_newbee | bye all | ||
timotimo | bye mister newbie | ||
hm | 18:34 | ||
perl6_newbee | :-) | ||
timotimo | newbie person* | ||
Mouq | flussence: "perl6 -e'get; start { .get } for ^100; get;'" might be give a accurate picture | ||
_sri_ | flussence: for comparison, the akka docs say "Small memory footprint; ~2.5 million actors per GB of heap." | ||
18:34
perl6_newbee left
|
|||
timotimo | FWIW, each thread gets its own nursery, which is 4mb big IIRC | 18:35 | |
and since we're semispace, that'd probably be 8mb during GC | 18:36 | ||
18:36
grettir joined
|
|||
flussence | it also said 11.7GB of virtual memory, I guess it's allocating all that but not using it | 18:37 | |
_sri_ | there is no 1:1 mapping of actors to threads though, so what i said was rather meaningless... sorry | ||
flussence | wouldn't those be closer to green threads? | 18:38 | |
18:38
larion joined
|
|||
_sri_ | i vaguely remember a 4kb per thread cost | 18:38 | |
yea, green threads distributed across real threads | 18:39 | ||
hobbs | aka M:N threads | ||
18:41
b2gills joined
|
|||
_sri_ | 8mb per thread is an interesting number though | 18:42 | |
18:42
Rounin joined
|
|||
_sri_ | i would definitely start with a plain old event loop :) | 18:43 | |
hoelzro: you'll also notice that a lot of the objects in mojolicious are observables | 18:48 | ||
18:48
virtualsue left
|
|||
_sri_ | i'm not sure how that would change with new perl6 paradigms | 18:48 | |
hoelzro | _sri_: hmm, I hadn't considered that | ||
_sri_ | you prolly would want to use supplies in some way, how i'm not sure yet | 18:49 | |
hoelzro | hmm | ||
I think for now I'm going to go with a more or less straight port over | 18:50 | ||
_sri_ | sure | ||
hoelzro | P5 smells can be cleaned up as we discover them | ||
hobbs | i.imgur.com/Zvet0h.jpg | ||
_sri_ | :) | ||
FROGGS | hobbs++ # uhf | 18:51 | |
_sri_ | although i have a hunch that it can be solved mostly with delegation... each event becomes a property of the object containing a supply object | 18:52 | |
$c.res.finish.tap(...); | 18:53 | ||
hoelzro | hmm | ||
that does seem very nice | |||
18:53
average joined
|
|||
hoelzro | maybe that should be one p6-ism I incorporate | 18:53 | |
average | I have some concerns that Perl6 might want to compete with J | 18:54 | |
I can understand that Perl6 builds upon the culture that Perl5 has created | |||
18:55
kjs_ joined
|
|||
average | but J is not exactly an ideal imho | 18:55 | |
grondilu | Perl 6 is quite different from J, but truly J is quite different from everything else | ||
average | if anyone here read/wrote J code(I've only read code in it, and never wrote any) they probably know what I'm talking about | ||
grondilu: actually I would say J is probably the ideal that every oneliner-writer would aspire to | 18:56 | ||
grondilu | not sure | ||
pmurias | average: why are you concerned that we plan to out-J J? | ||
grondilu | it's true that J is awesome to write short code, but Perl 6 does not have that objective. | 18:57 | |
average | grondilu: and Perl6 seems to carry the same goal that Perl5 has in relation to compactness of some pieces of code(or brevity if you will) | ||
grondilu | yes, but not to the extend J does. | ||
_sri_ | who knows, maybe someone will make goroutines the preferred perl6 concurrency model :) | ||
average | pmurias: because that is my impression, by reading articles about Perl6 and pdfs that I have readily available through the use of Google | 18:58 | |
_sri_ | (talking about m:n threads) | ||
grondilu | for one, P6 does not have a global stack with one-letter operators on them. | ||
flussence | .oO( Slang::APL ) |
||
grondilu hopes he remembers how J works right. | |||
s/operators on them/operators on it/ | 18:59 | ||
Kristien | an APL slang would be great | ||
APL is a wonderful programming language. | |||
grondilu | J is APL's child | ||
so what you want is a J SLang | 19:00 | ||
average | I don't advocate APL as a role-model for programming languages to aspire to | ||
Kristien | no | ||
APL > J | |||
psch | timotimo: i figured it out... turns out i was calling atpos with the incoming SixModelObject, and not the result of p6listitems(decont(in))... | ||
grondilu | well OK, I don't know APL enough to argue. IIRC APL uses special characters though, for instance. I'm not even sure there are in unicode. | 19:01 | |
geekosaur | they are, actually | ||
b2gills | don't try to find the factorial of 100,000 `(2..100000).reduce: &[*]` or you may have to restart your computer | 19:02 | |
average | anyway, I just wanted to share this concern with you. also, I'll offer a more blunt perspective: Nobody's dick is going to get super-hard(or vaginas super-wet) if you write short code (even in Perl6 presentations). | ||
sorry for the language, but that had to be said | |||
geekosaur | (operators at least. don't bother looking for the traditional way to escape quote-quad) | ||
19:02
b2gills left
19:03
zakharyas left
|
|||
grondilu | average: I sincerely thinks you worry too much. Perl 6 is good for golfing, but not to the extend it makes the language as obscure as J | 19:03 | |
average: do you have examples of P6 code you think goes too far in the "short code" approach? | 19:04 | ||
average | grondilu: there are plenty, but I'd rather not dig them up | ||
timotimo | psch: ooooh | 19:05 | |
flussence | > ([*] 2..100000).log(10)Inf | ||
grondilu | it's a very subjective assessment, anyway. | ||
flussence | .oO( no wonder it wouldn't print it... ) |
||
average | grondilu: that may be the case | ||
grondilu | here is an example that I could describe as "J-like": rosettacode.org/wiki/Averages/Pytha...ans#Perl_6 | 19:06 | |
19:06
kjs_ left,
pmurias left
|
|||
grondilu | I did write this one but I usually don't write P6 code like that. I just wanted to do it here for fun. Thought it was appropriate | 19:06 | |
19:06
b2gills joined
|
|||
psch | timotimo: gist.github.com/peschwa/ed6bc57c8cf9d41650b9 # edited out debug output | 19:07 | |
average | grondilu: ah, ok. yes, that is the sort of thing I was refering to. I don't mind it btw, I think it's great. I just don't see it as a selling point for a programming language. | ||
Mouq | average: There's a focus in Perl 6 on appropriate Huffmanizing. So common things get short, and less common things get long; not "common things get short, and less common things also get short" | ||
grondilu | basically lots of metaoperators. I have the feeling those are what you fear and find "J-esque" | ||
psch | although i still need an nqp-level test i think, which will probably have to compile some java (as will the rakudo tests) because i don't think there's multi-dim array args in rt.jar methods | ||
Mouq | Where short/long is analagous to obfuscated/readable | 19:08 | |
average | grondilu: well, J is basically the future for this trend of metaoperator abundance | ||
grondilu | the difference is that in Perl 6 you don't have to use them. | ||
average | grondilu: I think J can tell us whether that was a good/bad idea | ||
grondilu | there is more than one way to do things. If they were a bad idea, people will not use them. It's as simple as that. | 19:09 | |
kind of like with junctions. They are very cool but as a matter of fact they are not used as much as one might expect. | 19:10 | ||
average | heh, yeah, I didn't know junctions turned out to be like that | ||
grondilu | not sure what you mean. | 19:11 | |
average | a few years back Damian Conway was giving presentations on them | ||
geekosaur would like to note that he wants a programming language, not a nanny | |||
average | junctions and superpositions | ||
grondilu | I suppose he thought they would be much more prominent in P6. It appears they are not that much important (I may be wrong on that, though) | 19:12 | |
masak | it's an overarching theme. overall, I'm much more happy every day to use Perl 6 sane features than its cool features. | ||
junctions are useful sugar. | |||
I don't use them for much beyond just sugar. | 19:13 | ||
grondilu | but metaoperators are really cool and useful. Sometimes I wonder how we could do without it and whenever I write in perl5, I really do miss them. | ||
average | I also think a good idea is to study how exactly languages are released and how they get adopted | 19:14 | |
and how they're marketed | |||
PerlJam | grondilu: are there particular meta-ops that you miss more than others? | ||
grondilu | [+] | ||
average | NodeJS , Golang , Julia are all good examples for that | ||
19:14
raiph left
|
|||
grondilu | more precisely [] | 19:14 | |
average | It seems to me that there is a problem with Perl6 on the releasing/marketing side of things | 19:15 | |
grondilu | or Z | ||
average | not releasing per-se, but the getting-it-across to users that it is released | ||
PerlJam | average: but it's not "released" yet :) | ||
average | I don't know how Golang or NodeJS did it, but Perl6 certainly does not do that very succesfuly | ||
flussence | NodeJS is a good historical example, lest we end up with our own io.js exodus | 19:16 | |
grondilu | Golang is supporeted by Google. | ||
average | yes Golang is supported by Google and that may be an explanation | ||
grondilu | NodeJS runs the most useful programming language on the web (javascript), so no wonder it is looked at. | 19:17 | |
average | but there are plenty other examples that did not benefit from the a burgeois-like backing such as the one Golang benefited from Google | ||
grondilu | there is python, which is the best programming language ever for retarded people. | 19:18 | |
:) | |||
timotimo | ... what | ||
grondilu was kidding | |||
19:18
raiph joined
|
|||
average | Python is ok, but it goes back to 1989, a loong time ago, and I imagine things were very different back then | 19:19 | |
nine_ | I'm not sure how retarded people benefit from an inferior language. | ||
grondilu always thought that python being easy to learn means it's made for simple-minded people | |||
average | but there are closer examples on the timeline which can be studied | ||
grondilu | the main reason Perl 6 is nor as popular nor as marketed as other languages is that it's been mostly a theoretical language for quite some time. | 19:21 | |
flussence | nine_: python is a good escape route from VB | ||
grondilu | it does kind of has similarities indeed, now you mention it | ||
Kristien | the biggest problem I have with python is its lack of and totally unnavigatable documentation | 19:22 | |
many things are way underspecified and it seems to be the culture | |||
the idea is to put interfaces in documentation and the practice is that there is no documentation so no interfaces either | |||
grondilu | what I don't like about pyhton is that it is verbose and that to do anything you have to look for the correct library. | ||
PerlJam | grondilu: that is a property not unique to python. | 19:23 | |
grondilu | it is exacerbated in python | ||
19:23
Mouq left
|
|||
average | grondilu: Python as a whole is more cohesive in its module eco-system than Perl5 | 19:23 | |
geekosaur | python as cobol for the modern age: discuss :p | ||
flussence | geekosaur: 2 or 3? | 19:24 | |
geekosaur | (actually I'm not interested in language bashing... more making the point that python ain't the first *or* the worst) | ||
in that category | |||
nine_ | Don't get me started on Python. There's __getattr__ which allows you to intercept access to an object's attribute. Except that it does not always get called. But hey, there's __getattribute__! And you can probably guess from the very descriptive name that this intercepts __all__ attribute access. All? No! It still doesn't! | ||
grondilu | I don't complain about the system of modules, I complain about the fact that modules are the way to approach pretty much everything in this language | ||
average | grondilu: As a Python user I can enumerate real fast the important Python modules numpy,sympy,scipy,pillow,matplotlib,pandas,sqlalchemy,flask,django | ||
and with confidence I can say that there are at most 2-3 that I've missed | 19:25 | ||
I cannot do the same thing as a Perl5 user | |||
grondilu | TimToady often gives trigonometry as an example. You need to "import math" in order to use trigonometric functions. That's LTA | ||
flussence | .oO( "is that an african or a european python?" ) |
||
dalek | kudo/nom: b18b0a2 | FROGGS++ | t/04-nativecall/0 (4 files): turn printf("ok 1 - foo\n") from C into proper P6 test This solves two issues: First, when we have a mix of printf-style tap output from C and tap output from Perl 6, we have to be very careful about flushing stdout or otherwise the tap parser receives the lines out of order, which is considered failure. Secondly, we would have to hard code the subtest number, or like in 06-struct.c use "sub test syntax" which just ignores these lines. Using Test.pm exlusively makes us flexicible in skipping tests, it let's us have a plan and nicely ordered tap output. |
||
average | yes, I've missed nltk probably | 19:26 | |
grondilu | average: again, I'm not talking about the existence or abundance of modules, I'm talking about the fact that the language itself can't do much without them. | ||
(except if you're willing to reinvent the wheel) | |||
average | Perl5 itself cannot do much without CPAN | ||
nine_ | What really, really sucks about Python and destroyed the language for me is their culture of answering with "you should not have this problem" to questions about extreme measures for extreme situations. | ||
timotimo | the stdlib of python is rotting away | 19:27 | |
better to have a very slim core and good modules | |||
grondilu | average: see my example of trigonometry above. See also on rosettacode where you'll see that python often needs to invoke a module to do stuff that are easily done natively in perl6 | ||
19:27
larion left,
MadcapJake joined
|
|||
average | yes, but there is no cohesive set of modules in Perl5, that is the problem of CPAN | 19:27 | |
Kristien | I really don't have a problem with imports. | 19:28 | |
flussence | metacpan.org/search?q=Task%3A%3AKensho | ||
PerlJam | average: There is no cohesive set of problems what perl5 is perfect for either. :) | ||
Kristien | the only thing I don't want to have to import anything for is a function that aids in printf debugging | ||
19:28
davido__ left
|
|||
Kristien | I'm fine with imports for everything else. | 19:28 | |
PerlJam | s/what/for which/ | ||
19:28
MadcapJake left
|
|||
PerlJam | Kristien: even regex? | 19:29 | |
Kristien | sure | ||
timotimo | Kristien: and you especially don't want the compiler to bail out if you're not using some import | ||
average | grondilu: also notice that although you may call Python "retarded", it has books published for nearly every good/popular module that it offers | ||
Kristien | I want the compiler to catch all references to nonexisting variables. | ||
19:30
MadcapJake joined
|
|||
grondilu | average: I was being sarcastic. I didn't really mean it. | 19:30 | |
average | Perl5 barely managed to get books out about modules, and it almost came to a halt now in 2015 (not many.. not sure if any.. module-centric Perl5 books are published anymore) | ||
19:30
davido__ joined
|
|||
Kristien | Catching scoping errors at runtime is absolutely retarded for many reasons. It has no benefits and brings many problems. | 19:30 | |
grondilu | python is a nice programming language, it's just verbose and boring, imho. | ||
plus it's not as simple as advertised, when you look in details. | 19:31 | ||
PerlJam | grondilu: Where's the verbosity sweet-spot? I don't think of python as being particularly verbose. Not like Java or COBOL for instance. | ||
19:31
gfldex joined
|
|||
PerlJam | grondilu: (but I agree on "boring" completely :) | 19:31 | |
moritz | one thing I dislike about both python and js is that as the user of a class, you need to distinguish between attributes and getter methods | 19:32 | |
masak | also, different problems have different verbosity sweet spots. | ||
moritz: yes, that breaks a named law, but I forget the name. | |||
moritz | is it .length or .length()? | ||
masak | "uniform access principle"? | ||
timotimo | lenght! | ||
Kristien | it's len(…) | ||
grondilu | good point, verbosity is sometimes a good thing but not always. | ||
PerlJam | moritz: oh my does that bite me every time I use JS. | ||
moritz | masak: encapsulation | ||
Kristien | masak: UAP is supported by both Python and JS. | ||
flussence | if you're gonna write an entire book about a programming language *module*, the code had better not change before I'm done reading it | 19:33 | |
arnsholt | Fun Python scoping fact: All variables are scoped to their function (modulo nonlocal/global) except one; the variable introduced by "except Exception as e" is local to the except | ||
masak | Kristien: yes, but not "by default". | ||
average | flussence: yes.. | ||
Kristien | arnsholt: same for javascript | ||
average | flussence: and this holds for some of the Python books out there | ||
masak | grondilu: I like how Perl 6 can be either APL or Java. not many languages out there offer that. | ||
Kristien | that's how ES6-to-ES5 compilers implement let and const | ||
average | flussence: and I totally agree with the idea and I think this is a major selling point that Python has | ||
Kristien | using try { throw void 0; } catch (x) { … } | ||
arnsholt | The reason being that the exception object contains a reference to the call frame, which contains a reference to the variables | 19:34 | |
So if e was scoped to the frame, there'd be a reference cycle, which is bad, Python's GC being mostly refcounted | |||
19:37
zakharyas joined
|
|||
nine_ | Yes, Python is not designed for the user but for the implementor of the compiler. It even says so in the official documentation. | 19:38 | |
19:40
Mouq joined
|
|||
grondilu | does it? That's amazing. | 19:40 | |
timotimo | OpenSSL fails to test :( | ||
flussence | and on the extreme end of that scale you have PHP, which uses \ for module namespaces because it was too hard to parse :: | ||
nine_ | That's for example the cited reason why you can't name a function "if" in Python. It would have made writing the parser a bit more difficult. | ||
arnsholt | grondilu: I haven't seen it explicitly stated in the docs, but there are several things where implementations details leak through, like lots of hashes all over the place | 19:41 | |
grondilu | funnily enough a python interpreter written in Perl 6 may be able to allow htat. | ||
average | flussence: also, I don't think Task::Kensho is a cohesive set of modules for Perl5. It's simply a metadistribution that has a selected set of distributions as deps(among which Task::Catalyst which is another meta-distribution). | 19:42 | |
nine_ | grondilu: I only discovered this restriction after my own Python parser written in Perl 5 with Marpa allowed such functions without a problem :) | ||
Mouq | m: sub if ($) {}; sub infix:<if> ($,$) {}; sub prefix:<if> ($) {}; sub postfix:<if> ($) {}; if (if\if()\if if if\if\if()\if) { } | ||
camelia | ( no output ) | ||
timotimo | oh mouq | ||
average | flussence: I think it's great, but it's not quite a cohesive set of modules. | ||
19:43
gaussblurinc_ joined
|
|||
average | flussence: nltk for example in Python, as a module, is probably better than all Lingua::* modules on CPAN put together | 19:43 | |
grondilu | also in python 3 print is a function which means you have to use parenthesis around the string argument. I can't believe people are not upset about that. | ||
average | flussence: nntplib in Python is better than probably all NNTP-related modules on CPAN | 19:44 | |
Kristien | grondilu: maybe because consistency is good | ||
a major problem with python is also its many violations of The Zen of Python | |||
average | flussence: sqlalchemy is another one which is quite cool, and is easy to use and has been available for some time now. I can easily say that sqlalchemy is indeed much easier to use, has better documentation than its Perl5-analogue named DBIx::Class | 19:45 | |
Kristien | such as namespaces being a honking great idea and we should do more of those, yet nobody does it | ||
flussence | average: I won't contest those opinions; I don't use python (2 or 3). | ||
moritz has recently started on a project that uses sqlalchemy | 19:46 | ||
so far, I like it | |||
Kristien | I chose to use Python for a current project at work a few months ago because my colleague was most proficient with it. Other choice was Scala. | 19:47 | |
the fucker left a month later | |||
masak | if they ever do a rewrite, clearly they should call it sqlchemistry | ||
flussence | and if I were to go to #python to criticise their language, I'd first learn the state of it in 2015, not base my prejudices on something I read last decade. | ||
Kristien | how to upset Kristien in a month | ||
flussence & | |||
grondilu | well, hopefully at some point we'll be able to use python's modules transparently in Perl 6. | ||
retupmoca | timotimo: re: OpenSSL can you see what's failing? | ||
Kristien | OpenSSL is a failure by itself. | ||
retupmoca | timotimo: I haven't been able to reproduce that on my windows or linux machine | ||
19:48
fhelmberger left
|
|||
timotimo | gimme a second | 19:48 | |
grondilu | being able to use the huge accumulated work of python's modules with dying of boredom from the dullness of the language would be great. | ||
Kristien | m: say do { for 1..10 { $_ } } | ||
camelia | rakudo-moar 66de7b: OUTPUT«Nil» | ||
retupmoca | but apparently sergot and the smoke tests are both failing it | ||
grondilu | s/with/without/ | ||
retupmoca | not sure if it's a different version of the openssl lib or what | 19:49 | |
timotimo | # Failed test 'Got good response' │·············· | ||
retupmoca | yeah, same place sergot failed | ||
timotimo | t/02-socket.t → Dubious, test returned 1 Failed 1/4 subtests | ||
average | but anyway, at least Perl6 has its own object system and it doesn't ship separate as some sort of monstrous abandoned stepchild | 19:50 | |
if it can get some good modules and books written about them, like nicely typeset books or PDFs with documentation(no POD is not exactly what I'm talking about) | |||
that'd be super-cool | |||
retupmoca | timotimo: thanks - if you figure out more, open an issue please; otherwise I'll try to reproduce it on my machines | ||
TimToady | Kristien: that *should* produce nothing, since the for is at statementlist level | 19:51 | |
b2gills | average: There has been at least one book that was typeset in POD | ||
Kristien | yeah I thought maybe for returns a list like in CoffeeScript | ||
good thing it doesn't :) | |||
average | b2gills: I know | ||
grondilu | average: what do you have against POD? | ||
timotimo | you need "do for" rather than "do { for }" for that | 19:52 | |
average | but if I say what I don't think is cool, I should also give a suggestion for a replacement, so here it is: | ||
Org-Mode | |||
it's the best thing you could ever write anything in | |||
Kristien | m: say do for 1..10 { $_ } | ||
camelia | rakudo-moar 66de7b: OUTPUT«1 2 3 4 5 6 7 8 9 10» | ||
nine_ | grondilu: there's actually not much missing to get to use whatever:from<Python> | 19:53 | |
Kristien | m: sub f { for 1..10 { $_ } }; say f | ||
camelia | rakudo-moar 66de7b: OUTPUT«Nil» | ||
Kristien | nice | ||
average | I would totally replace POD in Perl6 with Org format | ||
Kristien | I use pod for spec of language I work on. Pod is great. | ||
average | Github already renders Org documents | ||
Kristien | it also renders pods | ||
b2gills | GitHub also renders POD | ||
grondilu | nine_: nice to here about that but I suspect you're being unreasonably optimistic. | ||
average | I think POD is limited in a number of ways, yes, it's an ok markup language.. it could be better(see Org) | 19:54 | |
PerlJam | nine_: does that mean that Inline::Python mostly works? | ||
average | but anyway, the part about POD is not that important | ||
grondilu | is there a Vim version :) ? | ||
dalek | kudo/nom: b5b174d | FROGGS++ | t/04-nativecall/0 (6 files): last batch of printf to Test.pm transition |
||
average | I was recommending Org-Mode for people who want to write books about Perl6 or Perl6 modules :) | 19:55 | |
grondilu: there is one yes. I haven't tried it though, I went for Emacs + Evil-Mode + Org-Mode | |||
(same thing) | |||
nine_ | grondilu: why do you think so? | ||
grondilu | nine_: just an intuition, but I'd gladly be proven wrong. | 19:56 | |
[Coke] | my efforts with mojo6 consisted mostly of creating a repo. I haven't done anything I'd consider real work on it yet. hoelzro++ is doing much better. :) | ||
(happy to accept patches or chat about what to work on) | 19:57 | ||
nine_ | PerlJam: if I can use PyQt4 (which requires me to derive from Python classes), it can't be that bad ;) | ||
grondilu | average: I dont know org-mode well, but I suppose writing a SLang for it should not be impossible. | ||
Mouq | average: Perl 5 POD or Perl 6 Pod? | ||
PerlJam | nine_: for both py2 and py3? :) | 19:58 | |
19:58
gaussblurinc_ left
|
|||
average | Mouq: I only know Perl 5 POD | 19:58 | |
b2gills | The best thing about POD is that the documentation can be right next to the code | ||
nine_ | PerlJam: py2 for now. But py3 support is not difficult. It's mostly a matter of looking at Perl 5's Inline::Python. I left the #ifdefs out for the sake of faster progress. No other reason. | 19:59 | |
timotimo | i'm just now running a benchmark on latest rakudo (but sadly nqp and moar haven't been updated yet) | ||
average | b2gills: you should see Org-Mode, it turns the idea of "commented code" inside out into "comments that also have pieces of code that can assemble into actual programs via org-babel-tangle" | 20:00 | |
PerlJam | nine++ | 20:01 | |
b2gills | I'm not going to learn Emacs just for something at about equal parity to POD | 20:02 | |
average | exactly, that's why I didn't learn Emacs either :) I just used Evil-mode which is basically vim | 20:03 | |
TimToady | and reordering code is very, very anti-one-pass-parsing | ||
b2gills | I'm not planning on learning vi either | ||
TimToady | it only works when you lock down the language | ||
and no 100-year language is going to be a lockdown language | 20:04 | ||
20:04
[Sno] left
|
|||
average | b2gills: exactly, that's why you can emacs -nw ./notes/document.org --eval "(progn (org-html-export-to-html)(save-buffer)(kill-emacs))" | 20:04 | |
b2gills: so you don't have to learn emacs at all if you want to render .org documents :) | 20:05 | ||
grondilu | average: I tried viper-mode once, is Evil-mode better? | ||
average | grondilu: yes | ||
20:08
average left
20:10
camelia left,
amaliapomian left
20:11
_mg_ left
|
|||
grondilu just watch evil-mode's four minute demo on youtube. Seems nice indeed but I'm not sure I'm willing to install emacs again. | 20:12 | ||
20:12
darutoko left
|
|||
TimToady | of course, dialects of Perl 6 can restrict the programmer in various ways, but we mustn't put the mother language on such an evolutionary dead end | 20:14 | |
Kristien | wooo I wrote a program in Ada. | 20:15 | |
vendethiel | Kristien: can you link me (privately) the one you used? I followed a tutorial for ada but didn't manage to get a free & working compiler | 20:17 | |
Kristien | the what I used? | ||
oh | |||
ideone.com/ | |||
TimToady | Kristien or vendethiel: feel free to add a Perl 6 entry for rosettacode.org/wiki/Rendezvous :) | ||
Kristien | TimToady: I have no idea what that is about. | 20:18 | |
20:18
Mouq left
|
|||
TimToady | if you keep learning Ada, you will :) | 20:19 | |
TimToady really liked Ada back in the day | |||
20:19
camelia joined
|
|||
TimToady | as you can see from our use of => for pairing | 20:19 | |
Kristien | Am I allowed to use libraries that do that for me? | 20:20 | |
Kristien doesn't like implementing things. | |||
20:21
ChanServ sets mode: +v camelia
|
|||
masak | TimToady: sounds like you changed your mind and don't like Ada so much anymore... | 20:21 | |
TimToady | I still like Ada in lots of ways, but my capacity for liking has outgrown it :) | 20:22 | |
masak | :D | ||
Kristien | I tend to like languages older than the web. | ||
Any software older than the web actually | 20:23 | ||
masak | Kristien: you and me both. | ||
Kristien | it seems like there were less fools in this industry before the web existed | ||
masak | Kristien: I still have a soft spot for 320x200 graphics. | ||
PerlJam | Kristien, masak: so ... COBOL? | ||
Kristien | I liked COBOL when I used it. I wrote a game in it once. | 20:24 | |
masak | PerlJam: I don't have any experience with COBOL. | ||
vendethiel | *g* I need to learn cobol | ||
PerlJam | vendethiel: you really don't :) | ||
TimToady | COBOL has its charms, especially when it abends and prints a 4-inch line-printer listing | ||
PerlJam | Kristien: when did you use COBOL? | ||
lizmat | Q: release name for parrot: a. Parrotopia b. Berlin c. your suggestion | ||
*rakudo | |||
argh | |||
geekosaur remembers math teacher saying we could submit a program to do riemannian integration in any language... so wrote it in cobol just to be difficult | 20:25 | ||
dalek | kudo/nom: 99ea17b | FROGGS++ | t/04-nativecall/08-callbacks.c: make float tests more robust |
||
Kristien | PerlJam: about a year ago | ||
for about an hour | |||
masak | lizmat: we haven't had *Berlin* yet!? | ||
geekosaur | these days they'd probably get agda :p | ||
Kristien | then I disposed of the filthy compiler | ||
TimToady debugged a 4-inch COBOL coredump before he ever learned the languge :) | |||
vendethiel | well, really, just for my information. I "learned" fortran and Ada just because they seemed "interesting" | ||
masak | lizmat: "Parrotopia" sounds awfully cheeky to me. | ||
20:25
rindolf joined
|
|||
geekosaur | (the teacher in question and I had an interesting relationship) | 20:25 | |
PerlJam | lizmat: b. | ||
Util | Ack! modules.perl6.org/ is showing 0 modules, | ||
and `curl -sS modules.perl6.org/proto.json` returns `{}`. | |||
lizmat | masak: inspired by www.marsanomalyresearch.com/eviden...otopia.htm | ||
masak | Util: :/ | 20:26 | |
lizmat: 404. | |||
PerlJam | Util: not for me. | ||
arnsholt | geekosaur: I haven't written in perverse languages, but I did once hand in an assignment where all variable names and menu prompts were in Latin =D | ||
colomon | what PerlJam said | ||
lizmat | www.marsanomalyresearch.com/evidenc...otopia.htm | ||
that better ? | 20:27 | ||
masak | ah. there was a strange invisible character in the first URL. | ||
Util | Works now! | ||
masak | lizmat: even knowing where the name comes from, it feels cheeky. | ||
Util | I will have to start typing slower :^( | ||
masak | like "hi Parrot, sorry we're suspending you, here, have a release name!" *pat pat* | ||
lizmat | yeah, I didn't intend it to be interpreted that way, but it probably will :-( | 20:28 | |
TimToady agrees with masak that it would be taken badly | |||
masak | I think mine is the best-case interpretation. | ||
masak .oO( Parrot + Utopia (as in "no such place") ) | |||
PerlJam | lizmat: so ... Berlin :) | 20:29 | |
arnsholt | No place would be a-topia I think. IIRC eu-topia is "good place" | ||
masak | +1 to Berlin | ||
arnsholt: ah -- you're right. | |||
masak .oO( Parrot is in a *good place* ) *thumbs up* | 20:30 | ||
TimToady | .oO(a...formerly divided city...) |
||
well, there isn't anything that can't be construed negatively somehow... | |||
dalek | kudo/nom: 4cd8d08 | lizmat++ | docs/release_guide.pod: 2015.02 will be Berlin |
||
masak | TimToady: I take offence at that. | ||
Util | Consider saving the name Parrotopia for a future release, when Rakudo *un*suspends Parrot! | ||
hobbs | arnsholt: except it's ou-topos, not eu-topos. | ||
PerlJam | TimToady: that's a *positive*. It was *formerly* divided ;) | ||
lizmat | Util: that's a deal! | 20:31 | |
Util | :) | ||
PerlJam | Util++ | ||
TimToady gets off the fence | |||
moritz wanted to propose a release name of a city where parrots live | |||
... and then read the parrots are basically everywhere except Europe | 20:32 | ||
lizmat | moritz: that's how I found parrotopia :-) | ||
masak | moritz: and they're *loud*. | ||
dalek | kudo/cpp: 9bf52eb | lizmat++ | src/core/Str.pm: Make Str.subst(Str,Str,:global) about 12x faster By using the TRANSPOSE helper sub |
||
20:32
dalek left
|
|||
moritz | lizmat: maybe Brasila | 20:32 | |
TimToady | Rio? | ||
timotimo | poor dalek! :( | ||
20:33
dalek joined,
ChanServ sets mode: +v dalek
|
|||
TimToady | Belem? | 20:33 | |
FROGGS | timotimo: he'll be fine :o) | ||
moritz | en.wikipedia.org/wiki/Parrot#media..._range.png ok, seems to be more "south half" | ||
lizmat | I think the symbolism of Berlin, having been divided, now united again, is a good one for this release | ||
masak | +1 | ||
timotimo | the dalek rises again | ||
masak | I was sure we had Berlin already. but maybe my brain finds Beijing and thinks that's it. | 20:34 | |
TimToady | we'll just have to shoot people that try to escape for a while | ||
moritz | git grep Berlin|wc -l | ||
0 | |||
hobbs | arnsholt: but that doesn't seem to have carried over as a prefix in any other english words I can find | ||
moritz | git tag|grep Berlin | ||
TimToady | oh wait, we're the *west* | ||
moritz | 0 | ||
lizmat | $ grep Berlin docs/release_guide.pod | ||
2015-02-19 Rakudo #85 "Berlin" (lizmat) | |||
20:34
zakharyas left
|
|||
masak | :) | 20:34 | |
moritz | :-) | ||
TimToady | well darn, it's taken :) | ||
masak | lizmat has the truth from the near future, it seems. | 20:35 | |
TimToady | maybe she just revised history | ||
lizmat | masak: it could be your future if you pulled | ||
PerlJam | then it would be his present | ||
masak | aw, for me? you shouldn't have. | 20:36 | |
TimToady | .oO(we're all pulling for each other...) |
||
timotimo is working through the moarvm release guide | 20:38 | ||
FROGGS | timotimo++ | ||
20:38
Mouq joined
|
|||
masak | oh, timotimo++ is doing the moarvm release? | 20:38 | |
timotimo | yeah, it seems very easy to do | 20:39 | |
PerlJam | timotimo: could you change it such that MoarVM is released on the 3rd Tue of each month? :) | ||
masak | will this be the first non-jnthn moarvm release? | ||
moritz | has there been a parrot release this month? | 20:40 | |
FROGGS | masak: I've done two already while you guys were in .cn :o) | 20:41 | |
masak | moritz: yes, I think so. | ||
FROGGS: oh! FROGGS++ | |||
20:41
bjz left
|
|||
FROGGS | moritz: I've seen the preparations | 20:41 | |
Util | moritz: Yes, rurban released 7.1.0 - Lilian's Lovebird | 20:42 | |
moritz | how fitting | ||
tgt | Hi. I'm playing with NativeCall on OS X and I'm not sure what to do about this error: "Cannot locate native library '/System/Library/Frameworks/Security.framework/Versions/Current/Security.dylib'". | ||
I'm using "is native('/System/Library/Frameworks/Security.framework/Versions/Current/Security')", which is the full path since it can't just find Security. There's no .dylib extension on the Security framework. Any workarounds? | |||
moritz | github.com/parrot/parrot/commit/2f...367d11f5c1 | ||
FROGGS | hi tgt, I can help you | 20:43 | |
tgt: is there a chance that you upgrade rakudo? | 20:44 | ||
tgt: ohh, wait, let me check something | |||
geekosaur | this is framework vs. normal dylib | 20:45 | |
you may have some fun with that... | |||
Util | moritz: I had seen the commit message, but had not paired it with the Changelog diff. :-/ | ||
tony-o | vendethiel: thanks for the sql slang commit | ||
FROGGS | geekosaur: what does that mean? it is not a "normal" dynamic library? | ||
geekosaur | not entirely, no | 20:46 | |
20:46
mohij joined
|
|||
vendethiel | tony-o: thanks for the sql-slang | 20:46 | |
geekosaur | frameworks do some weird things with RPATHs and such which can make linking with them interesting | ||
Util | I agree (with pmichaud's gist) that Rakudo's suspension of Parrot support makes sense, | 20:47 | |
given the timeframe you all have for GIL and the other major changes. | |||
I won't deny that it stings, though. | |||
Kristien | GIL lol | ||
geekosaur | and ideally a user should be able to specify something like is framework('Security') and it searches the framework path for the appropriate framework | ||
20:48
rindolf left
|
|||
lizmat | Util: GIL ? you mean GLR ? | 20:48 | |
20:48
rindolf joined
|
|||
FROGGS | tgt: looks we have a fundamental problem with frameworks... the file extension might be the smallest issue | 20:49 | |
Util | lizmat: Yes, and it was an error in memory, not in typiing :( | ||
FROGGS | tgt: I can help you hack around the file extension if you want though | ||
PerlJam | Util: just say it was because we were talking about python earlier :) | ||
masak | Util: it's to your credit that you phrase it like that. ("I agree" -- "won't deny that it stings") | 20:50 | |
lizmat | Util: the other day rurban mentioned GIL being one of the pitfalls of Moar | ||
TimToady | gotta be a pun on gilliam in there somewehre | ||
masak | lizmat: (which is incorrect as moarvm doesn't have one) | ||
tgt | FROGGS: Ah :( Any idea what issues I might run into if you do help me hack around it? | ||
FROGGS | tgt: I can only repeat what what geekosaur said just now | 20:51 | |
Kristien | vendethiel: stackoverflow.com/questions/180778/...ion-of-ada | ||
lizmat | masak Util : indeed... so I was wondering whether that misconception was wider spread | ||
vendethiel | thanks Kristien | ||
didn't know ideone had ada | |||
tgt | Okay. Well, how can I work around the file extension issue? I'll see what issues I run into. | ||
Util | Strange; thanks for telling me of the coincidence. | ||
FROGGS | tgt: just let it return $libname instead of appending the extension here: github.com/rakudo/rakudo/blob/nom/...ll.pm#L126 | 20:52 | |
moritz | in totally unrelated news, we have 30 modules in the ecosystem that declare a dependency on NativCall | ||
geekosaur | well, you can certainly try it. sometimes it just works, other times it leads to runtime errors referring to paths with @s in them which means you need to add extra code to interpret Apple's special rpath variables | ||
Util | I had in my head "Great List Refactoring", and my brain told me that you abbreviate it as G I L. Weird. | ||
masak | Util: Perl 6 and Parrot seems to have both attracted a critical mass of community members. I think part of the reason we're in the position we are today is that... there isn't much overlap between the two communities. | ||
FROGGS | moritz: we need to change their META.info, right? | ||
moritz | FROGGS: yes. After the release. | 20:53 | |
FROGGS | right | ||
20:53
virtualsue joined
|
|||
masak | Util: most discussions I see between Perl 6 people and Parrot people these days seem to have the structure of two disjoint communities talking across a rift of incomprehension and non-mutual goals. | 20:53 | |
geekosaur | developer.apple.com/library/mac/do...yld.1.html scan down to DYNAMIC LIBRARY LOADING (it's not hyperlinked, sigh) | 20:54 | |
moritz | how I found it: git clone [email@hidden.address] cd perl6-all-modules; git grep NativeCall */*/META.info|wc -l | ||
ok, it's one less, it counts zavolaj's META.info too | |||
dalek | kudo/nom: 44f1a54 | lizmat++ | t/01-sanity/53-transpose.t: Add some TRANSPOSE(-ONE) sanity tests |
20:55 | |
masak | Util: from the Parrot point of view, Rakudo "leaving the nest" was a big mistake and a regrettable decision. from the Perl 6 point of view, it helped Rakudo accelerate and take off in various ways. | ||
FROGGS | geekosaur: ohh, I just knew about @rpath | ||
20:55
espadrine_ joined
20:56
espadrine left
20:57
kurahaupo joined
|
|||
Kristien didn't know parrot was still a thing | 20:57 | ||
bye! | |||
20:57
Kristien left
|
|||
nine_ | moritz: parrots do live in Europe: poissonenciel.hubpages.com/hub/wild...-in-europe | 20:58 | |
moritz | nine_: yes, but they are more exception | ||
Util | nine_: Hooray! | ||
timotimo | oh timo | ||
lizmat | fwiw, in our last place in Amsterdam, we had wild parrots pass by every day around 4pm in the afternoon | ||
about 20 green parrots... | 20:59 | ||
timotimo | if you compare most current nqp and rakudo against 2014.01 instead of 2015.01, you'll have a bad time | ||
geekosaur | not sure how much extra foo you might need for framework support, perhaps start with developer.apple.com/library/mac/do...TP40001830 | ||
timotimo | m: say 19.4 / 17.4 | ||
camelia | rakudo-moar 66de7b: OUTPUT«1.114943» | ||
timotimo | 11.5% improvement in test scores between rakudo since last release | ||
16.7% improvement for nqp in the same time | 21:00 | ||
moritz | timotimo: between 2015.01 and now? | ||
timotimo | yes | ||
moritz | that's quite nice. | 21:01 | |
21:01
rurban left
|
|||
dalek | kudo/newio: b18b0a2 | FROGGS++ | t/04-nativecall/0 (4 files): turn printf("ok 1 - foo\n") from C into proper P6 test This solves two issues: First, when we have a mix of printf-style tap output from C and tap output from Perl 6, we have to be very careful about flushing stdout or cafa85f | lizmat++ | t/01-sanity/50-path.t: TRANSPOSE tests live in 53-trans.t now |
21:01 | |
21:01
dalek left
|
|||
lizmat | sorry dalek | 21:01 | |
21:02
dalek joined,
ChanServ sets mode: +v dalek
|
|||
moritz | timotimo: probably much due to -O2 compilation of MoarVM? | 21:02 | |
Util | masak: `from the Parrot POV, Rakudo "leaving the nest" was ...decision.` | 21:03 | |
Well, from *some* Parrot people's POV. From where I stand, | |||
Parrot took an early gamble on getting a convergence/buy-in by Ruby/Python/etc, | |||
who would save manpower by pooling all VM efforts into Parrot, abandoning their own internal VM. | |||
Many (slow) design decision were to support that expectation of many language clients, and future manpower. | 21:04 | ||
A disconnect with the Perl 6 implementors resulted. | |||
The Ruby/Parrot VMs multiplied, and we lost that bet. | |||
TimToady | none of us was quite smart enough to understand that the goals of having a VM to run all languages and a language to run on all VMs would turn out to be too big an impedance mismatch for the tunnels to meet nicely in the middle of the mountain | 21:05 | |
Util | MoarVM is an understandable reaction to the disconnect, and "impedance mismatch" | ||
FROGGS | lizmat: nativecall passes now on all backends on linux and osx, and on windows+moar (I did not test windows+parrot or windows+jvm) | ||
moritz | FROGGS++ | ||
Util | TimToady: So true. | ||
timotimo | i didn't even think of --optimize=1 | ||
lizmat | FROGGS: cool | ||
I cannot test windows+parrot or windows+jvm | 21:06 | ||
moritz | that's OK. Nobody expects the release manager to be able to test on all platforms. | ||
lizmat | would appreciate someone stepping forward who can do that tomorrow sometime just before the release freeze | 21:07 | |
FROGGS | lizmat: I can do that hopefully | ||
21:07
Mouq left
|
|||
lizmat | well, the windows+parrot is one that I would like to do *this* (last) time | 21:07 | |
so that we are sure we have something viable on win_parrot | |||
FROGGS | ahh, I also tested all backends on 32bit linux successfully | 21:08 | |
lizmat | for the foreseeable future | ||
FROGGS | yeah | ||
Util | I do see a future for Parrot, | ||
both as a short-term failover for MoarVM (less needed every day!), | |||
and as a long-term option for implementing `use Ruby` and `use Python <[23]>` within Perl 6 code. | |||
21:08
Mouq joined,
camelia left
|
|||
masak | I can't ever fault someone for having hope. | 21:08 | |
Util | :) | 21:09 | |
masak | maybe Parrot will somehow regain all its lost momentum. | ||
stranger things have happened. | |||
moritz | being free of its Perl 6 shackles | ||
masak | right. | ||
vendethiel | masak: which kinds of thing | ||
21:09
camelia joined
|
|||
masak | vendethiel: a concrete example eludes me right now | 21:09 | |
PerlJam | Looking at the long term has gotten Perl 6 where it is today ... maybe Parrot can figure a path to the future in a similar way. | 21:10 | |
moritz | vendethiel: peaceful reunion of Germany comes to mind | ||
maybe not weirder, but certainly more astonishing | |||
21:10
ChanServ sets mode: +v camelia
|
|||
Util | PerlJam: indeed | 21:11 | |
Different subject - I have on my dusty TODO list: | |||
Write a testing system (like Roast, but with more fudging points) | |||
to extract all Perl 6 solutions from RosettaCode, and use it to: | |||
1. check that the latest Perl 6 does not break the solution code (`make rc`), and | |||
2. check that the solutions really produce the {{OUT}} output blocks on RC. | |||
jdv79 | it seems like there is more to the parrot stuff though. there have been multiple personality clashes and burn outs. | ||
Util | I am considering it instead as a GSoC project. I already have some extraction code, as does Ingy. | ||
Any thoughts? | |||
moritz | Util: +1 | 21:12 | |
PerlJam | Util: +1 ! | ||
TimToady | probably have to provide some annotations when there's more than one solution, or where the test code is separate from the implementation code | ||
though generally everything before the first {{out}} is one implementation of the solution | 21:13 | ||
masak | Util: +1 | ||
TimToady | also, we'd have to be more explicit about 'use solver-from-that-other-RC-entry;' | ||
Util | TimToady: Right; it will be a dance of massaging the parser, and massaging the RC solutions, to meet in a middle that the RC staff won't reject as "not human-oriented" | ||
TimToady | well, the annotations could be external too, in which case they'd be transparent on RC | 21:14 | |
PerlJam | Util: your extraction code is in P5 or P6? | ||
Util | TimToady: I hope that anything "solver-from-that-other-RC-entry" is worth making a Perl 6 module in its own right. | ||
moritz | on yet another topic, I've been trying to make at least one perl6/doc commit a day | ||
Util | PerlJam: P5 | ||
21:14
rurban joined
|
|||
moritz | and when I have no idea what to do, I 'git grep TODO' | 21:15 | |
so, if you want docs for a specific subject, you can "hack" me by leaving TODOs | |||
PerlJam | moritz: is that a questhub thing for you? | 21:16 | |
Util | moritz: Excellent! | ||
PerlJam | (one commit per day) | ||
moritz | PerlJam: no, it's simply a thing :-) | ||
tgt | Thanks FROGGS++, geekosaur++ for your help, it seems to work for what I wanted. | ||
moritz | PerlJam: and I managed it most of this year, except for a few days when my laptop's power supply was broken | 21:17 | |
21:17
colomon left
|
|||
moritz | (I know, easier to say in February than in December) | 21:18 | |
21:18
camelia left
|
|||
timotimo | so weird errors is failing a test | 21:18 | |
psch stops talking to camelia for now | |||
it wasn't even particularly weird things | |||
timotimo | and procasync/basic.t is sometimes randomly passing a TODO test, yeah? | ||
moritz | timotimo: it's always passing for me, but always failing for lizmat++, it seems | 21:19 | |
timotimo | mh, understood | ||
lizmat | moritz: it's flapping, usully fails | ||
*usually | 21:20 | ||
Util | PerlJam: github.com/Util/RosettaCode_utilities | ||
moritz | lizmat: oh, then I misunderstood | ||
21:22
Rounin left
|
|||
jdv79 | is there a real pretty printing solution yet? | 21:23 | |
21:23
Kristien joined
21:24
Mouq left
|
|||
Util | jdv79: Do you mean a Perl 6 equivalent to `perltidy` ? | 21:26 | |
timotimo | here's a MoarVM release tarball for y'all: t.h8.lv/MoarVM-2015.02.tar.gz | ||
lizmat | timotimo++ | 21:27 | |
Util | timotimo++ | ||
Kristien | timotimo++ | ||
lizmat | Looking at the NativeCall code, I was wondering whether we don't need something like: | ||
TRAITS is export(:DEFAULT, :traits) { | 21:28 | ||
* multi's that have "is export..." automatically added | |||
} | |||
would be like a special BEGIN block that sets up default traits | 21:29 | ||
jdv79 | no, like JSON::Tiny's pretty or Data::Dumper - (mostly) lossless human readable data dumping | ||
lizmat | TimToady: would save a lot of repeating ourselves | ||
jdv79 | i remember a discussion involving args to .gist or .perl but i don't know if it any doable idea emerged | ||
Util | jdv79: From faq.perl6.org/ : $obj.Str gives a string representation, | 21:31 | |
$obj.gist a short summary of that object suitable for fast recognition by the programmer, | |||
and $obj.perl gives a Perlish representation. | |||
Kristien | I like the all-caps keywords found in AWK and Perl. | 21:32 | |
21:32
[Sno] joined
21:33
H2O1 joined,
colomon joined
|
|||
Util | jdv79: I don't see a discussion involving args to .gist in my scan of the #perl6 logs, but it sounds interesting. | 21:34 | |
moritz | fwiw setting build JVM is broken for me | 21:35 | |
it complains about $path-sep not being declared | 21:36 | ||
21:36
H2O1 left
|
|||
lizmat | moritz: I guess I broke that then | 21:36 | |
lizmat is checking | 21:37 | ||
moritz | lizmat: yes, looks like | ||
21:37
xfix left
|
|||
moritz | lizmat: the #?if jvm block in src/core/Inc.pm uses $path-sep | 21:37 | |
lizmat: but that was only declared in the if { ... } above | 21:38 | ||
lizmat | yeah, on it | ||
flussence | lizmat: I've wanted something like that TRAITS thing for years... specifically so I don't have to write "is native(...)" a dozen times :) | ||
PerlJam | flussence: use a macro ;) | 21:40 | |
Kristien | I love how LLVM TCOs non-tail calls. | ||
flussence | I'm not enough of a wizard to come up with one... :( | ||
(I've tried, but the whole macro thing makes about as much sense to me as xslt) | 21:42 | ||
hoelzro .oO( TACOs? ) | |||
21:47
rindolf left
|
|||
dalek | kudo/nom: 50e3214 | lizmat++ | src/core/Inc.pm: Fix JVM breakage after $*DISTRO.path-sep opt moritz++ for pointing out |
21:49 | |
21:54
rindolf joined
|
|||
Kristien | tail call optimisation as a verb | 21:54 | |
lizmat | good night, #perl6! See you tomorrow for Rakudo compiler release day | 21:57 | |
masak | 'night, lizmat | ||
raydiak | good afternoon #perl6 | 22:02 | |
Util | Hi, raydiak | 22:03 | |
raydiak | \o Util how goes it? | 22:04 | |
22:05
FROGGS_ joined
22:07
virtualsue left,
Sqirrel left
22:08
FROGGS left
22:11
rurban1 left
22:13
colomon left
|
|||
jdv79 | Util: paste.scsys.co.uk/464508 | 22:14 | |
i don't find any of the existin perl6 stringifications good enough | 22:15 | ||
timotimo | i hope i was able to free up some time for jnthn tomorrow morning :3 | ||
masak | timotimo++ | 22:22 | |
22:28
Ugator left
|
|||
jdv79 | i don't find any of the existin perl6 stringifications good enough | 22:28 | |
wrong tab:( | |||
22:30
gfldex left
22:31
spider-mario left,
skids left,
rindolf left
|
|||
dalek | kudo-star-daily: cb71164 | coke++ | log/ (14 files): today (automated commit) |
22:34 | |
[Coke] | Util: (rc) when you do that, feel free to rip out the two manual tests in roast that started down that path. | 22:38 | |
22:38
colomon joined
22:48
raiph left
22:50
tgt left
|
|||
Util | jdv79: Does it have to be a built-in method? We do already have this: github.com/FROGGS/p6-JSON-Pretty/ | 22:51 | |
Coke: Will do; thanks! | |||
22:53
grondilu left
22:56
pmurias joined
|
|||
pmurias | Ulti: I think MoarVM with minor changes will be able to support both ruby and python | 22:57 | |
22:57
kjs_ joined
|
|||
masak | that's the impression I have, too. | 22:58 | |
22:59
diana_olhovik left
|
|||
masak | and I think that the chances for any kind of success (along several interesting dimensions, including language interoperability) are higher on moarvm than on Parrot. | 22:59 | |
Kristien | maybe it can support the language I'm working on! | ||
the only thing I have so far is a small part of the object model and a compacting GC :P | 23:00 | ||
jdv79 | Util: it seems as if it should be builtin. you think it doesn't belong there? | 23:02 | |
pmurias | masak: IMHO the big problem with part is that it seem to have ~1 developer | ||
masak: and moarvm is a very similiar thing that has much more | |||
Kristien | s/more/moar/ | 23:03 | |
masak | very similar goals. vastly easier to hack on. ridiculously less technical debt. | 23:04 | |
and -- not to forget -- built with Perl 6 and Perl 6 OO and 6model knowledge in mind. | 23:05 | ||
and the Perl 6 type system, and other Perl 6 requirements. | |||
pmurias | why didn't parrot adopt the 6model and other nqp stuff? | 23:07 | |
it seemed that jnthn was building his own vm on top of parrot before he decided to rip it off and turn it into moarvm | 23:08 | ||
masak | pmurias: my answer to why: "some unknown mix of technical debt and lack of tuits" -- irclog.perlgeek.de/perl6/2015-01-18#i_9963364 | 23:09 | |
pmurias: no, I know of no such stage. jnthn didn't start out building a vm on top of parrot. | |||
unless you're talking about the things Rakudo on Parrot has to re-implement. | 23:10 | ||
Util | pmurias: As best I can tell, Parrot fully intended to move to 6model. I would blame lack of tuits far over tech-debt. | 23:12 | |
23:12
rurban1 joined,
Kristien left
|
|||
masak | does Parrot have a roadmap? I looked but couldn't find one in the git repository. | 23:13 | |
23:16
rurban1 left
23:19
filin joined
|
|||
Util | masak: Nothing current | 23:20 | |
jdv79 | pmurias: i think chromatic wrote about those times | 23:26 | |
23:31
kjs_ left,
kjs_ joined
23:35
filin left
23:42
MadcapJake left,
MadcapJake joined
23:43
wicope left,
lichtkind joined,
tengignick left
23:45
espadrine_ left,
espadrine_ joined
|
|||
masak | 'night, #perl6 | 23:46 | |
lichtkind | good night mxE4sak | ||
raydiak | g'night masak | ||
Util | g'night, masak | 23:47 | |
23:49
Sqirrel joined
23:53
pmurias left
|