»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
japhb wonders how to manage a hello.perl6.org as snazzy as this: hello.p5js.org/ 00:20
TimToady well, the Mint based on that 00:22
japhb Mint 17, I guess. 00:27
TimToady yes, a purportedly LTS version 00:29
so if someone is interested in LTS of niecza, 3.2.8 is probably a good target :) 00:31
japhb I was reading about that recently -- Mint 17 is supposedly taking advantage of Ubuntu LTS to avoid the churn expected over the next two years of Ubuntu proper.
TimToady that's the theory :)
especially since Mint doesn't believe in upgrade-in-place as much as Ubuntu 00:32
so it's even churnier for Mint 00:33
TimToady loves the productive affixes in English :)
TimToady loves the churnier affixes in English :) 00:35
japhb I think the Mint core team is just more realistic about GUI upgrades than Ubuntu is. Debian has been good enough (but not perfect) at CLI upgrades for server installs, but GUI desktop installs? Eww.
pmichaud Is there an ascii version of the union and intersection set operators? 00:47
I guess (|) and (&) ? 00:48
.u ∪ 00:49
yoleaux U+222A UNION [Sm] (∪)
japhb m: my $a = set( 1, 2, 3 ); my $b = set ( 3, 4 ); say $a (|) $b; say $a (&) $b; 00:56
camelia rakudo-moar 88326e: OUTPUT«set(1, 2, 3, 4)␤set(3)␤»
BenGoldberg .u intersection 01:19
yoleaux U+2229 INTERSECTION [Sm] (∩)
BenGoldberg m: my $a = set( 1, 2, 3 ); my $b = set ( 3, 4 ); say $a ∪ $b; say $a ∩ $b; 01:20
camelia rakudo-moar 88326e: OUTPUT«set(1, 2, 3, 4)␤set(3)␤»
BenGoldberg :)
japhb m: my \A = set(1, 2, 3); my \B = set(3, 4); say A ∪ B; say A ∩ B; # More like a mathemitician might write it :-) 01:25
camelia rakudo-moar 88326e: OUTPUT«set(1, 2, 3, 4)␤set(3)␤»
BenGoldberg .u complement 01:35
yoleaux U+2201 COMPLEMENT [Sm] (∁)
BenGoldberg m: my \A = set(1, 2, 3); my \B = set(3, 4); say A ∁ B 01:36
camelia rakudo-moar 88326e: OUTPUT«===SORRY!=== Error while compiling /tmp/M6W17SyCqz␤Two terms in a row␤at /tmp/M6W17SyCqz:1␤------> set(1, 2, 3); my \B = set(3, 4); say A ⏏∁ B␤ expecting any of:␤ postfix␤ infix stopper…»
BenGoldberg m: my \A = set(1, 2, 3); my \B = set(3, 4); say ∁ B
camelia rakudo-moar 88326e: OUTPUT«===SORRY!=== Error while compiling /tmp/p__0uzRPCM␤Two terms in a row␤at /tmp/p__0uzRPCM:1␤------> = set(1, 2, 3); my \B = set(3, 4); say ⏏∁ B␤ expecting any of:␤ argument list␤ prefix …»
BenGoldberg m: my \A = set(1, 2, 3); my \B = set(3, 4); say A (^) B
camelia rakudo-moar 88326e: OUTPUT«set(1, 2, 4)␤»
Mouq lizmat++ TimToady++ # fixing my error, smartmatch reboot 01:37
raiph .tell timotimo mebbe gist.github.com/raiph/f20cec6ff47400c31fbb is helpful for p6weekly 02:31
yoleaux raiph: I'll pass your message to timotimo.
dalek Heuristic branch merge: pushed 122 commits to roast/S26-WHY by hoelzro 02:46
Heuristic branch merge: pushed 83 commits to rakudo/S26-WHY by hoelzro
dalek kudo/S26-WHY: e020d38 | (Rob Hoelz)++ | src/Perl6/ (3 files):
Implement decl docs for enums
03:12
Woodi hi #perl6 05:12
Woodi about JIT thing... I don't know planned jit emits some bytecode or nativecode but not having native/C implementations of some critical functions will make us always unhappy. native/C codded subs/methods could be reached via multi dispatch when arg types match. actually we could have two implementations of some functions: pure P6 and C, compile time choosed... 05:16
P5 just calls C functions and it makes it fast. we always will be missing such speed. 05:18
TimToady other than your premises and your conclusion, I agree completely :) 05:27
moritz Woodi: guess what, we can call C functions from Perl 6. 07:06
Woodi moritz: but we don't 07:11
but, as usual, I just guessing/imagining how things works... 07:12
moritz Woodi: then maybe you should suggest improvements *after* you have stopped guessing, and have actually informed yourself how stuff works 07:13
Woodi ok :) 07:15
masak morning, #perl6 07:55
FROGGS_ Woodi: MMD with P6 subs and NativeCall subs should just work 08:05
timotimo that's right 08:08
yoleaux 02:31Z <raiph> timotimo: mebbe gist.github.com/raiph/f20cec6ff47400c31fbb is helpful for p6weekly
timotimo thank you, raiph
timotimo www.reddit.com/r/perl/comments/2dhv...scenarios/ - maybe someone in here can write up a well-thought-out response that is unlikely to turn this thread into a flamefest ... 08:59
moritz lol 09:02
timotimo though i can sort of see how any perl6 developer appearing in that thread could cause at least one message like "of course the perl6 cabal/echo chamber/... turns up to praise their hobby project" etc etc 09:04
moritz I've written an answer 09:05
and yes, it has the potential to turn into a flamewar 09:06
timotimo uh oh!
you wrote "a larger incentive to switch to perl 6 eventually" 09:07
brrt very few things in life do not have that potential
timotimo the haters will love that %)
and by love i mean hate
moritz of course
timotimo and by hate i mean love
moritz but it really is an essential point
the slowness of the p2 -> p3 migration is in large parts due to the lack of incentives to switch to 3 09:08
py2 -> py3 I should say
Ulti if someone wants you to use a hex screwdriver but all the screws you used on your nice construction are philips why would you upgrade
programming languages for most people are just tools without any intellectualism or artistry
xiaomiao moritz: performance + legacy code
moritz: "so if I invest 2000 man-hours I get the same I have now, 30% slower?" 09:09
moritz xiaomiao: correct; you'd have to offer something valuable in return 09:11
xiaomiao moritz: and in the case of python I'm still searching for it 09:12
moritz xiaomiao: like, features that make the code base much more maintainable and smaller
xiaomiao that, or performance optimizations that make things a lot faster
both can have a business value
timotimo moritz: you could have all these features in perl5! just use moar modulez! 09:14
Ulti if v5 ever had more perf than perl5 that would probably be a winning scenario 09:25
has anyone actually benchmarked what already works in v5?
timotimo Ulti: don't forget v5 will never be able to run XS based modules 09:29
though a "port" of NativeCall to v5 should be very simple
hmm.
now that i think about it
tadzik are you now thinking about implementing XS in NativeCall? 09:30
timotimo a big portion of what makes NativeCall so nice and elegant is our type signatures and type system and stuff like that
no!
oh god
tadzik I'm willing to supply alcohol to make that bearable
timotimo i think in the end you'll just { use v6; use NativeCall; our sub ... is native ... ; }
nwc10 yes, there are already FFI modules for perl 5 on CPAN, and they are really taking the world by storm...
betterworld how will DESTROY work in v5? I think many programs that use
nwc10 FFI is about 25% of the "problem"
betterworld that use DESTROY depend on refcounting 09:30
nwc10 you also need to parse C headers to get function signatures, implement accessors to C structures, and parse headers to get enums and macros 09:31
and you are *stuffed* if the interface includes inline functions, or macros that expand to code.
timotimo nwc10: you have to explain that to me, i have no clue of the perl5 world at all
nwc10 timotimo: Perl 5 interfacing to C is traditionally done with "XS", which is an ugly shorthand langauge for writing C code 09:32
timotimo nwc10: right, nativecall can't deal with that, and it may be out of scope for NativeCall itself
what i mean is: is "taking the world by storm" sarcastic?
nwc10 but it generates C code, and so needs a C compiler
so people think that the solution is FFI, becaue then you don't need a C compiler to interface to C code
and FFI modules exist on CPAN
and (almost) nothing is using them.
because they don't actually make life easier
timotimo OK. 09:33
nwc10 nativecall is one part of what's needed to write a C interface.
but it's not enough on its own, except for simple things like "pass a number" or "return a number"
timotimo sad but true.
nwc10 oh, part of py2/py3 migration problem is that there's no way to have both py2 and py3 code running in the same process 09:34
so it's a flag day upgrade 09:35
and no automated way to 100% convert py2 code to py3 either
xiaomiao yarp, that's quite horrible
nwc10 incrementally upgrading your codebase module by module is not made easy
timotimo i'm looking forward to diakopter's work on the perl5-inside-moarvm thing 09:38
colomon module smoker is back to 09:39
make: *** No rule to make target `m-clean', needed by `clean'. Stop.
Failed running make realclean at /home/smoker/.rakudobrew/bin/rakudobrew line 23.
:(
colomon 's vacation is very nearly over, so he hopes to have time to check this out soon. 09:40
timotimo we shouldn't need that step 09:41
just delete line 23 :P
tadzik: ^
tadzik timotimo: it's there Justin Case' 09:42
timotimo it's there to make the whole process abort 09:43
colomon timotimo: the smoke tesf doesn't work if it gets beyond that step, either.
tadzik well, make is great and all that, but if you want to minimize the random cases where deps somehow end up outdated it's safer to realclean every time 09:44
but since we have a common Configure.pl broken realclean is a reccuring problem :( 09:45
timotimo oh
moritz maybe Configure.pl should try all off (m-realclean, j-realclean, p-realclean), and ignore errors 09:48
dalek kudo/nom: 758974b | jnthn++ | src/Perl6/Optimizer.nqp:
Don't let parens prevent "for (1..1000) { }" opt.
10:11
FROGGS__ m: for (((((((1..1000))))))) { } 10:12
camelia ( no output )
jnthn That's just stupid. 10:16
I only bothered with the above patch for the sake of perl6-bench.
It's an annoying one because we want to pattern match before the optimizer gets its hands on the child nodes 10:17
In most cases we visit children first, and such things get stripped away.
pmurias "for the sake of perl6-bench" - isn't that a bit cheating ? ;) 10:19
jnthn Optimization *is* cheating. 10:21
pmurias nqp-m has the same annoying error messages as nqp-p? 10:26
sjn the trick is to cheat so everyone benefits from it
nwc10 what's the most recent sent of benchmarks that anyone has run and published? 11:06
"are we nearly there yet?"
jnthn I'm planning to do a run later today 11:07
timotimo oh, i wanted to do one, too! :)
dalek ecs: edccb81 | (Elizabeth Mattijsen)++ | S24-testing.pod:
Cleanup and elaboration on Testing

  - removed eval_lives_ok, eval_dies_ok, now handled by lives_ok/dies_ok
  - added cmp_ok
  - described each function in more depth
  - removed reference to Test::More, doesn't make sense to people not knowing p5
11:44
timotimo i'm doing a benchmark run of latest rakudo and nqp on latest moar with and without jit 11:59
masak wow. backlog made me go look at hello.p5js.org -- I'm glad I did. 12:09
the web is turning interactive almost faster than my mind can get used to it.
but I think it's exactly the direction it should move in.
[Coke] "no, really, click here" 12:12
dalek kudo-star-daily: aa4e804 | coke++ | log/ (14 files):
today (automated commit)
12:18
masak [Coke]: the mixing of video and interactive canvas was surprising. obvious in retrospect, but still surprising. 12:22
[Coke]: things like this make me want to sit down and think of all the other things that are already possible but that we don't do. 12:23
moritz wants IRC with screencast support
and IP-over-voice 12:24
masak [Coke]: furthermore, modern web development seems to consist of this. a small minority spearheads development with great ideas, and everyone else keeps running behind trying to make the laughably underpowered language do the same stuff.
moritz it's not really the language that's laughably underpowered, it's really the interaction model 12:25
tadzik it seems to me that the entire web is this, everyone trying to make a laughable language do proper stuff :/
masak tadzik: that's why I more and more consider JavaScript to be a target language. 12:27
tadzik right
masak tadzik: same with HTML and CSS.
tadzik well, this I consider a GUI toolkit, not a language, but I see the point 12:28
pmurias masak: why do you consider JavaScipt laughably underpowered? 12:35
masak pmurias: other contemporary languages have several different levels of abstracting and compartmentalizing things. JavaScript has one: functions. 12:36
nwc10 masak: I've not used JS very much (mostly to drive CasperJS), but that's a very interesting way of looking at it 12:37
masak pmurias: consequently, being proficient in JavaScript mean learning how to (mis-)use functions for *everything*, and even well-written JavaScript is littered with nested anonymous functions, requiring familiarity with the patterns to make sense of it all.
pmurias: in practice, people compensate by switching to better languages and then compiling down to JS. result: less and less JS is an author language, more and more it's a compiled-to language. 12:38
pmurias by littered with nested anonymous functions, you mean the use of callbacks for everything? 12:43
moritz also for getting a scope 12:44
masak right, not just callbacks.
functions are also used to create types.
moritz or for simulating a private attribute, by having a lexical variable in a new, private scope
masak and modules.
moritz EVERYTHING
masak and to do dependency injection.
right, everything. 12:45
moritz the more I think about it, the more I agree with masak++
which tells me that masak++ has thought a lot about it too :-)
nwc10 masak++
pmurias moritz: do people actually simulate private attributes in javascript?
nwc10 for these observations 12:46
moritz pmurias: some do
jnthn I use "var" in the scope of a constructor to obtain privacy in JS
masak it varies how much people care about that kind of privacy. 12:47
but yes, those who do use the lexical scope of the function for private things. 12:48
moritz there are even folks in perl 5 who use lexicals for privacy (see inside-out objects)
masak yeah, it's the morally equivalent trick. 12:49
moritz had a to write a tricky piece of code twice (due to changed requirements), and it worked correctly the very first time 12:50
in the second iteration, that is
that's a very unusual experience for me :-) 12:51
masak cause for suspicion :)
moritz that too :-)
masak "where's my complimentary thinko?"
moritz git says +80 lines, -5 lines 12:52
pmurias masak: the interesting questions is, do the languages targeting javascript solve those problems? 12:55
masak pmurias: I'd say they solve them less than being able to run things directly in the browser, but more than the absence of a solution. 12:57
pmurias: source maps make that even more true. likely other stuff in the future will make it even more true.
I think the trend is so important that even many non-web programmers would benefit from paying attention to it. 12:58
pmurias personally I don't have a plan how to deal with the callback hell in nqp-js/rakudo-js 13:00
and I'm not fully sure what a good solution to the lack of proper modules in js is 13:01
and the lack of proper modules seems to be the worst flow with js
masak "a good solution to the lack of proper modules in js" depends on your context. 13:02
masak you could (a) be really discipilined, (b) have tools help you be really disciplined, or (c) cross-compile from a language that gives you discipline. 13:03
moritz Perl 6! 13:04
masak well, ++pmurias willing, yes.
I'd love to write web apps in Perl 6.
pmurias the bigger problem is that other people's module won't be in Perl 6 13:05
masak you mean there has to be some kind of JavaScript FFI? 13:06
lizmat fg 13:08
oops, ww :-)
masak wb :) 13:09
dalek p-js: 8ad493d | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Add missing semicolon when declaring a function.
13:15
p-js: 9f6f2bc | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Calling a sub with standard positional arguments.
p-js: 447c6cd | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Calling a sub with *@args. (Receiving those arguments is still NYI).
pmurias masak: there will have to be some way to import stuff from js modules 13:16
pmurias masak: hopefully a FFI will be mostly transparent/automatic 13:16
masak: one the node.js side there is a module system, but the browser side seems to be more important/interesting 13:17
pmurias masak: suppose you want to use jquery from you Perl6 script, how are you supposed to do that? 13:20
timotimo t.h8.lv/p6bench/2014-08-14-jit_comparison.html - benchmarks with jit on/off and also including the last release. /cc jnthn
masak pmurias: I hope/imagine we can use the :from adverb in our `use` statement, and it will compile down to some JavaScript that pulls in the module. 13:22
jnthn timotimo: Why does the while_empty one look ridiculous (e.g. most of the line missing for moar-jit)? 13:23
masak pmurias: as much JavaScript as I do nowadays, I still don't know the exact pros/cons between AMD modules and CommonJS modules, and who knows what other modern module standards.
jnthn Same for while bind
*sigh* certainly turning off the noise avoidance algo for my run.
timotimo i wondered about that, too.
timotimo jnthn: how do i do that? 13:26
the data seems to be there, it's just being ignored?
pmurias masak: the details are the hard part
jnthn Yeah, japhb++ mentioned it's just a graphing option
pmurias masak: do we bundle the module or use a CDN?
jnthn But I forget the flag
timotimo OK 13:27
jnthn timotimo: Seems the JIT notably helps some benchmarks, doesn't do much on others, but doesn't make any of them worse. :)
pmurias masak: some javascript code uses AMD, other just exposes a global object
masak pmurias: to me that sounds like a configure option on the to-JS compiler. bundling feels like the sensible default, since it creates something self-contained.
timotimo is that --min-time?
jnthn timotimo: maybe 13:28
timotimo AFK for a bit 13:29
dalek p: c2362f4 | jnthn++ | src/ (3 files):
Don't walk whole setting symbol table on load.

