»ö« 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 bToo 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;a2;b3;c» | ||
masak | m: for 1, 2, 3 Z "a", "b", "c" -> ($l, $n) { say "$l;$n" } | ||
camelia | rakudo-moar 28a769: OUTPUT«1;a2;b3;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«01» | ||
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«1a2b» | ||
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«FalseFalse» | ||
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
|