»ö« 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.
00:01 isBEKaml joined 00:12 kaare__ left 00:17 gfldex left 00:20 isBEKaml left 00:24 laouji joined 00:28 Akagi201 joined 00:38 laouji left, laouji joined 00:43 laouji left 00:44 laouji joined 00:46 sue left, sue joined 00:57 lolisa left 00:58 Ben_Goldberg joined, aborazmeh left 01:01 BenGoldberg left 01:22 aborazmeh joined, aborazmeh left, aborazmeh joined, tinyblak joined 01:23 tinyblak_ joined
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
01:26 tinyblak left 01:46 ilbot3 left 01:47 ilbot3 joined
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
02:16 timmac joined 02:17 timmac left 02:23 noganex_ joined 02:27 noganex left 02:31 grondilu left, gerry__ joined 02:37 nys left 02:38 rmgk is now known as Guest40420, rmgk_ joined, Guest40420 left, rmgk_ is now known as rmgk 02:53 yqt left 03:00 lizmat joined 03:05 lizmat_ joined, lizmat left 03:06 aborazmeh left 03:08 ilbelkyr is now known as u, lizmat_ is now known as lizmat
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
03:10 lsm-desktop left 03:14 aborazmeh joined, aborazmeh left, aborazmeh joined 03:21 lsm-desktop joined 03:30 cognominal left
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␤»
03:44 u is now known as ilbelkyr
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.
04:10 aborazmeh left 04:17 gerry__ left 04:21 BenGoldberg_ joined 04:24 Ben_Goldberg left 04:30 BenGoldberg_ left
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
04:41 molaf_ left 04:42 lizmat left 04:45 skids left 04:47 gerry__ joined 04:48 gerry__ left 04:49 gerry__ joined 04:54 gerry__ left 04:55 gerry__ joined 04:59 Akagi201 left 05:05 diana_olhovik_ joined 05:06 gerry__ left 05:07 gerry__ joined, [Sno] left 05:08 gerry__ left 05:10 Akagi201 joined 05:26 gerry__ joined 05:29 kaare__ joined 05:32 gerry__ left 05:35 diana_olhovik_ left 05:39 spider-mario left 05:42 sue left 05:43 sue__ joined, sue__ is now known as sue 05:46 Psyche^ joined 05:50 Patterner left 05:54 oetiker left 05:56 spider-mario joined, Woodi joined 05:57 oetiker joined 06:02 oetiker left, FROGGS joined 06:03 oetiker joined 06:05 oetiker left 06:06 oetiker joined 06:07 _mg_ joined
masak morning, #perl6 06:07
FROGGS morning, #perl6
06:11 diana_olhovik joined 06:12 steve_mc left 06:13 FROGGS[mobile] left 06:16 domidumont joined
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
06:19 domidumont left 06:22 domidumont joined, andreoss joined 06:24 domidumont left, oetiker left, oetiker joined 06:25 steve_mc joined 06:27 gfldex joined 06:30 domidumont joined 06:33 gerry__ joined
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
06:36 Khisanth left
masak only the `new` method? 06:37
that kind of makes the `new` method a bit more special than it would otherwise be...
06:37 gerry__ left
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
06:41 Khisanth joined
FROGGS raydiak: you just would have to check if *the autogenerated* *% contains stuff when you are already in the method call 06:42
06:44 [Sno] joined
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
06:52 gfldex left
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
06:54 andreoss left, andreoss joined
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
06:55 zakharyas joined
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
06:56 oetiker left
FROGGS raydiak: I can't answer your question without knowing all applicable scenarios/use cases for *% 06:56
06:56 oetiker joined
raydiak it would also be a starting point for thinking about how to analyze those more complex cases 06:56
06:57 El_Che_ is now known as El_Che
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
07:01 darutoko joined
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
07:30 gerry__ joined, gerry__ left 07:32 salv0 joined 07:34 Ven joined
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
07:41 brrt joined 07:44 RabidGravy joined
FROGGS raydiak: I think we could inject code that checks *%_ after line 1534, by unshifting QAST::Ops to $lexpad[1] 07:45
07:50 Ven left
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
07:57 _mg_ left
andreoss why does expected type change? 07:59
08:02 _mg__ joined
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
08:15 Sqirrel joined 08:16 gerry__ joined 08:17 gerry__ left, spider-mario left 08:19 gerry__ joined
moritz masak++ # interview 08:20
08:23 gerry__ left
raydiak good night, #perl6 08:29
08:41 gerry__ joined
FROGGS moritz: interview? what interview? 08:41
gnight raydiak
08:43 cognominal joined
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 :-\
08:46 AlexDaniel joined
moritz FROGGS: perlhist.com/perl6/carl-masak 08:53
08:54 kaare__ is now known as kaare_
FROGGS ohh nice 08:59
09:00 lizmat joined, lizmat left 09:11 espadrine joined 09:16 uncleyea1 is now known as uncleyear 09:17 uncleyear left, uncleyear joined 09:20 g4 joined, g4 left, g4 joined 09:22 laouji left 09:27 laouji joined 09:37 abraxxa joined 09:39 abraxxa left, abraxxa joined 09:47 rindolf joined 10:00 itz joined 10:03 Akagi201 left, heto_ joined 10:04 heto_ left 10:11 Vlavv left
tadzik I'm quite amused that the sections are called October, November and December 10:13
10:13 tinyblak_ left
tadzik like, "before november-the-wiki", "novemeber-the-wiki" and "christmas" :) 10:13
10:24 Vlavv joined 10:28 gagalicious left 10:30 bin_005 joined
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
10:31 gerry__ left
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" :)
10:35 RabidGravy left, gerry__ joined, lolisa joined 10:37 bin_005 left, bin_005_k joined 10:40 _mg__ left 10:42 gagalicious joined 10:44 gagalicious left, gagalicious joined 10:45 firefish5000 left, gerry__ left 10:47 gerry__ joined
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
10:57 bin_005_k left 10:58 tinyblak joined 10:59 TimToady left 11:00 TimToady joined 11:01 gerry__ left
moritz FROGGS: and https:// to catses:// ? 11:03
:-) 11:04
11:04 gerry__ joined
tadzik hotpotatoes:// 11:04
FROGGS good point :o)
11:05 telex left 11:06 telex joined 11:07 dayangkun left, Sqirrel left 11:10 Sqirrel joined
masak .oO( nyan:// ) 11:20
psch: I like "mouldy masak". it has a certain ring to it. 11:21
11:22 _mg_ joined
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 ;)
11:32 tinyblak left
El_Che itz: sadly openjdk is often not good enough 11:32
11:34 tinyblak joined
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
11:35 gerry__ left
itz "java just does that what you do expect" 11:36
11:36 gerry__ joined 11:37 aborazmeh joined, aborazmeh left, aborazmeh joined 11:42 Ven joined
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.
11:44 brrt left
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
11:51 yqt joined
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
12:01 laouji left
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
12:06 silug left 12:14 itz left 12:19 silug joined 12:28 Akagi201 joined 12:29 Akagi201_ joined
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)
12:33 Akagi201 left 12:36 tinyblak_ joined 12:37 tinyblak left 12:38 asdasdasd joined 12:41 asdasdasd left
psch yay progress 12:41
12:42 aliveli joined
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
12:54 aliveli left
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
13:16 itz joined
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
13:35 [Sno] left, [Sno] joined 13:36 aborazmeh left, yqt left 13:37 wingfold joined
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...
13:39 gerry__ left
[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
13:45 g4 left
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?
13:50 tinyblak_ left, tinyblak joined
masak adding (...).flat seems to work. doesn't feel very idiomatic. 13:51
13:51 yqt joined
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
13:54 Alina-malina left
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 { }
13:55 tinyblak left, Ven left
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
14:03 _mg_ left
masak instead of failing near the end of the iteration like `$l, $n` sometimes do. 14:03
PerlJam earlier how?
14:04 brrt joined
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.
14:06 tinyblak joined
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
14:09 Ven joined 14:12 skids joined
masak .oO( also, it brings us a little step closer to Python's tuples, whee! ) 14:12
14:13 xinming_ is now known as xinming
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?
14:18 Alina-malina joined
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.
14:22 zoosha left
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 )
14:22 zoosha joined
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
14:40 gerry__ joined 14:42 wingfold left 14:44 gerry__ left
TimToady pretends to be awake 14:46
14:49 huf is now known as flowerelf9 14:51 wingfold joined, wingfold left 14:52 grondilu joined 14:53 Ven left, FROGGS left
gagalicious does anyone know how to build a multi faceted search engine from scratch? 14:54
14:54 Gardner joined
flussence first, create a universe 14:55
14:56 brrt left
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
15:00 cdc joined
moritz gagalicious: I like Lucy for such tasks (C library with nice perl bindings, much ligther than lucene) 15:00
15:00 flowerelf9 is now known as huf
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.
15:10 kurahaupo left
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.
15:16 pullphinger joined, jb789 joined 15:19 yqt left 15:20 jb789 left
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
15:25 kurahaupo joined, zakharyas left
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
15:29 Ven joined 15:30 yqt joined
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
15:34 bitman joined 15:36 bitman left 15:41 lizmat joined, FROGGS joined 15:43 kst joined 15:51 Ven left, domidumont left
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 :)
15:54 gfldex joined 15:56 bjz joined 15:58 captain-adequate joined
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␤»
16:08 gcole joined 16:10 espadrine left 16:11 RabidGravy joined, captain-adequate left 16:12 jasonmay joined
RabidGravy Harr! 16:13
16:14 espadrine joined, espadrine left, espadrine_ joined
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
16:18 uncleyear left 16:19 uncleyear joined, abraxxa left 16:20 wingfold joined
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!
16:24 wingfold left 16:25 lizmat left
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/,/),/
16:43 tinyblak left 16:45 espadrine_ left, andreoss left 16:50 itz left 16:51 [Sno] left
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?
16:57 spider-mario joined
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
17:10 danaj left 17:11 _mg_ joined 17:14 virtualsue joined, rindolf left
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.
17:16 _mg_ left
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
17:19 virtualsue left 17:21 wingfold joined, virtualsue joined
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.
17:26 wingfold left, itz joined
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
17:35 diana_olhovik left 17:45 tinyblak joined 17:51 lichtkind joined
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.
17:53 japhb left 18:04 itz left
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"
18:09 Al-Caveman joined 18:11 [Sno] joined 18:12 diana_olhovik joined
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
18:22 wingfold joined
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
18:27 wingfold left
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␤»
18:33 japhb joined
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
18:43 bin_005 joined
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
19:03 rindolf joined
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
19:08 itz joined
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
19:20 wingfold joined 19:21 domidumont joined
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
19:30 wingfold left 19:31 lolisa left 19:32 wingfold joined, nys joined 19:35 wingfold left
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
19:39 telex left 19:40 telex joined
masak colomon: is there a last known Rakudo release on which it works? 19:45
19:45 domidumont left 19:46 captain-adequate joined
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]++
19:51 unel joined
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.
19:58 adu joined
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
20:03 bin_005 left
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.
20:04 bin_005 joined
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
20:13 zacts|skool joined
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
20:23 darutoko left
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
20:25 colomon left 20:29 unel left 20:32 Ven joined, espadrine_ joined 20:39 colomon joined 20:40 Khisanth left, Khisanth joined 20:41 FROGGS left 20:43 smls joined 20:44 daxim left 20:52 Sqirrel left, daxim joined 20:59 atweiden joined
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␤»
21:01 adu left
RabidGravy Is there a better way of doing that? seems a bit clumsy 21:02
21:03 Sqirrel joined 21:06 bin_005 left
[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 :)
21:12 bin_005 joined, itz left
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
21:23 skids left
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)
21:27 Ven left 21:28 diana_olhovik left, uncleyear left, uncleyear joined
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
21:35 tinyblak left
dalek c: 39e8a89 | PerlJam++ | lib/Language/5to6.pod:
Add examples for required spaces
21:37
21:37 Gardner left 21:39 espadrine_ left 21:42 Gardner joined, zacts|skool left 21:47 kaare_ left, Gardner left 21:48 RabidGravy left 21:54 rindolf left 22:03 cognominal left 22:05 cognominal joined 22:08 AlexDani` joined 22:09 AlexDaniel left 22:10 kurahaupo left
zostay m: my %x; %x<test> = %x; %x.perl.say; 22:11
22:11 pullphinger left
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
22:14 Gardner joined 22:18 Khisanth left 22:19 Gardner left 22:23 bin_005 left 22:24 Khisanth joined 22:36 Khisanth left 22:38 cognominal left 22:41 virtualsue left 22:44 dha joined, raiph joined
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)
22:54 Sqirrel left
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
23:00 lichtkind left 23:04 dha left
raiph Who sung this Perl 6 song? www.youtube.com/watch?v=3xLMG9ELcPI#t=48m17s 23:04
23:04 Sqirrel joined
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
23:05 bjz left
tony-o HTTP::Server::Threaded is fairly stable on JVM 23:06
23:09 skids joined 23:13 raiph left
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
23:17 profan joined
tony-o redrose 23:19
timotimo and the async version is still very unstable on moar? 23:20
23:20 gfldex left 23:29 AlexDani` left
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?
23:33 smls left
tony-o i'm using 'ab', it's built as a part of httpd 23:33
23:33 Akagi201_ left
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
23:53 lilgreen joined 23:57 AlexDani` joined