This should help avoid some deserialization work, or at least get rid of one more thing that forces a bunch of it.
13:33
lizmat wonders how that would affect the spectest 13:34
dalek kudo/nom: 570de40 | jnthn++ | / (5 files):
Avoid walking whole setting scope at startup.

This should deal with another thing that forces deserialization of all things in the setting whether they're needed or not. Helps a little, but probably there are further "leaks" that could be cleared up.
13:35
jnthn lizmat: Not a lot from what I've measured
lizmat too bad :-)
jnthn It makes a small difference to base memory usage. 13:36
dalek kudo/nom: b9d499e | (Elizabeth Mattijsen)++ | lib/Test.pm:
Implement cmp_ok() (as recently specced ;-)
jnthn But only a couple of percent
donaldh ugh. Tried to add an scIndex into SixModelObject on JVM. Now get JVM crashes during nqp compilation. 13:50
donaldh does generated code rely on SixModelObject layout? 13:50
lizmat errands&
moritz donaldh: did you add it at the end? 13:55
oh wait, this is java, not C
never mind
donaldh Well class layout still matters in java 13:55
jnthn I can't immediately think of a reason we'd crash over that. 13:56
I mean, yeah, we compute classes on the fly
donaldh That are derived from SixModelObject 13:57
jnthn Right
jnthn But that's inheriting from it; I can't easily think of a way things would break. 13:57
donaldh can't remember now member access is worked out.
diakopter unless you're using Unsafe, if it's a true crash, it's a jvm bug...
moritz wouldn't be the first one we#d encounter :-) 13:58
donaldh Yah, but the JVM bug could be manifested by bad instructions.
diakopter ok, a Java specification bug :)
donaldh It's a true crash, i.e. SEGV. So yes, a JVM bug. 13:59
nwc10 donaldh: you've got the most current version of the JVM that Oracle have blessed us with? 14:00
donaldh I haven't. Recent but not latest. I'll get the latest 7 and 8 and try them. 14:01
nwc10 obviously, I'm wondering if you have inadvertently found an exploit 14:01
psch hi #perl6 o/ 14:13
masak greetings, psch 14:15
psch sergot: IO::Socket::SSL on 32bit segfaults a moar REPL for some URLs: gist.github.com/peschwa/c60c1c06a96781418d27 14:16
i'd blindly assume that's something in NativeCall, although i didn't get around to gdb deeper
hi masak
sergot psch++: thanks I will take a look at this 14:17
sergot psch: is it only the REPL/ 14:18
?
psch sergot: yes, the REPL segfaults. execution of a script gives an empty Buf 14:19
let me gist it for you
sergot will be great
psch sergot: gist updated 14:20
psch sergot: a passing observation is that sites that do work don't seem to report 300; yours e.g. works but gives 403, google gives 302. not sure if that could be significant 14:21
where "yours" is the test.pl6 that sits in the repo root for io-socket-ssl 14:22
sergot does it fails (showing an empty Buf) always?
I mean 14:23
try to run it X times
github should return 301 in this case
And it does on my box 14:24
psch i didn't yet not get an empty Buf, i've been trying a total of 20 times or so between yesterday and today 14:25
that's only for github
hoelzro morning #perl6 14:28
diakopter that Oracle hath oracled us with 14:31
psch sergot: fwiw, i put a for 1..100 around the example code and it gave me 100 empty Bufs 14:40
sergot I always get satisfying result, even using the REPL. 14:41
So.. something is wrong :)
I'll get into this.
psch sergot: as mentioned, i'm on 32bit 14:42
psch and NativeCall does have at least one hangup with non-explicit-sized ints. i didn't see if you're using int anywhere for is native declarations, but those could be a problem 14:43
sergot I use int32 for the port.
sergot In the OpenSSL module. 14:43
sergot psch++ # thank you for trying this stuff 14:45
sergot :) 14:46
psch sergot++ # for making this stuff
:P
tadzik hmm, did someone look into making Net::IRC like SSL?
I could rewrite the dinner irc bot to Perl 6 and thus make it run production software at work :D
psch i'd been thinking about a github module a bit, which is why it's doubly sad that github is one of the sites it doesn't work for heh 14:47
masak tadzik: what's the dinner IRC bot? 14:53
tadzik masak: we have a bot at work that decides where do we order dinner from and who's calling to order 14:53
masak ooh!
that sounds very neat!
tadzik it's using Bot::BasicBot and DBI 14:54
DBI because it's integrated with a webapp for signing up for dinner :)
jnthn "We're using Perl 6 in a critical application. If it fails, people starve!" 14:54
masak .oO( it's used in production... of dinner ) 14:55
dalek blets: 91390db | (Herbert Breunung)++ | docs/ (5 files):
organizing ops better, link cleanup
sjn Perl 6: The IOT Language for The Kitchen? 14:56
hoelzro is anyone else noticing more segfaults lately? 14:58
nwc10 hoelzro: in various S17 tests? 14:59
hoelzro I had a module that was working, and when I built the latest mokudo, some of its tests segfault
nwc10: I haven't tried it on spectests yet
dalek blets: a6c9a6a | (Herbert Breunung)++ | docs/ (5 files):
further link cleanup
15:02
[Coke] pmurias++ # npq-js go! 15:14
dalek p-js: 003a34a | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Mark params in $*BLOCK.
15:15
p-js: 4dcba8c | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Simple positional parameters work.
p-js: 4fb3a7b | (Pawel Murias)++ | nqp-js:
Pass arguments to nqp-js.
p-js: ac0aada | (Pawel Murias)++ | / (3 files):
make js-test passes test t/nqp/01-literals.t with a concatenated mini-setting.
japhb_ lizmat: In your recent S24-testing commit, there are several functions described in the main text as exported, but aren't listed in the exported functions list near the top -- for example todo/skip/skip_rest, though perhaps more -- I didn't do a real audit, just noticed it in passing
hoelzro pmurias++ 15:17
dalek blets: 5b7b0f8 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
fixing table alignements
15:21
blets: edc5a0c | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
fixing extrawide layouts too
15:23
dalek p: daaf098 | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION for async proc + JIT additions.
15:27
kudo/nom: 0bbedab | jnthn++ | / (2 files):
Support writing to async proc STDIN also.

Includes an NQP_REVISION bump to get MoarVM improvements that enable this.
15:28
dalek p-js: 34c8c0a | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
Add missing nqp.named, fix indentation.
15:48
rl6-roast-data: 10717a7 | coke++ | / (5 files):
today (automated commit)
15:51
[Coke] moar still busted. :(
jnthn [Coke]: That doesn't make a lot of sense...building without JIT fails, somehow? 15:53
dalek p-js: 4b45434 | (Pawel Murias)++ | tools/build/ (2 files):
"npm install" the runtime when it changes.
15:54
[Coke] I'll post the build log (which I save only until the next day is run.) 15:56
japhb jnthn, timotimo: OK, so the noise removal thing seems to be giving people fits. I put it in because otherwise you would get noise values that would result in really high maximum rates, thus causing comparison and history to give bogus information. But it's still confusing you guys. Suggestions for something better? 15:57
[Coke] jnthn: oh, I'm an idiot. 15:58
dalek p-js: 118bb06 | (Pawel Murias)++ | / (3 files):
Add a js-lint which lints the javascript runtime using gjslint.

Fix the style violations it finds.
[Coke] Command failed (status 7424): /usr/bin/perl Configure.pl --prefix=/home/coke/sandbox/perl6-roast-data/rakudo.moar/install --backends=moar --make-install --git-protocol=https --gen-moar --moar-option=--disable-jit
japhb The problem is largely that the slowest and fastest compiler on many of these tests are so far apart in performance, that it's hard to increase the SCALE (and thus avoid most of the noisy area of the left of the graph) without making the slowest compiler take so long that timotimo rants at me about time to do a benchmark run. :-( 15:59
[Coke] *sigh* it'll be fine tomorrow. 15:59
pmurias what's the slowest compiler? 16:00
jnthn [Coke]: Phew! :)
japhb pmurias: usually r-p 16:01
jnthn japhb: I understand the problem, it's just that it's easy for me to visually spot bogus hoise at the start of the graph and filter it out, whereas trying to guess what missing data might have been is about impossible...
japhb (except on older builds, for concat tests, in which case r-m)
jnthn: Sure, the visual side is one thing, but the comparison values in the hover text are all wrong if the noise peaks higher than the steady state 16:02
(And of course history plots, which are based on grabbing the peak performance from each compiler on each test, become essentially random) 16:03
jnthn japhb: The weird thing about the graphs timotimo posted today are that it's cut data out later on in the benchmark... 16:05
timotimo hm?
jnthn timotimo: The missing points for moar-jit towards the right of the graph
timotimo "towards the right" is a pretty optimistic way of phrasing that :P 16:06
jnthn japhb: The trouble with "steady state" is that not all benchmarks hit one too...
timotimo as they pretty much stop left of the middle
japhb jnthn: I worded that poorly ("steady state") 16:07
dalek p-js: 19fcd62 | (Pawel Murias)++ | src/vm/js/bin/run_tests:
Add passing test 5 to run_tests.
japhb jnthn: Which test for example is missing points near the right?
jnthn japhb: t.h8.lv/p6bench/2014-08-14-jit_comparison.html - see moar-jit's entry in while_empty 16:08
timotimo and while_bind
japhb (And timotimo, do you have --min-scaling-points set to 2 instead of 3?
timotimo i didn't supply any value for that 16:09
japhb Hmmm, something is very fishy there. 16:09
Do you actually have data for those points in those tests?
Because if a run errors for any reason, timeall immediately gives up on that compiler for that test and goes to the next. 16:10
timotimo gimme a sec; i think so
japhb Which makes me wonder if there's some segfaulting or something going on that causes a signal, that timeall reads as failure
timotimo up to 131072 16:11
it's just that it's barely slower than at 0 :)
japhb For r-m-j on those two tests?
Oh, interesting!
timotimo i'll give you the json if you'd like?
japhb wonders if the loop got essentially optimized away 16:12
timotimo no, it would have stayed
japhb But if it was so bloody fast, timeall should have kept bumping the SCALE until it got a reading
timotimo but having the loop in asm is just ridiculously fast
japhb Hmmm, or there was an overflow in something
Yeah, post the json, I'd like to take a look 16:13
timotimo one sec :)
japhb Also, can you generate the plots (with a different filename) with --min-time=0 ?
timotimo t.h8.lv/p6bench/758974b.json
sure
japhb thx
Wait, while_empty is showing the problem, and *not* while_empty_native. 16:15
Hmmmm
timotimo t.h8.lv/p6bench/2014-08-14-min_time_0.html
japhb What the .... 16:16
OK, bus stop, but will continue looking at this.
jnthn hah, that while_empty_native one goes wild... 16:17
dalek rl6-bench: af4e774 | TimToady++ | perl6/rc-self-describing-numbers:
install faster perl6 version

