»ö« 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 masak on 12 May 2015.
TimToady turns out there's a circularity problem with dwimming all(1,2,3) ~~ Int 01:23
gtodd1 hoelzro++ repl works again yay after Linenoise changes. I note that the changes seem errm "nontrivial" 01:24
TimToady we rely on Junction not being ACCEPTED by Int in order to trigger autothreading
TimToady or maybe not, the binder bypasses smartmatching for nominals, I guess 02:05
cognominal hoelzro++ indeed 02:10
even if I have no (yet any) idea of what he did. :) 02:12
dalek kudo/nom: 28a7697 | TimToady++ | src/core/ (3 files):
Any types autothread when smartmatching junctions

This is probably how most people will expect smartmatching to work.
03:08
ast: 53f4686 | TimToady++ | S03-junctions/autothreading.t:
tests for new all(1,2,3) ~~ Int semantics
03:09
dalek ast: 7049b15 | lizmat++ | S04-exceptions/pending.t:
Unfudge passing test
03:37
TimToady m: say all(1,2,3) ~~ Int 03:40
camelia rakudo-moar 65a3fe: OUTPUT«False␤»
TimToady m: say all(1,2,3) ~~ Int 03:52
camelia rakudo-moar 28a769: OUTPUT«all(True, True, True)␤»
TimToady m: say all(1,2,3) ~~ Junction 03:53
camelia rakudo-moar 28a769: OUTPUT«True␤»
dalek Heuristic branch merge: pushed 59 commits to rakudo/newio by lizmat 03:56
Heuristic branch merge: pushed 36 commits to roast/newio by lizmat 03:58
Heuristic branch merge: pushed 48 commits to specs/newio by lizmat 04:00
TimToady .tell skids your GLR in a nutshell is assuming that list assignment still flattens, which may not be what we end up with for a default 04:10
yoleaux TimToady: I'll pass your message to skids.
moritz jnthn++ # 6guts.wordpress.com/2015/06/14/thi...of-things/ 04:39
jnthn: typo: "This needed a lock-free solution for the common “it’s not a problem” path, so we would now slow down every single wval instruction" ~~ s/now/not/ 04:40
masak morning, #perl6 06:07
FROGGS morning, #perl6
masak notices the brief p6u discussion about Interface Consistency from two days ago 06:17
every time, same conclusion: "it would be nice if Perl 6 warned about this"
even warning would kind of annul the Liskov benefits we're trying to enable here, though
moritz I wonder if we could get rid of the magical *% for every method, and instead put it into the proto of method new 06:33
masak only the `new` method? 06:37
that kind of makes the `new` method a bit more special than it would otherwise be...
moritz but it's the only example that comes up when discussing why we need it 06:38
raydiak it's also a matter of multidispatch and [next|call]same for other methods, isn't it?
FROGGS it is an issue for all methods
but I still think the *% is worth it 06:39
raydiak I suppose it'd be terribly expensive to only warn about names that aren't explicit params of any method in the candidate list...???... 06:40
FROGGS raydiak: you just would have to check if *the autogenerated* *% contains stuff when you are already in the method call 06:42
masak moritz: the p6u example was about .push, not .new 06:45
moritz masak: yes; and removing the magical *% everywhere (but not in .new) would solve it 06:46
because it'd produce a good error message
raydiak FROGGS: is a check like that a reasonable thing to do? it'd be nice if we could at least get warnings when we're accidentally passing pairs as nameds or mistype a name, without breaking interface consistency
FROGGS I don't see why .new should have *% when other method would not
raydiak: I'm not sure... it certainly would help in some cases, but I fear there would be false positives also 06:47
raydiak: and warning about something is the same as discouraging something
raydiak FROGGS: then it ought to be designed in a way that gives false negatives instead, if it can't be perfect 06:49
[Tux] o/ 06:50
FROGGS hi [Tux]
[Tux] Inline::Perl5 works again!
raydiak I guess my general thought is just that certainly if I write something simple and obvious like "class {}.new: :abracadabra", it could be easily proven that I've made a mistake...or am I wrong? 06:52
FROGGS raydiak: I would not be so sure 06:52
what if you class does a role or inherits from a foreign class you pass the args to, and this gets extended? 06:53
FROGGS so your method needs a *% 06:54
and I really don't know if dropping named arguments is okay in some scenarios or not
raydiak but it doesn't do those things in my example...I suggest in a very vague general way that doing what we can reliably do is better than nothing at all, so would it be hard to prove that those conditions do or don't exist, and only warn if not? 06:55
FROGGS though I bet if we enabled warning on dropped named args, we would reveal a bunch of bugs, potentially even in rakudo/roast
FROGGS raydiak: I can't answer your question without knowing all applicable scenarios/use cases for *% 06:56
raydiak it would also be a starting point for thinking about how to analyze those more complex cases 06:56
FROGGS we can try things in a branch btw 06:57
andreoss [ptc]: it seems the p6-examples cron job doesn't run again. Also VIM 7.4 with perl6 plugins should be present on the system where this build script runs.
raydiak but note that I'm not talking about *explicit* *% actually written in the source, which shouldn't ever warn about unrecognized nameds 06:58
FROGGS raydiak: correct 07:01
that's what I'd try in a branch: 07:02
1) make a distinction between the autogenerated *% and the literal *%
2) when a method candidate was chosen, warn with "Unexpected named argument X" if the autogenerated *% contains stuff
(* where "I" is "someone") 07:03
raydiak unless it calls nextsame? 07:05
FROGGS hmmm, potentially
and callsame
raydiak aye
happily, I got a little work for a week or two...sadly, I can't really volunteer anything for at least a week or two, mainly because I'm not all that much of a rakudo internals expert so it takes me extra time and study to get things done sometimes 07:07
[Tux] performance is worse again 07:08
test 50000 43.141 43.053
test-t 50000 39.842 39.754
that once was 40/36
raydiak FROGGS: but I really wanted to at least throw my two cents in for now, I think this is kinda important to have and at least possibly possible to do without breaking subclassing
FROGGS raydiak: yeah, and it could reduce the onramp for P6 07:10
raydiak: well, we can tackle it together 07:11
like, trying to get 1) done
raydiak FROGGS: I was thinking a flag on Signature like $.implicit-slurpy, except named better :) 07:13
or a flag on the callable thing itself, if that makes anything easier, but seemed like it belongs on the signature 07:15
FROGGS and then we could set that in Perl6::Actions 07:16
raydiak FROGGS: looks like it gets decided in github.com/rakudo/rakudo/blob/nom/....nqp#L1513 and the signature is ultimately constructed in the very next method ("create_signature") 07:40
FROGGS raydiak: I think we could inject code that checks *%_ after line 1534, by unshifting QAST::Ops to $lexpad[1] 07:45
raydiak FROGGS: I only understand some of the things going on in there, but I do get the basic idea 07:51
FROGGS $lexpad[1].unshift(QAST::Op.new(:op<if>, QAST::Var.new( :name('%_'), :scope('lexical') ), QAST::Op.new(:op<call>, :name<&warn>, QAST::Op.new(:op<callmethod>, :name<keys>, QAST::Var.new( :name('%_'), :scope('lexical') )))));
something like that (untested) 07:52
I think we do not need a clean solution here, at least not at this stage
andreoss m: sub x() returns Array of Int { my @x of Int = 1,2,3 }; x().WHAT.say 07:53
camelia rakudo-moar 28a769: OUTPUT«Type check failed for return value; expected 'Array[Int]' but got 'Array[Int]'␤ in any return_error at src/vm/moar/Perl6/Ops.nqp:639␤ in sub x at /tmp/jZUqaqU_2L:1␤ in block <unit> at /tmp/jZUqaqU_2L:1␤␤»
andreoss m: sub x() returns Array of Int { my @x of Int = 1,2,3 }; sub y() returns Array of Int { }; sub z() returns Array of Int { } ; x().WHAT.say; 07:56
camelia rakudo-moar 28a769: OUTPUT«Type check failed for return value; expected 'Array[Int][Int]' but got 'Array[Int]'␤ in any return_error at src/vm/moar/Perl6/Ops.nqp:639␤ in sub x at /tmp/eyqYUnrcFj:1␤ in block <unit> at /tmp/eyqYUnrcFj:1␤␤»
andreoss
andreoss why does expected type change? 07:59
masak m: my @x of Int = 1,2,3; say @x 08:02
camelia rakudo-moar 28a769: OUTPUT«1 2 3␤»
masak m: my @x of Int = 1,2,3; say @x.WHAT
camelia rakudo-moar 28a769: OUTPUT«(Array[Int])␤»
RabidGravy marning! 08:03
andreoss paste.debian.net/230032/ and in repl it gets even stranger after several redeclarations 08:05
FROGGS I bet there are two composed Array[Int]'s types... it probably should create one, cache and reuse it
masak andreoss: please submit a rakudobug 08:06
seems there's an interview up with some goon or other: perlhist.com/perl6/carl-masak :) 08:07
raydiak FROGGS: I will think about trying these things now that I have seen some of what I'll need to know...I appreciate your advice! but it's 1 AM here, I'm getting up in 6 hours to work in the sun for 10ish hours (some of it 15 or 20 feet up on ladders), so not digging in to it right this moment 08:10
FROGGS raydiak: sure :o) 08:11
moritz masak++ # interview 08:20
raydiak good night, #perl6 08:29
FROGGS moritz: interview? what interview? 08:41
gnight raydiak
RabidGravy okay that's a new one on me 08:44
just got a "bug report" from someone trying to use Term::ReadKey in a CGI program :-\
moritz FROGGS: perlhist.com/perl6/carl-masak 08:53
FROGGS ohh nice 08:59
tadzik I'm quite amused that the sections are called October, November and December 10:13
tadzik like, "before november-the-wiki", "novemeber-the-wiki" and "christmas" :) 10:13
psch hrm 10:30
brrt yes, very nice interview indeed
psch i hate it when i arrive somewhere where 1) things don't work but 2) they don't error at all
psch oh, but i know why that was :s 10:32
yes, the interview is nice, masak++
i had to chuckle at the ecology analogy, thinking of a "moldy masak" :)
brrt it is truly remarkable how emotional people become over perceived flaws in go (the language, not the game) 10:49
FROGGS the same is true for some trolls... 10:50
brrt hmm 10:51
FROGGS sometimes I think they don't get the relevance right of the project/issue in question
brrt but this is otherwise reasonable people going nearly berserk
FROGGS (relevance to their or our life)
brrt right. something is wrong on the internet, i guess 10:52
FROGGS they should rename '' to 'cats://' 10:53
brrt automatic pervasive distributed troll filtering would be *so* nice 10:54
moritz FROGGS: and https:// to catses:// ? 11:03
:-) 11:04
tadzik hotpotatoes:// 11:04
FROGGS good point :o)
masak .oO( nyan:// ) 11:20
psch: I like "mouldy masak". it has a certain ring to it. 11:21
El_Che masak: so, fighting the man (Oracle)? :) 11:23
psch the alliteration even carries to german, as "kahmiger Carl" :)
El_Che my first meeting with Oracle after the takeover with Sun => can you please sign this NDA? 11:24
an meeting with no info that wasn't on the internet for month
sigh
itz Oracle? Bad Larry rather than the Good Larry :)
psch wonders if there's a distinctions between phonetic and literal alliterations...
El_Che I think there is one Larry 11:25
the Many-Faced God they call it on Game of Thrones :)
psch (yes, the special case of an alliteration that uses the same letter is a tautogram) 11:26
moritz "Frequent First Name" is what I'd call it :-)
psch: I'd translate it to German as "Gammel-Carl" :-) (but then I'm from Frankonia, where we don't distinguish G and C/K too closely) 11:27
masak El_Che: I figure that if I kvetch on Twitter every time I have to download Java for $work, maybe eventually I'll wear Oracle down and they'll improve their bloody download experience. 11:29
it's not like it's all that hard to get right. "here, have a file" is usually enough.
El_Che well, it's not about easiness, but showing who's the boss 11:30
click here, sing song, do turnabout...
masak the experience can be made smoother by detecting the platform/OS in most cases. instead, they annoy me with clicking license radio buttons and signing in, none of which matters in the least.
itz you can't even download "old" java versions with security patches like java 1.6.x etc without a support contract
masak yes, I get that the experience is optimized for making me feel inferior. I'm questioning whether that's wise. 11:31
itz: that's what I was doing this time, incidentally.
itz it takes me ages to find the security fixes which are mislabeled as "patches" even although are zips of tars of the jdk or something 11:32
El_Che see what happened with Solaris (I still have a "Solaris Certified System Engineer" somewhere) by killing the source repo and closing security patches
itz its quicker to compile openjdk from source I bet ;)
El_Che itz: sadly openjdk is often not good enough 11:32
El_Che we used Shibboleth SSO on tomcat and openjdk7 supplied by RHEL. Misterious lockups every 3 months. You don't want that when 100 000 people need to login. Moving to the Oracle jdk made the problem go away. 11:34
sometimes I think having the crashes may be preferable than go to the oracle download page :) 11:35
itz "java just does that what you do expect" 11:36
psch moritz: "Gammel-Carl" hadn't occured to me, probably because it doesn't quite work in hochdeutsch, as you said 11:43
masak as a linguistic bonus, that's also completely OK Swedish. means "Carl the old man", or thereabouts.
masak .oO( 老卡尔 ) 11:44
moritz or just "old Carl", if my Norwegian transfers correctly
masak moritz: yeah. I was trying to approximate the verkleinerung by going from "gamle Carl" to "gammel-Carl"
"old man Carl" probably captures that. 11:45
Ven \o #perl6 11:46
yoleaux 13 Jun 2015 13:36Z <FROGGS> Ven: you did not 'make install', right?
psch o/ Ven 11:47
masak o/ Ven 12:01
in other good news, I have two talks accepted for SPW and one for YAPC::EU! \o/
tadzik oh, right, talk submissions
masak tadzik: hurry hurry
tadzik www.unige.ch/spw2015/ 12:02
that's not what I was looking for...
masak tadzik: act.perl-workshop.ch/spw2015/
tadzik yeah, found it :)
when does YAPC::EU cfp end, do you know? 12:03
masak never found any data on that. 12:04
Ven submitted his talk
masak but they've accepted ~60 talks already, so you might want to submit soon.
tadzik yeah
dalek kudo-star-daily: 6541f07 | coke++ | log/ (2 files):
today (automated commit)
12:31
kudo-star-daily: cba08e5 | coke++ | log/ (2 files):
today (automated commit)
kudo-star-daily: eaad42e | coke++ | log/ (2 files):
today (automated commit)
kudo-star-daily: d84fbde | coke++ | log/ (2 files):
today (automated commit)
rl6-roast-data: c4b985b | coke++ | / (9 files):
today (automated commit)
rl6-roast-data: 811f662 | coke++ | / (9 files):
today (automated commit)
rl6-roast-data: c7e5d54 | coke++ | / (8 files):
today (automated commit)
rl6-roast-data: 358ff65 | coke++ | / (9 files):
today (automated commit)
psch yay progress 12:41
psch i now get complaints when i try to run a precompiled .class that hasn't been recompiled after i recompiled rakudo 12:42
unfortunately it still doesn't do anything when it is compiled with the right version :/
FROGGS :/ 12:43
psch i suspect that's because i'm trying to pretend i'm doing what i think i should be doing... :P 12:48
gist.github.com/peschwa/86e3c6baeed898e1214d
basically just running the interpreter through it's main first, and afterwards invoke the app argless
but i guess the mainThread is "over", so that's why it doesn't do anything anymore 12:49
which could mean i either have to pull the normal start-up apart somewhat to find where i can inject my CU 12:50
or hack around in CU itself to patch mine into the perl6.jar one
not sure which of those is more feasible or correct...
in any case, what i'm doing seems somewhat backwards :s 12:51
FROGGS hmmm 12:52
is Ops.invokeArgless(gc.mainThread, entryRef) somewhat equivalent/related to running main.nqp? 12:54
psch Ops.invokeMain() is running main.nqp, afaiu
psch invokeArgless runs with an emptyCallSite and new Object[0] as argv 12:54
iirc invokeMain() instead of argless complains about trying to box the args when i don't supply any 12:55
FROGGS I'd almost think you have to implement main.nqp in Java, in order to run CUs at the right time 12:56
psch yeah i had tried that
FROGGS but also considering command line args and running end phasers
psch but then i have to implement HLL::Compiler too
'cause that does stuff like setting up %*COMPILING and all
and then i *also* need to run Metamodel/BOOTSTRAP.nqp from java somehow
and CORE.setting
that's what i'm (somewhat) doing by running main.nqp via invokeMain on the perl6.jar CU 12:57
it's mostly not clear to me if the GC and TC remain in a usable state after that's run
or if that's why i don't get anything
masak has anyone ever publicly made the coherent criticism of C macros that because you can change anything into anything, you can make your C look like anything, and that's far too much freedom with far too few deterrents? 13:02
aka "it's too easy to make a right mess"
Ven masak: tons of people, I think 13:03
moritz is pretty sure he read such a piece, once or twice
masak or maybe the slogan should be "too much power, too little responsibility" :P 13:06
anyway, I'm currently thinking about how to avoid that in Perl 6.
besides cultural self-checking, that is.
moritz well, macros are lexicals, I hope 13:07
so that already limits the damage you can make
masak modulo the fact that people will want to export them, yes.
and I'm not sure how many macros will actually want to be just a lexical symbol -- as opposed to a parsing rule or a parsing hook or something. 13:08
they can still be lexically scoped, of course
Ven really likes explicit imports anyway 13:11
making macros semantic instead of textual already makes it much better
masak I think we'll want/need something like that
moritz
.oO( Semantic MacroWiki )
13:12
[Coke] (0 vs. 1 indexing) I use a language that is 1-based that is implemented on a language that is 0-based. hilarity.
moritz I feel like an absolute linux noob again... how do I create a relative symlink in a subdir? 13:15
I want 'ln -s foo/bar.txt foo/bar'
but that creates a foo/bar that links to foo/foo/bar.txt 13:16
geekosaur leave off the foo in the first path 13:16
FROGGS would also be my guess
geekosaur since you want that to be relative to the second path
moritz thanks 13:18
masak [Coke]: there was a discussion about 0 vs. 1 indexing? 13:19
moritz so much for the "cp" analogy :/
masak was Dijkstra's essay mentioned?
also, was S09's nice solution mentioned?
something like @a{1} === @a[0] 13:20
here's the Dijkstra essay. required reading. www.cs.utexas.edu/users/EWD/transcr...WD831.html 13:25
itz "rakudobrew triple" sounds like a FOSDEM beer 13:28
tadzik haha 13:31
gtodd1 hmm this cargo cult coded this benchmark from perlmonks --> perl6 -e 'for lines(:eager) { say ~$/ if m/(<<\w**5>>)/}' some_file-5_klines.txt ; perl6 -e 'for lines(:eager) { say ~$/ if m/(<<\w**5>>)/}' some_file-10_klines.txt ; ... etc:up to 150K lines and beyond is pretty slow. 13:38
But compared to a few months ago it is now getting *less* slow the bigger the input file is...
[Coke] masak: I'm catching up from last thursday - yes, a few days ago 13:40
[Coke] is now caught up.
good day, everyone.
FROGGS gtodd1: I remember that thread 13:41
gtodd1 FROGGS: I use it as a "naive benchmark" :-) 13:42
nwc10 good UGT, [Coke] 13:44
masak m: for 1, 2, 3 Z "a", "b", "c" -> $n, $l { say "$n;$l" } 13:49
camelia rakudo-moar 28a769: OUTPUT«1 a;2 b␤Too few positionals passed; expected 2 arguments but got 1␤ in block <unit> at /tmp/wtL53Fo0TG:1␤␤»
masak I'm used to writing it this way, but something seems to have shifted recently in Rakudo.
(and broke 007)
how should I write the above to step through one letter and one number at a time?
masak adding (...).flat seems to work. doesn't feel very idiomatic. 13:51
psch m: for 1, 2, 3 Z "a", "b", "c" -> $ [$l, $n] { say "$l;$n" } 13:51
camelia rakudo-moar 28a769: OUTPUT«1;a␤2;b␤3;c␤»
masak m: for 1, 2, 3 Z "a", "b", "c" -> ($l, $n) { say "$l;$n" }
camelia rakudo-moar 28a769: OUTPUT«1;a␤2;b␤3;c␤» 13:52
masak that's better.
psch mhm
masak and even makes some kind of sense.
psch unnecessary unpacking in mine i think
i'm still a bit fuzzy how that exactly works
masak no, both do unpacking.
PerlJam Seems like it's zip that's changed though. 13:53
moritz no, for
for doesn't flatten its iteration list anymore
PerlJam Then maybe zip *should* change :) 13:54
moritz I like it that way 13:55
though I'd like see a flattening meta operator
for 1, 2, 3 FZ 'a', 'b', 'c' -> $l, $n { }
PerlJam for 1,2,3 I 'a', 'b', 'c' -> $l, $n { } # alternate reality: "I" for "interleave" 13:58
Though, F would come in handy in combination with X too 13:59
gtodd1 and FX is short for "special effects" :-) 14:00
masak now that I know that `($l, $n)` works, I will be gently pushing myself and others in the direction of thinking in that way. 14:02
seems cleaner, overall.
I don't see why we should struggle to invent flat versions of the operators, just so that we can consume the things flat.
`($l, $n)` can potentially give better/earlier error messages as well. 14:03
masak instead of failing near the end of the iteration like `$l, $n` sometimes do. 14:03
PerlJam earlier how?
PerlJam oh, I see. With a large list length disparity 14:04
I'm just used to thinking of zip like my hypothetical interleave without any operator to be meta upon 14:05
masak `($l, $n)` is a little visual pill, the "unit" that you're iterating over.
masak we already have the syntax for it. it both looks nicer and feels cleaner than insisting on making the flattening explicit. 14:06
PerlJam aye. 14:08
masak .oO( also, it brings us a little step closer to Python's tuples, whee! ) 14:12
tadzik hm, have we any reason to not build Tuple as a module? 14:16
masak would it do something that Parcel doesn't already do? 14:17
tadzik does Parcel do type checking?
tadzik from what I understand tuples are like lightweights structs 14:18
masak not in Python, which is more dynamic/loosely typed than that. 14:20
more like, in a list (array) the data is homogenous, and position doesn't mean much.
in a tuple the data is heterogenous, and position is significant.
masak so (2015, 6, 15) is three ints, but they convey different data because of their position in the tuple 14:22
moritz
.oO( car, cdr )
masak moritz: nowadays when I see car and cdr, my brain goes "oh, the Lisp people accidentally invented categorical products" 14:26
tadzik hmm, I thought Python complains when you try to assign (int, str) to a (str, int) thing
brrt python does no such thing 14:36
python complains when you try to assign to an item in a tuple, period
skids . 14:37
yoleaux 04:10Z <TimToady> skids: your GLR in a nutshell is assuming that list assignment still flattens, which may not be what we end up with for a default
skids updated, TimToady++
tadzik I see
TimToady pretends to be awake 14:46
gagalicious does anyone know how to build a multi faceted search engine from scratch? 14:54
flussence first, create a universe 14:55
moritz gagalicious: what do you mean by "multi faceted"? That you can search for different document properties? 14:58
gagalicious yeah
moritz gagalicious: and does "from scratch" mean "without using existing search libraries"? 14:59
gagalicious moritz : yes. long time no see. i've known ur nick since 10 years ago. u are very active. u still the same person?
moritz or database systems, for that matter
gagalicious basically like sphinx search or lucene or elasticsearch
moritz gagalicious: I like Lucy for such tasks (C library with nice perl bindings, much ligther than lucene) 15:00
gagalicious ok will check it out but i'm asking about.. actually how does the data structure/indexing work for faceted search to happen? 15:00
moritz gagalicious: I've been on IRC, and possibly perlmonks, 10 years ago. But I'm not the same person by most metrics I can think of :-)
gagalicious same nick i guess?
moritz gagalicious: mostly just indexes for each facete, and then doing in-memory joins 15:01
yes, same nick
gagalicious oh well. moritz is always helpful. that's for sure.
moritz the Lucy devs also have nice book/paper reading clubs about search engine theory
gagalicious i was wondering how they do it for large datasets... like ... 30 billion or 500 billion records of sorts 15:02
moritz by using many, many machines
and clustering them
and that's decidedly non-trivial
gagalicious can u point me to lucy? and how can i make it for it to respond within 0.1 second? for 500 billion records using ordinary normal computers not more than $1k each? and... around maybe 5,000 computers... is it possible? 15:03
i cant seem to find lucy though... u mean lucene? 15:04
hoelzro lucy.apache.org/
Lucy I hadn't heard of; I usually use Xapian
but I might change that now, because Xapian is non-trivial to bind to Perl 6
gagalicious funny when i typed lucy, i only get that movie scarlett johanssen. 15:05
xapian is bad for clustering
hoelzro it's basically the SQLite of search dbs
which is often what I need
gagalicious i dont like lucene.. i rather go with sphinx... just that i dont like sphinx's indexing structure... it's not memory efficient 15:07
i'm looking for something... i think i'm building one ... i've written all the search engine parts except the faceting part... which is kinda... problematic
gtodd1 what's elasticsearch made out of?
hoelzro lucene 15:08
moritz yes, lucy.apache.org/ is what I meant 15:10
gagalicious elasticsearch is good... problem is it's java and it's decentralized cluster node structures... have some problems if u dont have a lot of redundants... which... seem to me kind of difficult to maintain if u grow beyond 8 nodes.
moritz lucy also takes the library/embedded approach from sqlite, but not quite as zero-maintenance 15:11
gagalicious if only i can crack the faceting part... my seach will be complete.
bartolin hoelzro: I say your bug report #RT 125407. looks like your reported the same problem a while ago: RT #120704 15:20
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=120704
bartolin hoelzro: do you agree those could be merged?
hoelzro bartolin: wow, yeah 15:21
I had a TODO to report that bug, I must have forgotten that I already had! 15:22
125407 is more fleshed out, I think
but if we just attach the script to 120704, it'll do
bartolin hoelzro: great. btw I found a similiar behaviour (left instead of right associativity) in RT #80614 15:23
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...l?id=80614
hoelzro that looks similar 15:24
I spent so much time digging into that yesterday
and I've made no progress =(
bartolin I tried to debug it, but it proved to be above my Perl 6-Fu :-)
hoelzro EXPR is one area of Rakudo that I'm not familiar with =/ 15:25
psch EXPR is scary
hoelzro I did, however, discover that the assignment token is matching twice at the same position when the incorrect code is generated
psch that sounds wrong 15:26
hoelzro my thoughts exactly
the stack traces are different, too
bartolin I didn't even come that far, I think (assignment token matching twice). hoelzro++ 15:29
psch m: my @a; @a = (); my $y = (@a[0] = 2); say @a[0] 15:30
camelia rakudo-moar 28a769: OUTPUT«2␤»
psch m: my @a; @a = (); (my $y = @a[0]) = 2; say @a[0]
camelia rakudo-moar 28a769: OUTPUT«(Any)␤»
psch vOv
really though, the fact that assigning the empty list in the declaration or seperately changes it... 15:31
eh, i suppose my last example makes sense 15:33
PerlJam m: my @a; @a = (); (my $y := @a[0]) = 2; say @a[0] 15:53
camelia rakudo-moar 28a769: OUTPUT«2␤»
PerlJam (if you really want that behavior :)
lizmat m: my @a; my $y := @a[0]; say @a.elems; $y = 42; say @a.elems # autoviv at work 16:05
camelia rakudo-moar 28a769: OUTPUT«0␤1␤»
RabidGravy Harr! 16:13
TimToady
.oO(is that a pirate with bad breath?)
16:17
RabidGravy :-\
don't live near the sea anymore, had to give up the piracy
TimToady Ha! I mean...Ah! 16:18
TimToady it's just an interesting linguistic observation that 'h' is how we convey someone breathing in your face, at least in dramatical settings... 16:20
I don't recall anyone ever pointing out that trope
perhaps it's because, as a quiet, high-frequency sound, we can only hear it when someone is close 16:21
dalek ast: d47ede5 | usev6++ | S03-junctions/misc.t:
Refer to existing ticket
16:22
RabidGravy Y'See I think of Arr! being more farmerish
Rarr! is dinosaur
TimToady I'll feed ya to the kelp farm!
itz is anyone interested in reviewing github.com/rakudo/rakudo/pull/440 ? particularly my attempt at a proper perl6 regexp rather than cheating with :P5 :) 16:38
it's intended to allow removal of the p6doc use of fmt(1) 16:39
TimToady in general we're not limited by interest, but by bandwidth... :) 16:42
TimToady is still feebly backlogging (and reading masak++'s interview, for instance 16:43
s/,/),/
vendethiel TimToady: masak's interview? :o 16:55
jnthn vendethiel: In le backlog somewhere 16:56
moritz: Fixed the typo, danke :)
moritz itz_: <[^\s]> looks suspicious 16:57
why handle the ^ character specially?
moritz itz_: :wrap($wrap)=75 can be simplified to :$wrap = 75 16:58
itz_: also I don't like the introduction of a new, undocumented environment variable; why not just wrap always? 16:59
dalek rl6-roast-data: d198684 | coke++ | / (9 files):
today (automated commit)
17:03
jnthn dinner & 17:07
[Coke] www.kickstarter.com/projects/keybo...for-seriou - camelia-board. 17:08
TimToady .tell masak one inaccuracy in the interview, somehow it seems to claim that import is not lexical in Perl 6, when it is. (Or at least primarily lexical, with a few symbols also copied to packages because they're type-like and usually want public names.) 17:16
yoleaux TimToady: I'll pass your message to masak.
TimToady perhaps an editor inserted the (5 and 6) there? 17:17
certainly P5 does package-based imports, which is why P6 doesn't 17:18
dalek p: 5865829 | TimToady++ | src/QRegex/Cursor.nqp:
allow use of cstack for pos-only advancement

fixes RT #125345 The cstack is used not only for named captures, but occasionally the top element is needed for its position, even if the capture is anonymous. For now, anyway, when that situation arises, just make sure there is at least one anonymous capture on the stack to carry the position. (But two or more anonymous captures can be coalesced, reducing load on method MATCH.)
17:21
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125345
p: efc023b | TimToady++ | src/QRegex/Cursor.nqp:
delete debugging statements
p: efbfabd | TimToady++ | src/QRegex/Cursor.nqp:
just replace the whole top cursor

jvm can't handle the other approach, which is probably not all that much better anyway.
itz_ moritz: thanks for the comments .. I'll tweak shortly .. the main reason for the new env var was because the ANSI colour was already handled in a similar way 17:27
moritz itz_: there are (pseudo)terminals that don'T handle ANSI colours 17:28
itz_ true but rakudo error messages use ANSI colour 17:30
dalek line-Perl5: 41bda40 | (Stefan Seifert)++ | / (3 files):
Support :ver<1.23> when use'ing Perl 5 modules

use Foo:from<Perl5>:ver<2.1>;
Fix GH #15
  "Allow specifying minimum version for Perl 5 modules"
Thanks to hinrik++ for the suggestion!
17:52
itz_ I suppose error messages are more likely to be interactive and p6doc processing batch driven
japhb TimToady: I read the interview comment re: lexical module use as being *purely* versus *primarily* lexical -- i.e. that having no non-lexical effects at all means it is much easier to avoid collisions in one of those side effects.
pmichaud good afternoon, #perl6 18:05
yoleaux 13 Jun 2015 11:06Z <smls> pmichaud: In your new GLR design, will if/when/unless blocks return Nil or () or Slip on a false condition, and will this idiom continue to work: say "foo{'bar' if $verbose}baz"
dalek ecs: 7506482 | pmichaud++ | S07-glr-draft.pod:
Missing example provided by mj41++ .

From irclog.perlgeek.de/perl6/2015-06-13#i_10746280 .
18:14
[Coke] so, why :[] instead of |[] or $[] or flat[] 18:17
skids (And does it conflict with :{} as Hash[Any] contructor?)
pmichaud .tell smls In post-glr, I'm expecting that if/unless blocks will return Slip on a false condition, so that list comprehensions work. E.g., @evens = ($_ * 2 if .odd for 0..100); 18:18
yoleaux pmichaud: I'll pass your message to smls.
pmichaud TimToady suggested :[]
|[] already means something else.
$[] itemizes the resulting array, not the values inside the array. 18:19
Al-Caveman hi - i'm reading on perl6. i have a question on junctions: my $x = 0 | 1; my $y = 0 & 1; if ($x == 0); if ($y == 0); # which of the if statements is true? 18:23
PerlJam Al-Caveman: yes
Al-Caveman: or perhaps ... Mu
Al-Caveman i am lost. what does it mean? 18:24
nine m: my $x = 0 | 1; my $y = 0 & 1; if ($x == 0) { say "x" }; if ($y == 0) { say "y" }
camelia rakudo-moar 28a769: OUTPUT«x␤»
Al-Caveman print is replaced by 'say'?" 18:25
skids No print is still there.
PerlJam Al-Caveman: say adds a newline
psch and stringifies differently
PerlJam Al-Caveman: the best way to learn is to start playing with rakudo
Al-Caveman i just want to get junctions. 18:26
pmichaud Al-Caveman: the first if statement is like writing if ( 0 | 1 == 0)
asking if either 0 or 1 is equal to zero, which is true
another way of writing it would be if any(0,1) == 0 { ... }
skids Al-Caveman: you can /msg the bot camelia for a live interpreter and do lines like the above with m: <code> 18:27
pmichaud the second if statement is like writing if all(0,1) == 0 { ... }
PerlJam pmichaud++ ready to teach
Al-Caveman ok, skids
psch fwiw, my model is "junctions stuff the alternation of multiple conditionals into one side of one conditional" 18:27
e.g. «any(0,1) == 0» <=> «0 == 0 || 1 == 0» 18:28
(plus autothreading)
masak m: for flat 1, 2 Z <a b> { .say }
yoleaux 17:16Z <TimToady> masak: one inaccuracy in the interview, somehow it seems to claim that import is not lexical in Perl 6, when it is. (Or at least primarily lexical, with a few symbols also copied to packages because they're type-like and usually want public names.)
camelia rakudo-moar 28a769: OUTPUT«1␤a␤2␤b␤»
pmichaud psch: that work for limited cases... but you can also do things like if any(@b) > all(@c)
psch pmichaud: oh, i recognize it's an approximation, i'm not really regularly using Junctions
masak TimToady: it's the "type-like" caveat that JavaScript/Node doesn't have at all. 18:29
pmichaud ...interview?
psch pmichaud: thanks for the clarification, though
Al-Caveman pmichaud: what does it mean to say "if all(0,1) == 0? 18:31
pmichaud Al-Caveman: it's asking if all of the values in the parens are equal to zero.
In this case, at least one value is not equal, so the resulting condition is fall.
*false
skids Al-Caveman: Well, it means all(True,False) which collapses to False.
pmichaud m: if all(1,2,3,4) > 0 { say "all values are greater than zero" }
camelia rakudo-moar 28a769: OUTPUT«all values are greater than zero␤»
Al-Caveman this example from wiki confuses me: my $all_odd_digits = 1 & 3 & 5 & 7 & 9; # all(1, 3, 5, 7, 9) 18:32
how can one use this?
pmichaud m: if all(1,2,3,4) > 1 { say "all values are greater than one" } else { say "not all values are greater than one" }
camelia rakudo-moar 28a769: OUTPUT«not all values are greater than one␤»
pmichaud Al-Caveman: I don't know how that particular example would be useful. Not sure which wiki you're referring to. 18:33
Al-Caveman en.wikipedia.org/wiki/Perl_6#Junctions
but i see it now.. interesting. so if i don't have junctions, i end up creating a loop 18:34
pmichaud I don't think that's a helpful example.
masak pmichaud: perlhist.com/perl6/carl-masak
Al-Caveman my $any_even_digit = 0 | 2 | 4 | 6 | 8; # any(0, 2, 4, 6, 8)
this is helpful, right?
masak ash++ # interview
Al-Caveman i don't know. i'd rather test the last bit for evenness 18:35
psch Al-Caveman: that's different though
m: for 1234, 1357, 6420 { if all($_.comb) == any(1,3,5,7,9) { say "$_ is oddly odd" } }
camelia rakudo-moar 28a769: OUTPUT«1357 is oddly odd␤»
Al-Caveman hmm autothreading is juicy :) is it really fast?
psch (or, maybe the possible use cases are different... vOv) 18:36
pmichaud any makes more sense in this example, yes.
my $even_digit = any(0,2,4,6,8); my $in = prompt "Enter a digit"; if $in == $even_digit { say "You entered an even digit. " } 18:37
japhb Al-Caveman: At the moment, autothreading is not superfast. *However* there is an optimization in Rakudo to convert some common Junction idioms to faster code internally. 18:38
Al-Caveman syntax wise, is $any_even_digit = all(@array); where @array = (0,2,4,6,8)? 18:39
is "all" a keyword in perl6? (last silly question of the day; promise) 18:40
ugexe $any_even_digit == any(@array) if you mean a comparison and not an asignment
skids m: say 2 == (0,2,4,6,8); say so 2 == (0,2,4,6,8);
camelia rakudo-moar 28a769: OUTPUT«False␤False␤»
skids m: say 2 == all(0,2,4,6,8); say so 2 == all(0,2,4,6,8); 18:41
camelia rakudo-moar 28a769: OUTPUT«all(False, True, False, False, False)␤False␤»
skids m: &all.WHAT.say # It is a predined subroutine 18:42
camelia rakudo-moar 28a769: OUTPUT«(Sub)␤»
skids *predefined 18:43
Al-Caveman i really like the idea of autothreading 18:43
skids I find it handy for a few short things to avoid big boolean expressions, but haven't found much else to do with it yet. 18:44
Every time I think there's a good use case there is a different feature that does it better.
PerlJam skids: so ... junctions are a solution looking for a problem? :) 18:46
Al-Caveman haha
skids Actually they are many solutions looking for a problem :-)
colomon tadzik: ping?
PerlJam I don't really use junctions either, but I get the distinct feeling that they are part of that "looking around corners" that Tim O'Reilly talked about once. 18:47
skids Yeah I have this smeking suspicion they will map closely to first-gen quantum computing. 18:48
*sneaking
Al-Caveman junctions solve the maximization problem by which its proposer can look smarter by making the audience think they are stupid 18:49
sorry that's not true. i am wrong. 18:52
i like the wild thoughts behind perl. certainly an eye opener 18:54
[Coke] I think every time I thought "oooh junctions", perl 6 really wanted me to be using a set.
I suspect it'll be nicer when autothreading is really threading and you have larger junctions. 18:55
Al-Caveman s/perl/perl6/
skids m: say so all(1, 3, 5, 7, 9) == any(1,3,5,7,2) # do the digits contain all the odd digits. use case FTW! :-)
camelia rakudo-moar 28a769: OUTPUT«False␤»
PerlJam Al-Caveman: I think you were right to leave it as "perl" :)
Al-Caveman is that a hint that perl5 suffices? :p
PerlJam Al-Caveman: perl5 has sufficient wild thoughts for some people. 18:56
skids m: say any("Password0".comb) ~~ all($("a".."z"),$("A".."Z"),$("0".."9")) 19:03
camelia rakudo-moar 28a769: OUTPUT«True␤»
Al-Caveman i like chained comparisions, is this in other languages? 19:05
hoelzro Al-Caveman: Python
Al-Caveman neat.. the language of math
skids Those are so "wish we had those last year" :-)
Al-Caveman who proposed chained comparisions first? 19:06
PerlJam python has had them for a long time. 19:07
geekosaur icon had them Back In The Day
Al-Caveman would be interesting if lazy evaluation (e.g. @ints = 0 .. Inf) could calculusize everything it touches 19:09
but i guess computationally not wise?
so i skimmed throughout major changes from Perl 5 as listed in the wiki, and i am not extremely impressed. i just like autothreading which seems too hard to implement 19:11
maybe Perl5's Parallel::Loops is fine\ 19:12
dalek c: cc2c50e | PerlJam++ | lib/Language/5to6.pod:
typo fixes and add slice example
19:19
nine Al-Caveman: from my experience, there's no single difference that really stands out. It's all those small improvements and new features together that make Perl 6 really awesome to use. If I had to name one big feature, I'd name consistency, which is really not visible in a 5to6 document. 19:22
PerlJam signatures + grammars + built-in object model + laziness + consistency + lots of other built-in stuff 19:25
Those are things that immediate stand out to me in comparison with P5. 19:26
*ly
tadzik colomon: pong 19:30
colomon tadzik: Is there any principled reason that we couldn’t make a one of the META.info flags “Do Not Compile” and then install only the source version of the module? I mean, obviously it’s less than ideal, but it’s been like 6 months since ABC compiling was broken, and I’d just like it to work… 19:39
masak colomon: is there a last known Rakudo release on which it works? 19:45
masak nine, PerlJam: one thing that doesn't get pointed out often enough is that Perl 6 is a little bit of a love letter to Perl. it's like, take Perl, find out what really works, ditch a few known wrinkles, and put it all together into a homogenous, well-thought-out, pleasant language. 19:47
jnthn Hm, blogs.perl.org/users/buddy_burden/2...-yapc.html worries over the state of using Perl 5 modules from Perl 6, but with nine++'s work I thought we were doing decently on that by now :) 19:48
[Coke] jnthn: I'll login and leave a comment about Inline::Perl5 19:49
jnthn [Coke]++
masak "Macros seem like they’re not going to make it into the initial version of Perl 6." -- aww. someone should give that masak a kick in the right direction... :P 19:51
jnthn I'd much rather have awesome macros in name-mange(6.1) than rushed-together macros in name-mangle(6.0) :) 19:54
[Coke] oh, right: unable to find Inline/p5helper.dylib IN @*INC 19:55
[Coke] redoes this on hack instead of his local box. :P 19:56
masak not talking about rushing anything together. talking about converging sooner rather than later ;)
I'm not crazy enough to try to squeeze anything in before 6.0.0 -- but that doesn't mean we can't peek ahead quite a lot 19:57
jnthn *nod*
And +1.
japhb is sad to see that we won't have macros in [whatever we're calling the Christmas release today], but totally agrees with the decision 19:58
masak all of you who want to see macros sooner -- help by joining in the ongoing discussion in some non-trivial way! 19:59
japhb masak: I did. But I haven't had more brilliant ideas since then. :-( 20:00
vendethiel throws papers at masak
japhb (as if the previous idea was brilliant ...)
masak vendethiel: was gonna say "you're already done enough", but... I don't really mean that. :P keep 'em coming ;)
I don't feel enough has happened with macros for me to give a talk about them at YAPC::EU. maybe next year. maybe a lightning talk this year. 20:01
jnthn I suspect my biggest contribution will be figuring out how we refactor src/Perl6/Actions.nqp to work in terms of QTrees and move QAST generation into the QTree thing and refactor the optimizer as needed to survive all of this. :-) 20:02
masak that... would be much appreciated, yes.
jnthn Which of course will mean re-ordering build steps so we build the Perl 6 MOP before the actions... 20:03
masak I kind of have 30% of 50% of a Qtree spec already.
(but don't tell anyone) :P
japhb heh 20:03
jnthn Thing is, I don't have the time/headspace for that ahead of 6.0, I doubt, nor do we want the risk of such a sizable change at this point.
japhb jnthn: Is all the NFG-related stuff done, or is there more coming down the line? 20:04
japhb opines that his biggest needs are post-GLR speed and milspec level MoarVM robustness. 20:05
.oO( This Side Toward Enemy )
PerlJam is seeing a slightly surprising interest in P6 on #yapc
jnthn japhb: There's some loose ends; you can probably if you try hard enough trip the NFA engine up over NFG semantics, and if you write a cunning enough program you can hit an NYI. :)
PerlJam (I'm surprised anyway)
japhb jnthn: Ah, understood. :-) 20:06
jnthn japhb: But we're basically done; it's on by default, and I've only one RT left that I'd classify as NFG fallout that I need to attend to.
FROGGS NFG went fairly smooth (to my surprise) 20:07
jnthn (it's a funny one involving isolated combiners and .perl :-)
FROGGS jnthn++ for that
masak is there a way we can involve that buddy_burden person in the p6 macros discussion?
colomon masak: I figured out exactly what commit caused it to start failing. Didn’t help matters. :( 20:08
jnthn Well, I did add 70,000 or so tests to try and make sure of that :P
FROGGS jnthn: that's why you just got karma :o)
japhb
.oO( 50,000 tests: 1 karma, 100,000 tests: 2 karma )
20:09
FROGGS colomon: do you still know what commit is to blame? 20:10
colomon FROGGS: I’m trying to find it in the ir clogs
FROGGS: irclog.perlgeek.de/perl6/2014-11-15#i_9667960 20:11
FROGGS ahh, that issue
jnthn Yeah, but the lines of code that patch added are removed again now. 20:12
jnthn So there's obviously a bit more to it :-( 20:13
FROGGS that looks more like pre-GLR fallout to me: testers.perl6.org/reports/45601.html
dalek c: 398a089 | (Steve Mynott)++ | lib/ (3 files):
fix minor typos
20:14
colomon hmmm…. actually maybe ABC compiles okay again, and now fails for other reasons. will investigate 20:16
FROGGS colomon: looks like
colomon: I believe this test is invalid: 20:19
# at t/01-regexes.t line 186
# expected: ''
# got: (Nil)
you won't get back an empty string from the match object when this does not match: token octave { "'"+ | ","+ } 20:20
and that Nil does not silently pass an is() test anymore is intentional 20:21
start-m: use Test; is Nil, '', 'foo'
star-m: use Test; is Nil, '', 'foo'
camelia star-m 2015.03: OUTPUT«not ok 1 - foo␤␤# Failed test 'foo'␤# at /tmp/As8dbm7XS4 line 1␤# expected: ''␤# got: (Nil)␤»
FROGGS ohh no, is() had it wrong when Nil was on the RHS... nvm 20:22
dalek ast: ff2dc70 | usev6++ | S06-other/misc.t:
Add test for RT #125376
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125376
masak 'night, #perl6 20:23
FROGGS gnight masak
jnthn o/ masak
hoelzro colomon, FROGGS: if that issue is indeed fixed, I RT'd it a while back: rt.perl.org/Ticket/Display.html?id=123272 20:23
RabidGravy m: enum LL <A B C>; my %h = LL.enums.kv.map( -> $k, $v { lc( $k) => LL($v) }); say %h<b>; 21:01
camelia rakudo-moar 28a769: OUTPUT«B␤»
RabidGravy Is there a better way of doing that? seems a bit clumsy 21:02
[Coke] what are you trying to accomplish? 21:08
(RG)
RabidGravy be able too up an Enum by lower case name 21:10
to look
[Coke] I suppose "use lower case keys" is not an option. :)
RabidGravy not really 21:11
psch m: enum L ( a => 0, A => 0, b => 0, B => 0 ); say A.WHAT; say a.WHAT # ?
camelia rakudo-moar 28a769: OUTPUT«(L)␤(L)␤»
[Coke] m: enum LL <A B C>; say LL(uc "b");
camelia rakudo-moar 28a769: OUTPUT«(LL)␤»
psch err
well, b/B should probably be 1 :s
but the uc lookup is definitely more sensible :)
skids m: enum LL <A B C>; LL.enums.grep(*.key.lc eq "b").perl.say 21:14
camelia rakudo-moar 28a769: OUTPUT«(:B(1),)␤»
skids m: enum LL <A B C>; LL.keys.perl.say; # O.o
camelia rakudo-moar 28a769: OUTPUT«()␤»
RabidGravy skids, like the first :) 21:18
background is I have a largish enum but want to be able specify on the command line without having to remember the rather immemorable numbers 21:21
smls how do i 'use' a module from a specific .pm file path? 21:25
yoleaux 18:18Z <pmichaud> smls: In post-glr, I'm expecting that if/unless blocks will return Slip on a false condition, so that list comprehensions work. E.g., @evens = ($_ * 2 if .odd for 0..100);
PerlJam smls: I'm not sure you can. If you want a specific file, you "require" it 21:26
smls: I guess you can add the path to the front of @*INC and then "use" it as normal though
smls I cloned GTK::Simple and made a change, and now i want to test it
but 'use GTK::Simple' uses the one installed by panda, not the one from the git clone 21:27
RabidGravy perl6 -Ilib ....
PerlJam smls: you can twiddle @*INC, or you can install the one in your git clone (with panda)
smls hm, I can't get it to load the correct one with @*INC fiffling 21:30
I tried: @*INC.unshift: 'file#/home/smls/dev/src/gtk-simple/lib'; 21:31
and also with push and without the 'file#'
PerlJam smls: in a BEGIN block so that it happens earlier enough ?
smls oooh, right
PerlJam er, early even
smls hm no, still no luck 21:32
RabidGravy or y'know "use lib 'foo'"
smls that works, thanks 21:33
wow, loading a non-precompiled version sure makes a difference in loading time... 21:34
dalek c: 39e8a89 | PerlJam++ | lib/Language/5to6.pod:
Add examples for required spaces
21:37
zostay m: my %x; %x<test> = %x; %x.perl.say; 22:11
camelia rakudo-moar 28a769: OUTPUT«(timeout)» 22:11
zostay is there any plan to make the built-in .perl handle recursive data structures? 22:13
dylanwh w 22:45
woops
smls m: dd (1, 2.Int, my $x = 3, 4, 5) 22:50
camelia rakudo-moar 28a769: OUTPUT«(1, 2, $(3, 4, 5))␤»
smls ^^ Strange behavior when passing a function/method-call expression followed by an item assignment expression to a slurpy parameter
this is a bug, right?
I would expect it to print (1, 2, 3, 4, 5) 22:51
dalek kudo-star-daily: bb0a1bc | coke++ | log/ (2 files):
today (automated commit)
timotimo um 22:56
the = has a looser precedence compared to ,
smls but only list-assignment = 22:57
shouldn't this be item-assignment =
timotimo do we have that?
smls m: dd (1, 2, my $x = 3, 4, 5)
camelia rakudo-moar 28a769: OUTPUT«(1, 2, 3, 4, 5)␤»
smls ^^ doesn't happen if the preceding element is a literal
timotimo oh? weird! 22:58
raiph Who sung this Perl 6 song? www.youtube.com/watch?v=3xLMG9ELcPI#t=48m17s 23:04
smls design.perl6.org/S03.html#List_prefix_precedence <-- doesn't go into details on how exactly "we have to figure out whether the left side is a list or a scalar destination" 23:04
timotimo this kind of rubs me the wrong way 23:05
tony-o HTTP::Server::Threaded is fairly stable on JVM 23:06
tony-o on moar, it doesn't segfault anymore, and it continues to server requests now even if a previous request failed 23:14
timotimo very good 23:16
tony-o redrose 23:19
timotimo and the async version is still very unstable on moar? 23:20
tony-o timotimo: i need to rewrite the async version, i have a feeling the cross thread .read on a socket might still be a problem 23:31
timotimo hm 23:32
but that sucks :) 23:33
tony-o i'm checking it out tho
timotimo what was the tool called that you recommended to me to torture the server?
tony-o i'm using 'ab', it's built as a part of httpd 23:33
tony-o if you have apache installed then you probably have ab, it's full name is apache bench 23:33
use it with -r flag to avoid it dying with high concurrency 23:34
timotimo oh, i actually do
tony-o be advised the ab OSX ships with is buggy
timotimo oh yikes 23:35
*** Error in `/home/timo/perl6/install/bin/moar': double free or corruption (fasttop): 0x00000000033dc200 ***
that happens extremely quickly
tony-o how old? i compiled about about an hour ago 23:36
timotimo absolutely fresh 23:38
this si server::async, though 23:39
tony-o ah, yea async still hangs moar
timotimo yeah
tony-o can't even install async with panda on JVM (Could not find Shell::Command)? 23:40
timotimo it doesn't have an ab script? HST i mean 23:41