This version is twice as fast and cheats more like the nqp version.
16:22
japhb Awww, most of the clever went away 16:27
TimToady clever is one of the reasons the nqp version is 2^8 times faster 16:28
timotimo ideally, we'd have fast execution for clever code
pmurias should the mandelbrot nqp banchmark specify types on variables?
TimToady but it was also dumber
FROGGS "clever" is good for RC, not for benchmarks
TimToady most of the speedup is by shortcircuiting the loop and not initializing with xx
japhb We're really starting to need a compendium of things for people to avoid (or to specifically do) when optimizing 16:29
TimToady since the loop shortcircuits, we never have to "initialize" with //= on those cases
timotimo ah, righto
FROGGS m: my $any; say $any ~ Buf.new
camelia rakudo-moar b9d499: OUTPUT«(signal )use of uninitialized value of type Any in string context in block at /tmp/EEB7U6do3m:1␤␤»
FROGGS is there already a ticket for that? 16:30
japhb xx with a constant on the left should be much faster, methinks.
TimToady especially when it's an initalizer 16:31
especially when it's an int array, oh wait
japhb
.oO( Language designer pokes at language implementors. Film at 11. )
16:32
TimToady also the "clever" code was stringifying and numifying the same thing multiple times, which is something P5 optimizes but P6 doesn't yet 16:33
jnthn Note that we already do away with the thunk when it's a constant on the left
TimToady and it still runs 2^7 slower than the nqp version 16:34
jnthn The problem is that xx is done with gather/take, which in turn never gets told "oh, just eagerly make as many values as you can", so it makes them one at a time.
japhb Ah right, the list refactoring need 16:35
FROGGS jnthn: hmmm, @<foo>= in regexes should be pretty LHF, right? 16:36
jnthn What does it do?
TimToady but I think most of the 2^7 difference is in .[] 16:39
pmichaud good morning, #perl6 16:42
japhb o/ 16:43
jnthn o/ pmichaud
japhb timotimo: After looking at the timing json file, I'm leaning even further towards something having happened that cut off the timing of r-m-j early on those tests. The scaler should have kept scaling, because none of the runs had a time over --enough-time (default 1.0 seconds). If there had been a run that took way long (like a background task eating all the CPU for a couple seconds), then it's reasonable for the scaler to have quit. But in this case, not unless 16:50
jnthn ...talking of cut off... :) 16:52
timotimo :)
japhb Where did it get cut off? It appears complete in my irssi.
jnthn japhb: Missing content after "But in this case, not unless"
japhb "But in this case, not unless r-m-j crashed, I think."
dalek p: 334b593 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (7 files):
Eliminate ArrayList.indexOf usage in SerializationContext on JVM.
17:00
jnthn .tell Mouq MoarVM HEAD fixes the htmlify grapheme iter crash 17:08
yoleaux jnthn: I'll pass your message to Mouq.
dalek rl6-bench: 7865e2d | (Geoffrey Broadwell)++ | timeall:
Improve robustness and detail of subprocess segfault check
17:09
japhb timotimo: Doing the timings in the future with stderr captured should now help to see segfaults better (and what exactly segfaulted) 17:11
japhb donaldh: Ackpth. Lots and LOTS of whitespace changes got sucked into that patch. 17:15
donaldh ugh, so they did. Work computer. I've enabled remove-trailing-whitespace on save in eclipse for another project that fails the build when there's trailing whitespace. 17:18
I only loaded it into eclipse to check there weren't unused imports.
timotimo oke :) 17:20
donaldh afk& 17:23
FROGGS m: grammar G { token TOP { <a> }; proto token a {*}; token a:sym«<foo>» { <sym> } }; class A { method a:sym«<foo>»($/) { say("awesome") } }; G.parse("<foo>", :actions(A) ) # bug 18:52
camelia ( no output )
FROGGS jnthn: do you know which part generates the method name that is called on the actions? 18:53
jnthn I think sym is specially handled somewhere 18:55
May be in P6QRegex::Actions
or QRegex::P6Regex::Actions
Or whatever we call it
:)
FROGGS assertion:sym<name> there cares about <sym> in regexes 18:56
FROGGS and it creates a subcapture where the "<foo>" would be passed as a positional 18:56
FROGGS and I also know that we finally call the method (longname) on the action in QRegex::Cursor.!protoregex 18:57
Ven o/, #perl6
FROGGS but something must rebuild the longname, and that's the bit I am after
hi Ven 18:58
Ven holidays are good, until you end up with 200+ more github notifs!
jnthn We don't call the actions class in !protoregex; that's done in !reduce
Or do you mean the method name is a bit off? 18:59
Or it fails to find it?
In taht case, see !protoregex_table maybe, and look at .HOW.methods of the grammar
FROGGS it tries to invoke 'a:sym<' ~ $sym ~ '>'
so the name is off, aye 19:00
PerlJam m: grammar G { token TOP { <a> }; proto token a {*}; token a:sym«<foo>» { <sym> } }; class A { method a:sym<<foo>>($/) { say("awesome") } }; G.parse("<foo>", :actions(A) )
camelia rakudo-moar 0bbeda: OUTPUT«awesome␤»
FROGGS see
PerlJam (not that I didn't believe you, I just wanted to see :()
er :)
FROGGS nqp-m: grammar G { token TOP { <a> }; proto token a {*}; token a:sym«<foo>» { <sym> } }; class A { method a:sym«<foo>»($/) { say("awesome") } }; G.parse("<foo>", :actions(A) ) 19:01
camelia nqp-moarvm: OUTPUT«awesome␤»
FROGGS also this--^
FROGGS that's nqp though 19:01
but I guess nqp is cheating here somehow?
PerlJam cheating by doing the right thing :) 19:02
jnthn m: grammar G { token TOP { <a> }; proto token a {*}; token a:sym«<foo>» { <sym> } }; class A { method a:sym<<foo>>($/) { say("awesome") } }; say G.^methods(:local); say A.^methods(:local) 19:03
camelia rakudo-moar 0bbeda: OUTPUT«TOP a a:sym<<foo>>␤a:sym<<foo>>␤»
PerlJam =-huh
FROGGS O.o
jnthn That looks right. We canonicalize all quoting constructs in actual names to <...> 19:04
FROGGS hmmmm
jnthn m: say &infix:<< < >>
camelia rakudo-moar 0bbeda: OUTPUT«sub infix:<<> ($?, $?) { #`(Sub+{<anon>}|76380400) ... }␤»
jnthn Even if they don't match too well :)
FROGGS how are we supposed to retrieve that correct action method name then? 19:05
jnthn Well, if it's canonicalized it should just match the one in the grammar...
The name itself is actually passed as an argument to !curosr_pass iirc
And then on to !reduce, which does a method lookup
FROGGS and also, this makes .perl.EVAL impossible
jnthn Uh, we already throw away the method body anyway :P 19:06
FROGGS m: grammar G { token TOP { <a> }; proto token a {*}; token a:sym«<foo>» { <sym> } }; class A { method a:sym«<foo>»($/) { say("awesome") } }; say G.^methods(:local); say A.^methods(:local)
camelia rakudo-moar 0bbeda: OUTPUT«TOP a a:sym<<foo>>␤a:sym«<foo>»␤»
FROGGS ahh!
Ven .o( DEATH to the EVAL )
FROGGS only grammar methods are canonicalized
jnthn Aha! That A one looks wrong...
Yeah
vive le bustage
FROGGS so I guess I have to look at the GrammarHOW? 19:07
Ven bien joué !
jnthn No, I'd suspect some fail in Actions.pm in Perl 6 19:08
FROGGS hmmm
jnthn Though given we handle tokens and methods through a lot of the same code...it is rather a mystery.
FROGGS not again :o)
FROGGS goes and checks isfalse first 19:09
dalek kudo/nom: f4ed491 | jnthn++ | src/vm/moar/ops/perl6_ops.c:
Add missing concrete checks to avoid SEGVs.

  tgt++ for reporting.
19:10
Ven eh. my 3g is too bad for me to commit the fixed learnxiny. sigh.
timotimo d'oh :( 19:11
FROGGS jnthn: ahh, P6::W.dissect_longname does the magic 19:13
I always forget that :sym<...> is just a colonpair
timotimo the next doctor who spin-off is going to have not two hearts, but two colons. 19:16
Ven wat 19:19
timotimo it'll be pretty crappy ... 19:20
FROGGS ohh, the token does not end up bing a longname... 19:23
Ven just pushed a learnxiny update 19:35
m: sub f(@a) { map({ return $_ if $_; }, @a) }; f(^10); #?? 19:36
camelia rakudo-moar 0bbeda: OUTPUT«Unhandled exception: Attempt to return outside of any Routine␤ at <unknown>:1 (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:12929 (/home/p6eval/rakudo-inst-2/languages/perl6/r…»
Ven I thought this was supposed to work and to return from f 19:37
jnthn But the map is lazy so runs after f 19:38
Well, the block does, anyway
Ven uh, does it?
jnthn m: sub f(@a) { eager map({ return $_ if $_; }, @a) }; say f(^10); 19:39
camelia rakudo-moar 0bbeda: OUTPUT«1␤»
Ven I seem to remember Junction used that, though ...
oh.
m: sub f(@a) { map({ return $_ if $_; }, @a).gimme(*) }; f(^10); #??
camelia ( no output )
Ven you seem a bit laggy, camelia. 19:40
You even said jnthn++'s before mine ...
Well, then, I'm in a corner here. I need either to explain lazy/eager contexts BEFORE talking about this aspect of subs, or I need to find something that takes a block but isn't lazy 19:41
PerlJam Ven: what is "this aspect of subs" exactly? 19:43
Ven PerlJam: `return` in subs VS in blocks
"unable to push: server aborted the ssl handshake" nice. 19:44
PerlJam Ven: perhaps choose a different example that doesn't involve map?
Ven PerlJam: that's the 2nd option. I'm open to suggestions :)
s03 mentions \eqv and \===,but these don't seem to work 19:45
lxmahyar Learn perl 6 or perl 5 ? 19:59
FROGGS depends... what do you wanna do? 20:00
PerlJam lxmahyar: why is it an either or thing? :)
lxmahyar I have doubt to decide between perl or python 20:01
or somthing else
PerlJam lxmahyar: again, why not all of them?
FROGGS lxmahyar: well, I do not like Python, but I'm not sure we can help you here without any informations 20:02
PerlJam lxmahyar: Or, if it were me, I'd learn Perl so that learnign the others would be simpler.
japhb lxmahyar: To be more precise, it's generally recommended to learn many languages -- but if you're asking which one to learn *first*, that depends on your goals. 20:03
lxmahyar I familiar with many languages 20:04
FROGGS then continue with Perl 6 :o)
lxmahyar I mean syntaxes
but I doubt perl die or not ? :( 20:05
FROGGS hmm?
Perl is not dead
Ven especially not Perl 6 :-)
FROGGS even not Perl 5
japhb lxmahyar: I'm going to moderate FROGGS' comment by saying that Perl 6 is definitely recommended for learning if your needs are not urgent and humongous, because we're deep in the task of optimizing the compiler; it's not super fast yet. For those needs, Perl 5 would be better.
FROGGS I mean, it might be harder to get a Perl job than to get a Java job, but I would not like to suffer doing Java at work fwiw 20:06
Ven hahaha. PHP and java jobs are easy to get, and they're the worst :-).
FROGGS Ven: exactly :o) 20:07
lxmahyar I want learn script language but, What does first ?
for fun, not for jub :)
FROGGS lxmahyar: then Perl 6, really
japhb For fun? Perl 6, hands down.
Ven Definitely Perl 6
japhb We even have -Ofun (Optimize for fun) as a basic community precept. 20:08
lxmahyar Haskell, Scheme or somthing ?
japhb Those are not scripting languages.
lxmahyar I know that.
Ven well, scheme can be considered as one, I guess.
japhb That said, I recommend learning both if you don't have a pure functional or S-expression based language under your belt.
Ven lisps have an history of AI scripting :P 20:09
japhb Ven: Kinda sorta, I suppose.
lxmahyar Well, so I guess, first learning perl5, then python
then something else
FROGGS hmmm, that does not sound like fun :o) 20:10
lxmahyar Now, I know C/C++
FROGGS (to me)
japhb Perl 5 will certainly give you reliability, speed, and a gigantic module library.
Ven that doesn't sound like fun either :P
lxmahyar and attention, but python indent not :D
Ven well then, same for python/php/ruby, I guess 20:11
japhb Of all the languages I know (have forgotten more than I currently use fluently, actually), Perl 6 is by far the most fun.
lxmahyar is perl6 compiler ghc ?
Ven I didn't understand ? 20:12
lxmahyar ohh, sorry it haskell ;)
FROGGS lxmahyar: no, Perl 6 is written in Perl6 (called rakudo)
Ven sighs realizing is english is as bad
japhb lxmahyar: ghc was used to write Pugs, which was the first Perl 6 compiler. It is no longer in active development.
FROGGS m: say "hello lxmahyar" 20:13
camelia rakudo-moar 0bbeda: OUTPUT«hello lxmahyar␤»
jnthn Current state of the art Perl 6 compilers are mostly written in Perl 6. :)
FROGGS jnthn: why the plural? :o)
lxmahyar sorry for bad English 20:14
jnthn Well, was considering multi-backend Rakudo, but in a sense STD is still in many ways the ultimate in getting a correct parse and that's in Perl 6 too :)
FROGGS lxmahyar: np 20:15
lxmahyar I like too much perl5 syntax but I'am scared 20:16
lxmahyar perl has lists List comprehension? 20:18
FROGGS lxmahyar: well, Perl 6 is like Perl 5 leaned up and more awesome
cleaned*
japhb lxmahyar: Perl factors that rather differently than Python, for instance. 20:19
lxmahyar I hear perl6 has List comprehension 20:20
like this: "0..100 | Where {$_ * $_ -gt 3} | ForEach {$_ * 2}"
FROGGS m: my @s = ($_ * 2 if $_ ** 2 > 3 for 0 .. 99); say @s 20:21
camelia rakudo-moar 0bbeda: OUTPUT«4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156…»
lxmahyar Does perl5 have ? 20:22
flussence m: say (^100).grep(3.sqrt < *).map(* * 2)
camelia rakudo-moar 0bbeda: OUTPUT«4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156…»
japhb lxmahyar: In Perl 5, it would be more like: my @s = map { $_ * 2 } grep { $_ ** 2 > 3 } 0 .. 99; 20:23
lxmahyar but like perl6 not in default? 20:24
japhb lxmahyar: I'm not sure how to interpret that. We've just shown you three different syntaxes (one of which also works in Perl 5) for what Pythonistas consider to be a list comprehension. 20:25
Ven m: ^100 ==> grep(3.sqrt < *) ==> map(* * 2) ==> say # that works too 20:26
camelia rakudo-moar 0bbeda: OUTPUT«4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156…»
lxmahyar interesting :) 20:27
Ven lxmahyar: you can a glimpse of Perl 6 with this tutorial: github.com/learnxinyminutes.com/docs/perl6/ 20:28
lxmahyar I like philosophy of TMTOWDI :D
Ven does shameless self-plugs
fun of this changes from one person to another :-) 20:29
how*. not of. duh.
lxmahyar Ven:Thanks for your time.
Ven well, if you're asking me how much fun I have, I'll always have time to tell you :-) 20:30
lxmahyar sure enough. 20:32
pmurias Ven: the link you posed seems broken 20:34
Ven oh, did I just add github.com before that. whoops :P 20:35
s/github\.com/http:\/\//
pmurias: learnxinyminutes.com/docs/perl6/
lxmahyar Ven: Tnx 20:36
pmurias is the flip flop operator important enough to put in the tutorial? 20:40
Ven pmurias: that tutorial is currently 1k2 lines long, and growing steadily. 20:42
It's already more than a mere "glimpse"
(there's a reason it's very much near the end, though) 20:43
pmurias you have to decide if you want to describe the whole setting or just a "chunk" of the language large enought to be productive 20:44
cognome Ven: "# Perl 6 has 4 variable types". I think you mean something like sigils are a way to denote roles. There are four of them : % for Associative @ for Positional and & for Code and $ for everything else. And that would omits the :: pseudosigil.
s/omits/omit/
pmurias why do we have both "? $foo" and "so $foo" 20:45
Ven pmurias: precedence, IIRC 20:46
cognome: that's too technical
pmurias Ven: one significant flow is that you describe the sort comparisions and not sort 20:47
Ven ha, that's an interesting point.
perl 6 methods aren't described anywhere, currently 20:48
nor should they be described in some "order", eh. 20:49
japhb cognome: & is Callable
$ implies itemized. \ implies nothing. 20:50
pmurias Ven: what do you mean by 'nor should they be described in some "order"'?
Ven pmurias: I don't want to have a listing of what methods List has, then Str, then .. 20:51
japhb (Well, that was imprecise, \ on a param name while binding means to not alter it by e.g. containerizing or itemizing)
pmurias Ven: so you shouldn't describe sort comparisions 20:52
they seem useless without a sort
Ven pmurias: they're not Array methods 20:53
you mean lt, gt and such, right?
pmurias <=>
<=>, cmp, eqv
Ven meh, it's kinda for completeness' sake, but I do need to explain sort here. 20:54
japhb Way more useful to describe sort key extractors. 20:54
japhb @people.sort(*.tenure) 20:54
Ven key extractors ? 20:55
japhb Ven: see ^^
Ven that's just priming
japhb Priming?
Ven and schwartzian transform
I'm answering that
japhb Yes, internally it should do a schwartzian transform. But there's no point in explaining that.
Ah, good. I haven't read the whole thing yet. :-) 20:56
pmurias Ven: completeness as in describing all the operators doesn't seem to be worth much in a tutorial
operators are just subs with a fancy syntax, and you aren't describing all the subs
Ven that's not my role. cmp, <=> and those should just stay at the end of the tutorial 20:57
ren1us Ven: Might I suggest a Junctions section? :) 21:01
Ven ren1us: that's written in my to-do, but you're very welcome to write it :P 21:02
ren1us I'll get on that in about half an hour 21:03
pmurias Ven: do you intend it to be a tutorial or a giant list of everything?
ren1us I'll spend that half hour making sure *I* know what junctions do
Ven pmurias: tutorial.
pmurias I think you should consider slimming down some of the long lists of things 21:04
pmurias why mention quietly in a tutorial? 21:05
Ven Because it's intended to be very comprehensive.
I have another project of something that intends to read more like a book, but I first want to finish that tutorial to see where I'm going. 21:06
(that one will explain the key concepts, etc) 21:07
pmurias why do you want a tutorial to be comprehensive? 21:08
lizmat japhb: re irclog.perlgeek.de/perl6/2014-08-14#i_9185907 , do you mean the (incomplete) list in the SYNOPSIS section?
Ven I might very well be misusing words here. It should first explain to you the basics, then go more in-depth. 21:09
I want to be able to look at it myself if I have a doubt someday
pmurias hmm, maybe it would make sense to split the list of everything part from the tutorial introduction 21:11
Ven probably so. Then again -- I'm very open to suggestions :-) 21:12
I'm not an experienced writer nor an experienced p6er. I'm just trying stuff out, we'll see how that works out! 21:13
japhb lizmat: No, the one under "All of the following functions are exported by default:" in the DESCRIPTION section
pmurias and having synopsis links for the giant list of things seems usefull 21:14
Ven there should be one or two. Could add others. But they read poorly 21:15
lizmat japhb: the only ones missing were todo, skip and skip_rest, right ? 21:16
dalek ecs: a939132 | (Elizabeth Mattijsen)++ | S24-testing.pod:
Elaborate a bit more on todo, skip, skip_rest

As spotted by japhb++
21:18
japhb lizmat: I noticed those in passing, but I didn't really do a comprehensive review 21:19
lizmat I think I got them all now...
japhb OK, cool. :-)
lizmat++
lizmat not much done today, still tired, so early night&
japhb Sleep well o/
cognome Ven: so replace type which has another meaning by kind/ 22:05
Ven that's nitpicking :P 22:06
done 22:07
I feel like "variables kinds" would be better than "variable kinds", because the latter implies that the kinds are variable.
japhb "kinds of variable"? 22:09
psch .tell sergot i've added a very basic error-printing to your OpenSSL module and the error message seems to points at something upstream (3rd file in gist.github.com/peschwa/c60c1c06a96781418d27; upstream discussion www.mail-archive.com/openssl-dev@op...2009.html) 23:40
yoleaux psch: I'll pass your message to sergot.
psch .tell sergot i'm not sure that's actually the problem though; the discussion mentions AES-NI, which at least one of the machines i encounter that error doesn't support
yoleaux psch: I'll pass your message to sergot.