»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:05 Ugator left 00:15 vendethiel left 00:19 ab5tract left 00:31 vendethiel joined 00:34 smls left 00:46 KCL_ joined
[Coke] good eventime, sixers. 00:48
wow, I didn't know that was there. 00:51
Juerd What was where?
00:52 denis_boyun_ left 00:53 ash____ joined, ash___ left
tony-o p56: class l { method r() { } }; my $l = l.new; $l.^methods.say; 00:54
camelia p5-to-p6 : OUTPUT«Number or Bareword found where operator expected at perlito5.pl line 1160.␤»
tony-o p65: class l { method r() { } }; my $l = l.new; $l.^methods.say;
BenGoldberg camelia, help
camelia BenGoldberg: Usage: <(std|nqp-jvm|nqp-parrot|star-p|b|rakudo-jvm|rakudo-parrot|rakudo-moar|niecza|star-m|p5-to-p6|pugs|star-j|nqp-moarvm|nqp-j|nrP|p|p6|Prn|rp|rn|n|rj|r-jvm|nqp-mvm|sm|p56|perl6|r|star|rakudo|rm|Pnr|r-m|nom|sp|nPr|P|rnP|nr|r-p|nqp-p|nqp-m|r-j|j|rPn|m|nqp)(?^::\s) $perl6_program>
BenGoldberg Alas, there isn't a p65
tony-o foiled again
used http async and router to write a restful type server today 00:55
works like good
[Coke] Juerd: p56 00:56
Juerd Oh, wow. 00:57
00:57 dddddd left 00:58 kurahaupo joined
timotimo "like good", eh? 00:59
01:02 ash____ left 01:04 anaeem1_ left
tony-o timotimo: only problems i've had to fix are in the router :-) 01:04
also made me enhance DB::ORM::Quicky 01:05
timotimo that sounds good 01:07
tony-o i needed a 'like' operator for searching my lazily created db
01:20 prime left, kurahaupo left 01:37 vendethiel left 01:39 dayangkun joined, prime joined 01:40 raiph joined 01:52 dayangkun left 01:57 vendethiel joined
tony-o timotimo: i found a different way to write the Request/Response combo for keep-alive, it should be a quick rewrite of those two but it's not as quick as i initially thunk 02:03
02:18 jimmy_ joined 02:19 vendethiel left 02:21 vendethiel joined 02:35 KCL joined 02:37 KCL_ left 02:42 ash___ joined, ash___ left 02:44 vendethiel left 02:52 erkan left 02:53 vendethiel joined 02:55 telex left 02:56 telex joined 02:58 raiph left 03:08 Mso150_p joined 03:13 chenryn joined 03:15 vendethiel left 03:22 noganex_ joined 03:25 noganex left 03:28 aborazmeh joined 03:29 aborazmeh left 03:32 vendethiel joined 03:55 Mso150_p left 04:38 vendethiel left 04:40 kaleem joined 04:47 vendethiel joined 04:54 BenGoldberg left 05:02 kaleem left 05:03 anaeem1_ joined 05:05 kaare_ joined 05:07 anaeem1_ left 05:19 chenryn left 05:32 kurahaupo joined 05:50 kaare_ left 05:51 chenryn joined 05:54 vendethiel left 05:56 vendethiel joined
jimmy_ s 06:03
06:03 jimmy_ is now known as JimmyZ_ 06:09 [Sno] left 06:17 vendethiel left 06:18 mr-foobar left 06:20 vendethiel joined, kaare_ joined
moritz good morning 06:29
JimmyZ_ morning, moritz 06:30
06:30 dayangkun joined 06:31 dayangkun left 06:34 anaeem1_ joined, anaeem1_ left 06:35 anaeem1_ joined, rurban joined 06:43 kaare__ joined, kaare_ left 06:47 vike1 left, vike1 joined 06:57 fhelmberger joined 07:04 vendethiel left 07:06 gfldex joined 07:07 [particle]1 joined 07:08 rurban left 07:09 [particle] left 07:10 [Sno] joined 07:15 kaleem joined 07:16 vendethiel joined 07:25 dayangkun joined, dayangkun left 07:29 rindolf joined
TimToady is testing a further reduction of NFA states and edges that cuts another 330k from Grammar.moarvm 07:30
not quite as dramatic as yesterday's reduction, but still... 07:31
JimmyZ_ but still very nice. 07:32
;)
m: say 0.3 / 3.1 * 100 ~ '%' 07:34
camelia rakudo-moar 91d899: OUTPUT«9.677419%␤»
JimmyZ_ m: say 5330 - 2120 - 330 07:37
camelia rakudo-moar 91d899: OUTPUT«2880␤»
07:38 vendethiel left
cognominal r: my @a = [2,4]; @b = 1..20; say @b[|@a] 07:40
camelia rakudo-{parrot,moar} 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '@b' is not declared␤at /tmp/tmpfile:1␤------> my @a = [2,4]; @b⏏ = 1..20; say @b[|@a]␤ expecting any of:␤ postfix␤»
cognominal what is the idiom to get the indexes from @a for the slice? 07:41
r: my @a = [2,4]; my @b = 1..20; say @b[|@a] 07:42
camelia rakudo-{parrot,moar} 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '&prefix:<|>' is not declared␤at /tmp/tmpfile:1␤------> my @a = [2,4]; my @b = 1..20; say @b[⏏|@a]␤»
cognominal btw, is there a way to feed non strict scripts to camelia? 07:43
07:44 vendethiel joined
JimmyZ_ r: my @a = (2,4,5); my @b = 1..20; say @b[@a] 07:47
camelia rakudo-{parrot,moar} 91d899: OUTPUT«3 5 6␤»
JimmyZ_ r: my @a = [2,4,5]; say @a.WHAT 07:48
camelia rakudo-{parrot,moar} 91d899: OUTPUT«(Array)␤»
JimmyZ_ r: my @a = (2,4,5); say @a.WHAT
camelia rakudo-{parrot,moar} 91d899: OUTPUT«(Array)␤»
JimmyZ_ r: my @a = 2,4,5; my @b = 1..20; say @b[@a]
camelia rakudo-{parrot,moar} 91d899: OUTPUT«3 5 6␤»
JimmyZ_ r: my @a = [2,4,5]; say @a.perl 07:49
camelia rakudo-{parrot,moar} 91d899: OUTPUT«Array.new([2, 4, 5])␤»
jnthn morning
JimmyZ_ morning
TimToady o/ 07:50
JimmyZ_ r: my @a = (2,4,5); say @a.perl
camelia rakudo-{parrot,moar} 91d899: OUTPUT«Array.new(2, 4, 5)␤»
jnthn r: my @a = [2,4]; my @b = 1..20; say @b[@a]
camelia rakudo-{parrot,moar} 91d899: OUTPUT«3␤»
jnthn r: my @a = 2,4; my @b = 1..20; say @b[@a]
camelia rakudo-{parrot,moar} 91d899: OUTPUT«3 5␤»
jnthn r: my @a = [2,4]; my @b = 1..20; say @b[@a[0]]
camelia rakudo-{parrot,moar} 91d899: OUTPUT«3␤»
jnthn r: my @a = [2,4]; my @b = 1..20; say @b[@a[0].list]
camelia rakudo-{parrot,moar} 91d899: OUTPUT«3 5␤»
jnthn @a there was an array of array due to the [...] assigned to it
07:52 virtualsue joined 07:55 darutoko joined
dalek p: 6b22cf4 | TimToady++ | src/QRegex/NFA.nqp:
more state, edge suppression

  * More epsilon removal when optimizer can steal from singleton states.
   (Completely stolen singleton states are removed.)
  * Fates that point to other similar fates are treated as epsilons.
   (Also, don't create fates we know are dups in the first place.)
  * Duplicate edges are now removed from any given state.
  * Now extends the remap array correctly.
  * Now relies on autozeroing rather than duplicating array zeroing already
   provided by VMs.
  * Now copies to new state array rather than reusing old one, so reclaimed space can be GC'd.
  * Gave NQP its own NQP_NFA_DEB env var, distinct from MVM_NFA_DEB, since not all
   NQP is MVM, and sometimes you just want some of the debugging output.
  * Added vim modeline.
07:56
kudo/nom: 8651016 | TimToady++ | tools/build/NQP_REVISION:
bump nqp
07:59 FROGGS joined
cognominal oh, I trip ofen on this one :( 08:02
thx, jnthn++
JimmyZ_++
TimToady maybe we should just disallow that form, unless you do something extra, like put a comma 08:04
08:05 mvuets joined
cognominal I won't blame the language on my mistakes. I hope the GLR will makes some things simpler though. 08:08
TimToady not that one :) 08:09
JimmyZ_ GLR makes things faster :P
08:10 zakharyas joined
TimToady less slower, anyway... 08:11
08:22 virtualsue left 08:25 ptc_p6 joined 08:27 Mso150 joined 08:28 Isp-sec joined 08:29 ptc_p6 left 08:30 ptc_p6 joined 08:34 kaleem left 08:35 kaleem joined, FROGGS left 08:44 bjz joined 08:48 rurban joined 08:54 bjz_ joined, bjz left, bjz_ left 08:55 bjz joined 09:00 erkan joined
eiro hello people 09:03
09:04 bjz left, kaleem left, bjz_ joined
moritz \o eiro 09:04
09:06 cosimo left, cosimo joined
eiro is there an equivalent for circumfix Array contructor for hashes 09:08
perl5 had +{ 09:09
oops ... forgive me: doc.perl6.org/language/operators#circumfix_{_}
09:10 itz_ joined 09:11 jluis left 09:13 itz left, vendethiel left 09:17 onebitboy left
jnthn TimToady++ 09:18
Looks like some really nice work
dalek p: a32de0c | jimmy++ | src/QRegex/ (4 files):
change file mode to 644
09:22
arnsholt jnthn: The most recent commit in Snake gave me a question: What're the visibility rules for loaded bytecode in NQP? 09:25
09:32 onebitboy joined 09:36 dakkar joined
masak morning, #perl6 09:38
eiro \o masak
09:41 gfldex left 09:45 vendethiel joined, kurahaupo left, FROGGS joined, cosimo left 09:46 cosimo joined, jluis joined 09:52 onebitboy left 09:54 bjz_ left
masak there are two related Array things we have to teach Perl 6 beginners because they are likely to garden-path into a different (but wrong) explanation: 09:54
09:54 bjz joined
masak (a) `my @stuffs = [1, 2, 3]` creates an Array with an Array in it, not an Array. 09:54
it makes sense once you internalize that the `@` sigil *already* gives you list assignment. 09:55
(b) `my Array @stuffs` declares an Array containing Array elements, not just an Array containing any elements.
it makes sense once you internalize that the `@` sigil makes the type declaration be about the *elements*, not the container itself. 09:56
arguably, both these "surprising" features allow you to do more things more easily, so they're nice once you're used to them.
eiro masak, for (a), you should use the empty list as memo (it clarify things not only in perl6 09:57
i mean: every time you write @something = XXX, you shoud keep in mind that you actually write
@something = XXX,() 09:58
now it makes sense
my @stuffs = [1, 2, 3] => my @stuffs = [1, 2, 3], ()
(at least it works for me)
09:59 Mso150 left 10:00 KCL left 10:01 onebitboy joined 10:02 Isp-sec left
masak eiro: I don't usually like error conditions that assume you're not well-versed in the language. 10:05
eiro: see for example `say;` which I find annoying. you can't even turn it off! 10:06
10:06 Mso150 joined 10:09 pecastro joined
eiro (b) masak i don't get it. what's annoying with say ? 10:10
10:10 onebitboy left
eiro damned! once again i fall back to perl5 because of lacking time :( 10:11
i need v5 to work...
10:11 onebitboy joined
masak m: say; # I just wanted to print an empty line! 10:11
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/NN10TlfS1m␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/NN10TlfS1m:1␤------> say⏏; # I just wanted…»
JimmyZ_ m: .say 10:12
camelia rakudo-moar 91d899: OUTPUT«Nil␤»
eiro ''.say 10:13
m: ''.say
camelia rakudo-moar 91d899: OUTPUT«␤»
10:14 rindolf left
eiro masak, ok but why is it related to the (a) point ? 10:15
masak eiro: it's a corner case introduced to catch errors, but preventing experienced users from using the language in a consistent, exception-free way. 10:16
eiro: you're proposing the same, if I understand you correctly.
10:17 kurahaupo joined, kurahaupo left
mvuets masak: funny enough yesterday i wrote in perl5 "say;" to do exactly the same. 10:17
and was hit by it actually printing $_ >_< 10:18
masak mvuets: there's not enough support in Perl 5 for Perl 6-think :P
eiro: I'm simply acting the advocate of the experienced language user here. I don't want training wheels to be put into the language in such a way that they prevent me from getting where I want without workarounds. 10:19
mvuets masak: looking at your example i got a question: does perl6 reduce the use of $_ by functions implicitly? 10:20
huf if that were the only wart on perl5's say... :) 10:21
but there's the entire indirect object stuff too
mvuets masak: So, no more bare say, chomp, m//, etc. But .the_thing() instead? 10:22
10:22 kurahaupo joined
mvuets indirect_object-- 10:22
nwc10 it (Perl 5's) also doesn't handle tied filehandles quite correctly
eiro masak, i'm not sure writting/reading correctly there (blame my poor english). what i just meant is having ",()" in mind can help people to get the point (which is: you're already in a list so every circumfix constructor contructs a new member of the list) 10:24
but maybe i just confused instead of helping: sorry about that
10:26 pmurias joined, JimmyZ_ left 10:35 risou is now known as risou_awy, risou_awy is now known as risou 10:40 danaj_ left
masak eiro: ah, I see what you mean. 10:41
eiro: well, yeah, I think the main thing is learning about list assignment. 10:42
eiro: probably I interpreted you that way because TimToady speculated about an error...
10:43 Mso150 left 10:46 bjz left, bjz joined
dalek p-js: 13785ed | (Pawel Murias)++ | src/vm/js/ (2 files):
Pass test 18.

Implement QAST::VarWithFallback.
10:47
10:51 yoleaux joined, ChanServ sets mode: +v yoleaux 10:52 vendethiel left, danaj_ joined
dalek p-js: 5a9057c | (Pawel Murias)++ | src/vm/js/ (2 files):
Implement nqp::eoffh.
11:01
jnthn arnsholt: Well, bytecode files are global, but since Moar provides no global symbol table stuff besides what you build yourself, visibility of loaded symbols is entirely in your hands. 11:05
masak: The two array-related things feel very related to me, in that they're both cases of the @ sigil already meaning Array. 11:07
dalek p-js: 1cf4ad3 | (Pawel Murias)++ | src/vm/js/ (2 files):
Fix nqp::eoffh. Implement nqp::seekfh.
11:10
11:12 chenryn left
pmurias why does readlinefh behave differently on MoarVM? (the tests mention it won't match \r) 11:12
11:13 vendethiel joined 11:16 Alula left
jnthn Dunno, not sure if it's even still the case... 11:18
I know FROGGS++ did some work to generalize end of line handling stuff
So if it wasn't easily fixed before, it should be easily done now.
11:23 kaleem joined
masak jnthn: yes; they feel related to me too. 11:23
jnthn: and it's not even that I disagree with that bit of the design -- I don't. it's just that it takes some explaining and getting used to.
in a way, it's a natural extension to Perl 5's view of arrays and list assignment. 11:25
arnsholt jnthn: Right. And symbols loaded by siblings aren't visible, but symbols loaded by something that loaded you are visible? 11:28
masak just got www.amazon.com/Data-Reality-Perspec...935504215/ in the mail! o/ 11:31
11:31 onebitboy left 11:34 Ugator joined, onebitboy joined 11:35 prevost joined 11:36 telex left 11:38 telex joined
FROGGS jnthn: we have to review my branch... can you tell when you'll have some time for that? 11:41
jnthn oh, argh 11:42
FROGGS: Monday at latest.
FROGGS jnthn: I didn't push it the last two weeks, so I am to blame :o)
k, I'll ask you in the evenings 11:43
11:43 denis_boyun_ joined
jnthn FROGGS: OK. Next days might be very busy for me. 11:44
FROGGS k
11:52 onebitboy left 11:54 cognominal left 11:56 chenryn joined 11:58 vendethiel left 12:00 vendethiel joined 12:08 rindolf joined 12:12 onebitboy joined 12:22 vendethiel left 12:23 vendethiel joined 12:33 chenryn left
eiro i can't find it in the doc: can a method be meta'ed with Z ? 12:44
colomon no 12:45
well, not directly, anyway
eiro @keys Z[.pairs] @values to create a hash, that's the idea
12:45 vendethiel left
colomon eiro: try @keys Z=> @values 12:46
though that's still not a hash (nor was your original)
12:46 Akagi201 joined
eiro => is fat comma ? 12:46
colomon pair constructor
which I guess is sort of fat comma 12:47
eiro yep :)
12:48 rurban left
jnthn Don't think of it as fat comma in Perl 6, imo. You can't use it anywhere you'd use a comma, and you in many cases can not use a comma when you'd use => 12:48
eiro i got it reading the colomon answer 12:49
but the thing is: i'im tring to get a list of hashes from splitted lines 12:50
.IO.lines.map: { < date file title > Z=> .split(/<[\ \t]>+/,3) }
this returns a list
.IO.lines.map: { {< date file title > Z=> .split(/<[\ \t]>+/,3)} }
12:50 ven joined
eiro (using the '{ }' hash constructor ) doesn't help because perl6 saw a use of $_ 12:51
jnthn .IO.lines.map: { hash < date file title > Z=> .split(/<[\ \t]>+/,3) }
eiro (that's the way i understand the doc)
jnthn Yes, you understood correctly
12:51 brrt joined
eiro no way to have an unary operator there ? like +{ in perl5 ? 12:51
hash is too long to write ;) 12:52
jnthn but...you save the { and } :P
And whitespace inside of them to make it look nice
So it works out one char more :P
eiro i must have a typo: doesn't work 12:53
"one char more", right, but not when i use my vim keybinding because '{' counts for "{|}" 12:55
:)
12:56 rurban joined
ven helo, #perl6. 12:57
arnsholt EHLO 12:58
brrt \o
12:59 cognominal joined
arnsholt (Incidentally, I really like how most SMTP commands are four characters. After all, being able to read four bytes into an int and do string compares by integer comparison is super-important!) 12:59
eiro RCPT to #perl6 13:00
hello ven
brrt not sure if sarcasm...
arnsholt brrt: Well, it's a clever trick =) 13:01
But perhaps a bit overkill in the modern world
brrt yeah, it is clever and handy
xiaomiao easier to parse if it's fixed-length 13:02
and a large enough address space with 4 chars
13:02 cognominal left
mvuets folks, do you know if any perl6-related events are planned in europe in near future? 13:11
meetups, hackathons, conferences with perl6 people attending 13:12
brrt fosdem 2015?
mvuets prior fosdem'15
nwc10 mvuets: Jan 31st? fosdem.org/2015/schedule/event/get..._to_party/
brrt ah
nwc10 aha.
brrt :-D
not that i know of
perl6 christmas party
colomon new group of modules breaking overnight: host08.perl6.com:8080/report 13:13
ven o/
mvuets that TimToady`s talk actually has awaken my interest into perl6
ven xmas party sounds good
13:14 Possum left 13:18 lucas_ joined 13:19 Possum joined
jnthn doesn't know of anything before FOSDEM, fwiw. 13:21
lucas_ nice post, masak++
That TV tropes site is funny. From the Juggernaut entry: "You Shall Not Pass?" It's going to!
mvuets maybe i'll try some luck among local pm groups 13:22
13:22 vendethiel joined
jnthn Next year I'm currently planning to do FOSDEM, Netherlands Perl Workshop, Nordic Perl Workshop, YAPC::Asia and YAPC::Europe. 13:22
arnsholt masak: Reading your latest blog post (yeah, I'm slow). I guess the difference between slangs and macros is sort of that macros insert new syntax into the Perl 6 slang, while slangs change the grammar outright? 13:23
ven arnsholt: slang are for language embedding, macro for syntax embedding (to me) 13:24
well, "syntax" as in "syntax tree"="code" 13:25
ven formulated it pretty bad...
eiro still fighting with my piece of code. a hash in a list context become a list of pairs ? correct ? 13:38
i wrote my @posts = "posts/2014/index".IO.lines.map: { my %h = < date file title > Z=> .split(/<[\ \t]>+/,3); %h
};
@posts.map: {.WHAT.say}
it write a list of '(Pair)' back 13:39
(the example j_nthn gave me doesn't work) 13:41
13:44 vendethiel left
torbjorn is there any good perl6-mode for emacs? 13:45
brrt torbjorn: i use p6-mode by lue 13:47
github.com/lue/p6mode
torbjorn hm yes i had some mixed results with that, but thanks 13:49
13:51 prevost left 13:55 FROGGS left
[Coke] j: say $*OUT.t 13:58
camelia rakudo-jvm 91d899: OUTPUT«Can't open perl script "/home/camelia/jvm-rakudo/eval-client.pl": No such file or directory␤»
13:59 anaeem1_ left, ptc_p6 left
colomon No such method 'extension' for invocant of type 'IO::Path' :\ 14:00
[Coke] colomon: is that for me? 14:02
colomon [Coke]: no, that's what's blocking me at $work at the moment.
m: say "lame.cpp".IO.extension 14:03
camelia rakudo-moar 91d899: OUTPUT«No such method 'extension' for invocant of type 'IO::Path'␤ in block <unit> at /tmp/p02mUJuxrR:1␤␤»
colomon possibly really for lizmat
14:03 cibs left, cibs joined
frew hey guys, I just installed Task::Star with panda and LWP::Simple is failing tests 14:04
is that known?
tadzik frew: it does that sometimes :( 14:05
frew: you may want to use HTTP::UserAgent instead
it's more actively maintained
frew ok
where can I look at the modules?
metacpan?
tadzik modules.perl6.org/
frew k 14:06
tadzik frew: ooc, where did you learn about Task::Star?
mvuets frew: do you mind pastebin tap output?
frew from the advent calendar
14:06 vendethiel joined
tadzik nice :) 14:06
mvuets it works (-:
tadzik yeah :) 14:07
frew paste.scsys.co.uk/450702
mvuets tadzik: i realized i borked rakudobrew last night )-:
tadzik mvuets: you did?
14:07 anaeem1 joined
frew what's S11? 14:07
mvuets frew: one of synopses perlcabal.org/syn/S11.html 14:08
frew yeah I was trying to figure out which it was
mvuets (i guess the icon should've been said S22)
frew so this confuses me 14:09
a function can be compile time check
it's inputs
I mean
but the output of a function is not checked, according to the cap advent article
well only at runtime
mvuets tadzik: yeah, when i ripped out my available() i forget to adjust one place, try running `rakudobrew build` and see what i mean
frew so the compile time checking... does that only work for constants?
tadzik mvuets: haha, indeed
mvuets tadzik: sorry (-: 14:10
tadzik happens :)
you can easily correct your mistake :)
mvuets tadzik: an another pl? (-:
tadzik sure 14:11
lizmat colomon: re .extension, will look at it now
colomon lizmat: just doesn't seem to be there, except in the spec and spectests 14:12
mvuets tadzik: i'll take a look tonight maybe. in other news, i have this problem with panda: it crashes on startup
tadzik crashes how?
eiro jnthn, as i said: your example doesn't work but i found a workaround:
my %h = < date file title > Z=> .split(/<[\ \t]>+/,3);
{%h}
mvuets tadzik: paste.scsys.co.uk/450706 14:13
eiro so sad we need an intermediate hash
tadzik hah
'panda update' will probably fix it
but it's definitely missing some error checking when parsing the meta.list
er, projects.json
lizmat colomon: extension lives in the newio branch, will make it work for nom now as well 14:14
mvuets tadzik: nope. same problem. i acutally rebuild moar+panda+rakudo from scratch, still happens.
colomon lizmat++
mvuets tadzik: oddly enough it breaks on my work machine only, works fine at home
tadzik: oh!.. can it be because i'm behind a proxy? 14:15
tadzik that might be it
mvuets: what are the contents of .rakudobrew/moar-HEAD/install/languages/perl6/site/panda/projects.json? 14:17
probably either empty or invalid :P
mvuets tadzik: indeed invalid, some html claiming: ERROR: The requested URL could not be retrieved
tadzik mvuets: panda readme talks a bit about proxies 14:18
mvuets tadzik: wget and git work on their own (aside of panda) 14:20
tadzik hm
panda doesn't use wget though
dalek kudo/nom: e395e87 | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
Give IO::Path an .extension, spotted by colomon++
14:21
mvuets tadzik: README lies? (-:
colomon lizmat++
14:21 kaare__ left
tadzik mvuets: well, did you set up a proxy according to its instructions? :) 14:22
if yes, it might, someone else wrote that part :P
ven eiro: you don't need an intermediate hash, do you? 14:23
mvuets tadzik: i am trying, but that link help.github.com/firewalls-and-proxies/ brings me to a wrong page help.github.com/articles/caching-y...rd-in-git/
tadzik ah
ven eiro: you can use %() around it, methinks 14:25
mvuets tadzik: i figured! projects.json is hosted on port 3000 which is blocked from my machine 14:27
tadzik ah, yeah
we have a ticket for that
14:28 vendethiel left 14:31 vendethiel joined
mvuets tadzik: cool, i left my ¢2 there 14:33
14:41 kaleem left
lizmat huh? In file included from 3rdparty/libuv/include/uv-unix.h:55: 14:43
3rdparty/libuv/include/uv-darwin.h:26:11: fatal error: 'mach/mach.h' file not
14:44 FROGGS joined
lizmat clean build of MoarVM fails with latest Xcode 14:46
:-(
colomon :( 14:48
lizmat there seem to be plenty of mach.h's on my system 14:49
[Coke] lizmat: rakudo isn't bumped to use latest moarvm yet, maybe? 14:52
(daily run today worked ok)
ish.
ah, I seem I'm missing the 6.1.1 xcode update. installing....
lizmat I think it has more to do with updating to the latest Xcode late last night :-(
[Coke] oh. Maybe I'll let you be on the bleeding edge, then. 14:53
lizmat and after that, you probably have the same as I do...
[Coke] let me know when the water's safe. :)
colomon stays off the bleeding edge for a reason....
mvuets colomon: you use perl6, don't you? (-; 14:54
colomon mvuets: yes, but on OS X 10.8.x and an oldish Ubuntu
arnsholt Sometimes, NQP's error reporting isn't too bad. And sometimes, it's extremely annoying >.< 14:55
mvuets colomon: i meant to say perl6 is kinda bleeding edge by itself
colomon mvuets: I understood that. ;)
15:03 jluis left
eiro ven, i really hope o don't need it but this was the only way i found to return a hash instead of a list of pairs 15:03
brrt xcode o.O
eiro your solution returns a list of pairs too (at least in my case)
ven m: say %( <foo bar baz> Z=> 1..* ).perl
camelia rakudo-moar 91d899: OUTPUT«("bar" => 2, "foo" => 1, "baz" => 3).hash␤»
ven eiro: definitely a hash.
lizmat seems like adding a symlink in libuv's include dir, fixes the problem 15:05
eiro m: my @posts = (1..3).map: { <a b c> Z => <you and me> }
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/TrNoWqrZPP␤Preceding context expects a term, but found infix => instead␤at /tmp/TrNoWqrZPP:1␤------> my @posts = (1..3).map: { <a b c> Z =>⏏ <you and me> }␤»
eiro m: (1..3).map: { %(<a b c> Z => <you and me>) }
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/wHzlP8Yrdk␤Preceding context expects a term, but found infix => instead␤at /tmp/wHzlP8Yrdk:1␤------> (1..3).map: { %(<a b c> Z =>⏏ <you and me>) }␤»
eiro m: (1..3).map: { %(<a b c> Z=> <you and me>) } 15:06
camelia ( no output )
eiro m: ((1..3).map: { %(<a b c> Z=> <you and me>) } ).gist.say
camelia rakudo-moar 91d899: OUTPUT«"a" => "you" "b" => "and" "c" => "me" "a" => "you" "b" => "and" "c" => "me" "a" => "you" "b" => "and" "c" => "me"␤»
eiro ven, definitely a list of pairs :)
m: ((1..3).map: { my %h = <a b c> Z=> <you and me>); {%h} } ).gist.say 15:07
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/RheFal2Hzg␤Unable to parse expression in block; couldn't find final '}' ␤at /tmp/RheFal2Hzg:1␤------> .map: { my %h = <a b c> Z=> <you and me>⏏); {%h} } ).gist.say␤ e…»
eiro m: ((1..3).map: { my %h = <a b c> Z=> <you and me>; {%h} } ).gist.say
camelia rakudo-moar 91d899: OUTPUT«"a" => "you", "b" => "and", "c" => "me" "a" => "you", "b" => "and", "c" => "me" "a" => "you", "b" => "and", "c" => "me"␤»
15:08 [Tux] left 15:09 lucas_ left
ven eiro: the %() has to be applied to the map 15:10
m: ((1..3).map: { <a b c> Z=> <you and me> } ).hash.perl.say # equivalent 15:11
camelia rakudo-moar 91d899: OUTPUT«("b" => "and", "a" => "you", "c" => "me").hash␤»
eiro no because the result is a list of hashes, not a single hash
ven m: ((1..3).map: { %(<a b c> Z=> <you and me>).WHAT } ).gist.say 15:12
camelia rakudo-moar 91d899: OUTPUT«(Hash) (Hash) (Hash)␤»
ven this is a list of hash.
not "definitely a list of pairs". a list of hashes
eiro my @posts = "posts/2014/index".IO.lines.map: { my %p = < date file title > Z=> .split(/<[\ \t]>+/,3); {%p}
};
15:12 [Sno] left
eiro that's my code here 15:12
15:13 vendethiel left, [Tux] joined
eiro @posts.map: {.WHAT.say} says it's a list of hash 15:14
ven sure. and it does the same for my code ;)
eiro not there :)
and i'm running the last version of rakudo
ven I don't see any output difference between my version and yours. 15:15
15:15 vendethiel joined
eiro ven, i'm using it on my system 15:15
ven I'm talking about right here
eiro want some output ?
ugexe is it flattening? 15:16
ven I have camelia's output
15:16 rurban left, Hor|zon joined
eiro not really flattening. just doesn't encapsulate in a hash i guess 15:17
ven ugexe: yes, it is.
{} itemize the hash
eiro @posts.map: {.WHAT.say} gives
(Pair)
...
ugexe m: my %h = {a => 1, b => 2}; my %h2 = {c => 3}; say (%h, %h2).list;
camelia rakudo-moar 91d899: OUTPUT«"a" => 1 "b" => 2 "c" => 3␤Saw 2 calls to deprecated code during execution.␤================================================================================␤%h = itemized hash called at:␤ /tmp/esEuGuIgQy, line 1␤Deprecated since v2014.7, will be…»
eiro with the ven solution
15:17 rurban joined
eiro with mine, it releases 15:17
ven m: ((1..3).map: { (<a b c> Z=> <you and me>).hash.item } ).gist.say # eiro
camelia rakudo-moar 91d899: OUTPUT«"a" => "you", "b" => "and", "c" => "me" "a" => "you", "b" => "and", "c" => "me" "a" => "you", "b" => "and", "c" => "me"␤»
eiro (Pair)
oops 15:18
ven if you don't want flattening, itemize it
eiro (Hash)
ven this has nothing to do with the intermediary variable. only with the {}
eiro i can't use it because perl6 detect a use of $_ inthere
ven eiro: what do you mean? 15:19
eiro < date file title > Z=> .split(/<[\ \t]>+/,3)
ven m: ((1..3).map: { (<a b c> Z=> <you and me>).hash.item } ).perl.say # eiro
camelia rakudo-moar 91d899: OUTPUT«({"c" => "me", "b" => "and", "a" => "you"}, {"b" => "and", "c" => "me", "a" => "you"}, {"c" => "me", "b" => "and", "a" => "you"}).list␤»
ven eiro: ^ this seems correct to me.
eiro .split is a use of $_, the doc says
ooooohhh
15:19 Hor|zon_ left
ven your {%h} only does `.item` on the hash ;) 15:19
eiro ven, yeaaahhhhh ! this works :) 15:20
i think it doesn't appear in the doc 15:21
(note to myself)
many thanks everyone! now i have to keep carre on my padawan: enough perl for today 15:22
cya all
dalek p-js: 5fc70e5 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Default values for positional arguments.
15:24
ven pmurias++
15:30 ven left, kaare__ joined
Woodi hallo #perl6 :) 15:32
15:33 dalek left 15:34 dalek joined, ChanServ sets mode: +v dalek
pmurias Woodi: hi 15:34
jnthn travel &
Woodi I wonder how far list-thingie goes in Perl6. a) 'dosomething arg1 arg2' is list or b) 'dosomething1 arg1a arg1b; dosomething2 arg2a arg2b; ...' is list too ? do programmer need to be avare of program as some "container". usually it was just sequence of actions... 15:35
[Coke] ugh. github.com/coke/perl6-roast-data/b...in/cleanse - this just started failing with "Malformed UTF-8" today
Woodi ...aware*
15:37 vendethiel left 15:39 mr-foobar joined, jluis joined 15:40 vendethiel joined 15:53 treehug88 joined
dalek p-js: 74871a6 | (Pawel Murias)++ | src/vm/js/ (2 files):
Pass test 39.

The pointy block to for can take multiple arguments.
16:00
16:02 araujo left 16:03 vendethiel left, araujo joined 16:10 vendethiel joined 16:12 ugexe left 16:13 ugexe joined 16:14 prevost joined
TimToady Woodi: at some point the compiler treats all those as lists, but in the process of compiling, turns those into other structures for efficient execution, so all the user ever sees as a list is the argument lists to each function 16:18
16:19 [Sno] joined
TimToady though in some contexts, semicolon can still give you a list 16:20
m: say (1,2,3; 4,5,6).perl
camelia rakudo-moar 91d899: OUTPUT«(1, 2, 3; 4, 5, 6)␤»
TimToady m: say (1,2,3; 4,5,6)[0].perl
camelia rakudo-moar 91d899: OUTPUT«$(1, 2, 3)␤»
TimToady m: say (1,2,3; 4,5,6)[1].perl 16:21
camelia rakudo-moar 91d899: OUTPUT«$(4, 5, 6)␤»
16:21 davido___ left 16:22 davido___ joined
TimToady there's really nothing like an s-expr though, unless you make one yourself and write an interpreter for it 16:22
Lisp tries really hard to pretend that everything is interpreted, even when it's cheating all over the place. 16:23
In contrast, we're cheating all over the place, but don't pretend we're not. :)
hope this answers your question...
16:24 ugexe left 16:25 ugexe joined 16:27 raiph joined 16:29 brrt left 16:31 anaeem1 left, ugexe left, denis_boyun_ left 16:32 vti joined, ugexe joined, cosimo left, cosimo joined
vti m: perl6 -e 'sub foo {"bar"}; say foo(:foo("bar"))' 16:34
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/CTKcbtYtfs␤Two terms in a row␤at /tmp/CTKcbtYtfs:1␤------> perl6 -e ⏏'sub foo {"bar"}; say foo(:foo("bar"))'␤ expecting any of:␤ postfix␤ infix stop…»
vti m: sub foo {"bar"}; say foo(:foo("bar")) 16:35
camelia rakudo-moar 91d899: OUTPUT«Unexpected named parameter 'foo' passed␤ in sub foo at /tmp/1S6XZ3K30c:1␤ in block <unit> at /tmp/1S6XZ3K30c:1␤␤»
vti m: class Foo { method bar() {"Hi"}}; say Foo.bar(:foo("bar"))
camelia rakudo-moar 91d899: OUTPUT«Hi␤»
vti any idea why the second thing works?
arnsholt vti: Methods have an implicit *%_ 16:36
So that subclasses don't have to worry too much about their parents' signatures when delegating up the inheritance hierarchy 16:37
jnthn: Is there some kind of requirement for objects created at run-time to be added to an SC? I'm getting some weird failures relating to the setting when trying to wrap my functions in objects... 16:39
vti arnsholt: this is very weird 16:41
arnsholt: thanks for the tip though 16:42
TimToady vti: well, we actually think about extensibility a lot here
that is just one manifestation of it 16:43
16:46 KCL_ joined 16:53 vendethiel left 16:59 rurban left 17:02 vendethiel joined
masak arnsholt: re diff betweens macros and slangs. there are many ways to view it, but part of it I think is a matter of scale. sometimes you want just a regex, sometimes a whole grammar. ditto macros vs slangs. 17:03
TimToady
.oO(sometimes you want a script, sometimes you want a program)
17:05
17:06 mvuets left 17:09 rurban joined 17:10 sven_123_ joined 17:16 kaleem joined, kaleem left 17:17 rurban left
gtodd in 2010 and in 2013 day 23 of the perl6 advent is about sorting ... 17:19
this is not yet a pattern or tradition within a tradition but ... 17:21
TimToady maybe that's just what people talk about when they have nothign to talk about :) 17:22
gtodd heheh
TimToady course that never stopped me, which is why they put me on the 24th some years
gtodd hah day 23 "May the Schwartz be with you" ...
moritz TimToady: this year too, btw :-)
TimToady: unless you object very strongly 17:23
gtodd now that is a tradition within a tradition
actuallly sorting on the pre penultimate day is a good idea ... each year we get a new way to sort the preceding advent entries ... 17:24
moritz this time it could be sleepsort 17:25
17:25 sven_123_ left, vendethiel left
gtodd cool 17:28
is sleepsort for sorting a stream or an infinite list ? 17:29
timotimo haha
no
gtodd :-D
pmurias arnsholt: is it possible to reply to github issues without using the github interface?
TimToady it's debatable whether sleepsort is smarter or stupider than bogosort...
moritz gtodd: sleepsort works only works on numbers 17:30
gtodd I'm going to bed now please sort everything continuously
moritz gtodd: you start a thread or process for each number, and sleep for a length according to the number, then print it out
gtodd: good night
TimToady everything can be reduced to numbers :)
17:31 zakharyas left, vendethiel joined
TimToady another limitation is that it's difficult to sleep a negative time 17:31
gtodd I feel like I do that all the time :-D
arnsholt pmurias: I think just replying to the notification emails works as well
gtodd ZZzz .... [alarm rings] 17:32
wha?!
timotimo sorting a series of Zs is easy
gtodd heh
arnsholt masak: Yeah, that's a good way of framing it too
gtodd hmm what's that new cool way of programming again ? I think scala has it so jnthn did a talk about how perl6 has it too :-D ...
"reactive"
PerlJam new?
gtodd reactive sorting :-)
timotimo "sorting a series of Zs is easy".comb.sort(&[leg]).join.say
masak arnsholt: another perspective that lue++ supplied the other day is that macros are mostly for the side effects, but grammars are mostly for the syntax/language.
timotimo m: "sorting a series of Zs is easy".comb.sort(&[leg]).join.say
camelia rakudo-moar 91d899: OUTPUT« Zaaeeefgiiinoorrssssssty␤»
pmurias arnsholt: I think it should be possible to handle the python argument passing using the standard Perl 6 calling convention 17:33
gtodd PerlJam: " new " it's relative ... :-)
"il n y a de nouveau que ce qui est oublié" 17:34
pmurias arnsholt: all the args will be declared as positionals, if they don't get a value then using the .default attribute of QAST::Var they will try to fill themself using a named argument 17:35
17:35 spider-mario joined
arnsholt Oh, good idea! 17:36
And the named can have as its default the computed default
pmurias arnsholt: after that we recreate the excess *positionals and **named if neccesary 17:37
17:37 prevost left, KCL_ left
arnsholt Yeah, that sounds pretty reasonable 17:39
pmurias arnsholt: no, we need to have something like sub pythony_func($foo = %_<foo> || computed_default()) {...}
arnsholt Why is that? 17:41
pmurias: Oh, if you don't care for Github issues, do you have a preferred way of keeping track of this stuff? ATM I'm using them mostly to keep track of ideas and assorted thoughts 17:42
pmurias if replying to them via email works I'm ok with using them ;) 17:43
17:44 spider-mario left
pmurias if we declare a named parameter with a default, the default will be calculated when the parameter is pass as a positional 17:44
* passed
timotimo executing that tiny sorting task from up there results in about 2 megabytes more maxrss and almost no time difference whatsoever from 'say "hello"' 17:45
cool.
arnsholt pmurias: I guess, but Python defaults are computed on declaration, so it's just another entry in the hash 17:46
17:53 FROGGS_ joined, vendethiel left 17:54 raiph left, pyrimidi_ is now known as pyrimdine, pyrimdine is now known as pyrimidine, denis_boyun_ joined 17:55 rurban joined 17:56 FROGGS left 17:57 vendethiel joined 18:08 fhelmberger left, spider-mario joined, ab5tract joined 18:09 dakkar left 18:10 mvuets joined
ab5tract o/ #perl6 18:10
i started a blog post, and may have writtne a novel :/
18:11 vendethiel left, vendethiel joined
TimToady well, if all the parts feel like "christmas present", that's fine :) 18:12
otoh, if by "novel" you mean you've written fiction, well, sometimes that's fun too :) 18:14
ab5tract TimToady :) 18:16
18:19 woolfy left 18:21 Alula joined, raiph joined
mvuets dear #perl6. i know it may be a bit premature, but do you happen to know any success stories about perl6? some useful software or web services done in perl6? something beyond just modules, but rather usable things which you don't think about as written in a particular language and can just use. something beyond sample (yet sensible) code, but tools. and not necessary big things. i think it might very interesting to gather links and short descriptions 18:23
one particular example i can think of is github.com/viklund/november/
18:24 rurban left
mvuets which has been written (mostly) by masak, as i just found out 18:24
18:24 dwarring joined
ab5tract mvuets: the application layer is a bit lacking :/ 18:28
18:31 rurban joined
masak mvuets: november is fairly old/out-of-date at this point. 18:31
18:31 Sqirrel joined
dwarring G'day perl6 18:31
r: grammar G {token TOP {:i a[3|4|5] | b}}; say G.parse("a4")
camelia rakudo-{parrot,moar} 91d899: OUTPUT«「a4」␤␤»
dwarring hmm that's failing to parse for me on latest rakudo build 18:33
This is perl6 version 2014.11-54-ge395e87 built on MoarVM version 2014.11-64-g650333f
ab5tract tip for advent writers -- do it all in wordpress!
18:34 woolfy joined
dwarring r: say $*VM 18:35
camelia rakudo-parrot 91d899: OUTPUT«parrot (6.10.0)␤»
..rakudo-moar 91d899: OUTPUT«moar (2014.11.63.g.8.fa.0.c.7.d)␤»
masak ab5tract: (a) I'm faster in pure Markdown, and (b) if I draft in Wordpress, only logged-in Wordpress users can review the draft.
tadzik ab5tract: I have an exactly opposite tip :)
masak me too! ^^ 18:36
mvuets ab5tract: i know, right? that's why my question emerged. i think, a big part of a language success is, arguably, actual software written in it.
18:37 Akagi201_ joined
mvuets masak: does that mean it's not worth looking at november as a project example? 18:38
ugexe writing software to have things change often was not very motivating. i imagine we will see more and more applications as things stabalize
masak mvuets: I'd advise looking at newer things.
ab5tract masak: yes, but i drafted in markdown and am now banging my head getting it to work correctly in wordpress
mvuets: Panda could be a cool example 18:39
mvuets ugexe: many things to be drastically changed yet?
masak ab5tract: if I (re-)write my simple conversion script from Markdown to Wordpress busted HTML, I will share it on the channel.
mvuets masak: hence my question, looking for advices. anything else apart from what's listen in perl6.org/documentation/ ? 18:40
18:40 Akagi201 left
mvuets ab5tract: panda is indeed a nice example. sadly it does not apply outside of scope of creating other perl6 apps 18:41
masak the two biggest Perl 6 applications *in actual use* that I can think of: Rakudo. Panda.
ugexe mvuets: sort of. i mean if i write an application i dont want to have to do <-> $var is rw knowing i will later i can remove the 'is rw'. S11 in the last year for example, or async related stuff
masak they may be eat-your-own-dogfood examples, but boy are they representative examples.
18:42 telex left 18:43 rurban left
raiph mvuets: colomon's ABC ? 18:44
18:44 telex joined
ab5tract ugexe: wait, '$var is rw' will be going away? 18:45
moritz iirc also colomon++ use p6 for some $work (CAD file munging)
mvuets Ulti: i remember you recently were very excited about Bags and Ranges and how they come in handy in bioinformatics
Util: are you using p6 for real? (cannot await your advent post) 18:46
TimToady dwarring: yes, looks like a bug, and probably my fault :)
dwarring happening in about the last day 18:47
mvuets raiph: i think ABC's a great example!
TimToady is surprised roast didn't catch it 18:48
dwarring could do with a test
18:50 Alina-malina left, Alina-malina joined
TimToady sees what happened 18:51
18:52 ugexe left
TimToady the edge deduper isn't comparing values correctly for that edge type 18:52
18:52 ugexe joined
TimToady so it's removing non-redundant edges 18:52
ugexe ab5tract: <-> implies rw
well, it will 18:53
raiph mvuets: parse/manip/gen data/code in other langs? I think CSS is best example to date (but also json, snake/python, v5/perl5, v6/perl6, etc.) 18:54
pyrimidine mvuets: not sure about Ulti but my plans over the next year are to work on bioinformatics-related modules. NativeCall makes this quite a bit easier than with perl5/XS
hoelzro mvuets: I started on an XMPP bot (I think I showed you while I was at Booking), and I started on a command utility 18:56
both times I ended up getting blocked by lack of modules + some problem with Rakudo 18:57
hoelzro should really finish that XMPP bot
19:00 anaeem1_ joined
moritz ab5tract: I just read your advent draft. It's nice, but could use some indenting in the examples 19:04
dalek ast: 62adde9 | (David Warring [email@hidden.address] | S05-modifier/ignorecase.t:
test case for regex bug in 2014.11-54-ge395e87
19:08
ab5tract moritz: thanks man, yeah, still working on it! 19:09
tony-o inline? FROGGS_++
FROGGS_: question about the output from inline-c when you get back 19:12
FROGGS_ tony-o: I am here
just ask
tony-o also submitted a PR for deprec 19:13
19:13 rurban joined
FROGGS_ a PR? for what repo? 19:13
raiph mvuets: are clifford, math::symbolic, and other math modules examples of what you seek? games?
tony-o FROGGS_: if i put printf() into my inline c and then call the sub then my output from the inline-c comes after all output from the perl part of the script.. gist.github.com/tony-o/ed50c2ce5aa8c799c761 19:14
that outputs: 11\nAdding 5 + 6 = 11
FROGGS_ tony-o: try adding a n
err, \n
19:15 araujo left
tony-o to the script? 19:15
FROGGS_ to line 9:
-printf("Adding %d + %d = %d", a, b, a + b);
tony-o got ya
FROGGS_ +printf("Adding %d + %d = %d\n", a, b, a + b);
19:15 araujo joined
tony-o weird 19:16
submitted PR to github.com/FROGGS/p6-Inline-C
FROGGS_ tony-o: I don't see a PR
mvuets raiph: absolutely
tony-o FROGGS_: refresh? 19:17
FROGGS_ #3 opened 18 seconds ago by tony-o
:o)
tony-o close to the metal, man
or slow internet
19:17 rindolf left
tony-o also, your issue seems to be resolved 19:18
FROGGS_ m: sub foo returns Int { '' } 19:19
camelia ( no output )
FROGGS_ p: sub foo returns Int { '' } 19:20
camelia ( no output )
FROGGS_ hmmm
ohh, the issue says it crashes when it gets precompiled
[Coke] (XMPP perl6 bot) WANT
mvuets hoelzro: ^ you cann't get away now q-: 19:21
hoelzro oh no... 19:22
=P
[Coke]: anything in particular you're looking for in a bot?
19:22 Khisanth left
[Coke] We use cisco jabber here at work. I want a bot that I can script to help with dev work, like "hey, a build just happened", or "what does this weird acronym mean" or "what are the docs on this coldfusion function" 19:23
19:23 Khisanth joined
[Coke] I actually got it working using a java framework someone had setup, but etoomanychanges in our corporate setup have broken that. 19:24
hoelzro hmm, that should be possible with what I've done 19:25
the bot I made, hexe (a pun on hex), is kind of messy
well, the way it connects to an XMPP server is, anyway
but with Inline::Perl5, that should be easier now
or I could write MuEvent::XMPP
[Coke] I think we are using mumble-over-http 19:26
hoelzro either way, now I have some extra motivation to finish it =)
19:27 ptc_p6 joined
dalek p: 1928e4a | TimToady++ | src/QRegex/NFA.nqp:
only dedup problematic but easily checkable edges

Most of the dups are in epsilons and fates, with occasional codepoints. Since it's more difficult to check the values for fancy edges, and not worth it anyway, just check simple edges.
19:28
19:28 BigBear joined 19:29 nige joined
dalek kudo/nom: f0ea067 | TimToady++ | tools/build/NQP_REVISION:
bump nqp
19:29
TimToady dwarring++ for the bug report and dwarring++ for the test
19:32 Mso150 joined
nige Hi 19:32
masak hi, nige
nige HI Masak
I'm de-lurking for a mo ;-) 19:33
masak :)
nige I'm working on an advent post that is a simple translation of a Perl5 module
Here is the code pastebin.com/nsGAp54a 19:34
19:34 gfldex joined
nige The Perl6 version is here 19:36
pastebin.com/577rqpN8
gtodd to view the lurking 5th column in my DATA I can do perl6 -ne '.words[4].say' DATA
nige open to suggestions for improvements
gtodd can I also do something like .... @lines = slurp("DATA_1").split(/\s+/) ; say @lines[*;4]' 19:37
nige (I realise this module is ripe for a role) - but dealing with the simple OO case first
there is a small prob
in the Perl5 version the start_time is set lazily on the first call to record() 19:38
in the Perl6 version I think the attribute is initialised at BUILD time
- so there is a subtle difference here in behaviour - is there a way to set an attribute lazily in Perl 6? 19:39
gtodd oh @lines isn't split up there ... hmm but anyway to get all the subversive fifth column .elems of a two dimensional array is [*;4] politically correct, comrades? 19:40
ab5tract nige: what do you mean by lazily? you can choose to set values on your object at any time, right? 19:41
nige yes - I could add some code to do that
ab5tract just set the start_time attribute on records 19:42
nige yes - can do it there
ab5tract with some other variable "started" which bools :)
nige yes - that's a nice idea 19:43
ab5tract ooof... i'm having trouble seeing the forest for the trees now in this post.. anyone care to tell me if it makes any sense? perl6advent.wordpress.com/?p=2308&a...ew_id=2308 19:45
TimToady: i make some claims about the designs of P5 and P6 that i'd like to fact check by you
timotimo no need to have a $!started
ab5tract ah! 19:46
timotimo++
timotimo your $!start_time is already Any, so just use that fact
$!start_time //= now;
ab5tract $start_time //= now :)
TimToady ab5tract: looking
19:46 pecastro left
ab5tract timotimo: jinx :D 19:46
timotimo on my client i beat you by a second :)
19:46 mvuets left
ab5tract the post still needs some clarifying points and polish in general, i think. but curious to hear back from others 19:47
timotimo hm. how big is our polish audience? 19:48
tadzik should know
moritz ab5tract: interseecting ~~ s/ee/e/ 19:49
19:49 ugexe left 19:50 ugexe joined
dwarring ab5tract: "Yet Another Potentially Awkward Explanation " ~ "(YAPAE)" 19:52
[make acronym a bit clearer] 19:53
[Coke] dwarring++
moritz ab5tract: "And ().Set gets another calling convention for free: methods defined on Any can be called in subroutine form as well!" that sounds like that's a language feature, when it's not 19:54
[Coke] extra newline after duct tape in the 5th ¶
moritz wait
I guess it's close enough to the thruth after all 19:55
nige ab5tract --- maybe use "butterfly" or "camels" in your set example - or some other simple place holder "wise men" "donkey" etc 19:56
moritz ab5tract: also, some sort of conclusion or wrap-up at the end would be nice 19:57
ab5tract moritz: no? 19:58
i thought that methods on Any automatically getting a subroutine form was some form of feature...
nige: better than 'contived example', agreed :) 19:59
20:00 psch joined 20:01 ptc_p6 left
psch good *, #perl6 20:01
TimToady ab5tract: you're missing the ³ in the text. 20:02
20:02 denis_boyun_ left
psch ab5tract: you're also missing a colon in the first link to the clog 20:02
ab5tract ³ ? i can barely see that, let alone understand it :)
20:03 darutoko left
TimToady you're 3rd footnote doesn't have a corresponding ³ in the text 20:03
(that I could see)
ab5tract ah! i gotcha
20:04 ugexe left
ab5tract thanks folks! 20:04
first dinner, then i will address your points
20:04 ugexe joined 20:05 mvuets joined
nige thanks for the help 20:13
TimToady ab5tract: it's only type-like things that promote Foo() to ().Foo 20:14
m: say new(Int) 20:15
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/v9grIzbKX0␤Undeclared routine:␤ new used at line 1 (in Perl 6 please use method call syntax instead)␤␤»
TimToady m: say new(Mu)
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/JGP6IKSvNr␤Undeclared routine:␤ new used at line 1 (in Perl 6 please use method call syntax instead)␤␤»
TimToady anyway, normal method names are kept separate from function names 20:16
we only confuse them for types because we don't know whether the go-to type or the come-from type will define the coercion 20:17
m: say Mu.^methods 20:18
camelia rakudo-moar 91d899: OUTPUT«ACCEPTS WHERE WHICH take WHY set_why Bool so not defined new CREATE bless BUILDALL BUILD_LEAST_DERIVED Numeric Real Str Stringy item say print note gist perl DUMP DUMP-PIECES DUMP-OBJECT-ATTRS isa does can clone Capture Method+{<anon>}.new() dispatch:<::> …»
TimToady m: say gist(Mu)
camelia rakudo-moar 91d899: OUTPUT«(Mu)␤»
psch m: Real(Mu) 20:19
camelia rakudo-moar 91d899: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤ in block <unit> at /tmp/_TQP2ccP7h:1␤␤»
TimToady hmm, most of those are also defined as functions
roles don't define coercers
you can't coerce to an abtraction :)
psch that does make sense. the error hints at "it's a Role", too 20:20
TimToady m: say clone(42)
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/3lYM9HTHqj␤Undeclared routine:␤ clone used at line 1. Did you mean 'close', 'none'?␤␤»
TimToady m: say 42.clone
camelia rakudo-moar 91d899: OUTPUT«42␤»
TimToady there we go
ab5tract: ^^^ 20:21
20:25 denis_boyun_ joined
TimToady well, that's Mu, not Any, but still 20:27
m: say Any.^methods
camelia rakudo-moar 91d899: OUTPUT«infinite exists_key exists_pos delete_key delete_pos list flat eager hash Parcel elems end squish rotor reverse sort values keys kv pairs reduce combinations permutations unique uniq pick roll classify categorize lol map for flatmap duckmap deepmap tree Ar…»
TimToady m: say elems(42) 20:28
camelia rakudo-moar 91d899: OUTPUT«1␤»
TimToady m: say infinite(42)
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/VUKF08JVNc␤Undeclared routine:␤ infinite used at line 1␤␤»
TimToady there, a method in Any that is not callable as a function
dalek ast: 1db2856 | usev6++ | S03-sequence/misc.t:
Add tests for chained sequence operators (RT #123329)
20:30
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123329
20:33 Mso150 left, Mso150 joined
Ulti mvuets I've mostly been exploring/playing I've written a couple of Perl6 programs in anger. Like pyrimidine I've had a go at looking at Bioinformatics tasks especially parsing and simple operations on biological sequences. 20:37
mvuets I wrote a really great script for sorting out the unicode in my bibtex file of my thesis with Perl6 .uc understanding unicode really well is awesome too for dealing with author names with funny accents 20:38
I'm sure you could get P5 uc to do what I wanted, but it didn't "just work" like it did in P6 20:39
mvuets if you are super keen to see some code there is github.com/MattOates/BioInfo and github.com/cjfields/bioperl6 20:41
ab5tract TimToady: okay, so it is 'methods on Any that are also types get a subroutine for free' ? i think i might leave this particular corner out of the case study ;) 20:46
TimToady has nothing to do with Any, really 20:49
m: Mu(42) 20:50
camelia rakudo-moar 91d899: OUTPUT«Cannot find method 'Mu'␤ in block <unit> at /tmp/OzA9tij2Mw:1␤␤»
tony-o is there a pretty printer for .perl ? 20:52
TimToady nothing official yet, though people have been poking at it from time to time
mvuets thanks Ulti++ 20:53
20:53 nige left
jdv79 tony-o: i've asked that a few times now i think 20:53
tony-o ah 20:58
ab5tract TimToady: is there a synopsis i should look at? if i can't be concise about it, i should probably avoid mentioning it
tony-o who is working on CompUnitRepo?
lizmat I guess that would be FROGGS_ and me
when we do 20:59
tony-o should .candidates return *all* candidates or just the first available?
lizmat .candidates should return *all* candidates
it's the caller who can then decide what to do with it: just take the first
tony-o okay 21:00
lizmat or complain if there;'s more than one
tony-o right now it's returning only the first for me
lizmat or apply different heuristics
tony-o i'll post a gist and try to patch
lizmat tony-o++
21:00 KCL_ joined 21:01 rurban1 joined
lizmat I'm seriously considering *NOT* writing/publishing my "IO - the current fashion" advent post tomorrow 21:02
I have 2 reasons for that: 21:03
tony-o gist.github.com/tony-o/644519cc86f68054ff2a
TimToady ab5tract: well, S13 Type Casting talks about it, though .[] and .{} are no longer methods, so that bit is a fossil
colomon is listening to lizmat++
tony-o is too
lizmat 1. the advent posts are more for an external audience, and my post would be very technical and describing something not (yet) in nom 21:04
21:04 Mso150 left, nige joined
lizmat 2. it would incite a lot of discussion, as I noticed yesterday when trying out some of the blog post ideas at the Amsterdam.PM meeting 21:04
21:04 nige left
FROGGS_ yeah 21:04
lizmat so, I *do* have time set aside for writing an advent post
so what should I write about then? 21:05
21:05 Mso150 joined
lizmat perhaps something about Supplies ? 21:06
21:06 rurban left
FROGGS_ I'd read it :o) 21:06
but my brane is actually too empty to propose anything
psch both those arguments make me doubt the sense in writing what i'm planing to write about... :) 21:07
tony-o lizmat: i just submitted a PR to nom, is that the wrong branch? 21:08
lizmat no, that's fine
FROGGS_ tony-o: that would collect all candidates across all CompUnitRepos
and our current thinking is that we only consider candidates of the first CUR that actually has at least one candidate 21:09
21:09 baest_ joined
tony-o i thought that was what it should do unless you call it from a specific CUR 21:09
TimToady moritz: I suspect that camelia is involved in the same can't-recompile git glitch that we both ran into 21:10
FROGGS_ you'll probably get more than one candidate if you'd have a CUR::Installation
tony-o ahh, i thought lizmat's reply meant that it should return *all* available
TimToady anyway, hasn't recompiled since about that time
FROGGS_ tony-o: all from the first CUR in @*INC
lizmat Ah, sorry, tony-o I misunderstood 21:11
FROGGS_ tony-o: and in case we invent a CUR::* thingy that closes over other CURs, then you could get candidates for several CURs via that indirection
tony-o i did too
lizmat all from the first CUR in @*INC
21:11 baest left
tony-o FROGGS_: i see - thank you for clarification, i'll delete that PR 21:11
TimToady moritz: in fact, hasn't recompiled since Nov 30, looks like 21:12
psch to clarify, what i was trying to say is that i didn't percieve "technical" and "not quite finished" as blockers for an advent post
if they are then i'll have to get a different topic as well
TimToady well, but the question is how "speculative" it is 21:13
lizmat psch: I'm more thinking about the PR value of the advent posts
psch TimToady: i'm trying to get easy access for overloaded java methods into our jvm interop, and my post was planned to be "how i'm trying to get there" to "how i did it", according to how far i get 21:14
lizmat and since Perl 6 already has the image of not being able to make up its mind
21:14 kaare__ left
lizmat putting something in the advent posts that would incite a lot of discussion *there*, does not seem like a good idea to me 21:14
psch as in, not via method descriptors ("method/crc32/([B)I") but via shortnames ("crc32")
21:15 colomon left
nwc10 mails [email@hidden.address] with MoarVM fakecutables 21:15
psch lizmat: right, i think that differentiates your topic from mine sufficiently to easy my mind at least. i wouldn't assume "we're getting easier interop" to be as discussion-inciting as "we're changing IO"
TimToady psch: well, that's something UIish we all agree should be implemented, but it's just hard. IO is all about UI though
moritz TimToady: I'm now cleaning out and trying again
TimToady thanks 21:16
lizmat having said this: I think that 99% of the IO API will stay the same
only if people expected specific object types in certain places, will they notice 21:17
TimToady well, but that's a part of UI too, not just the call siggies
lizmat so I think I *will* write a blogpost about it, but *not* for the advent
TimToady and what order you have to call them
and what the expected semantics are
21:17 Mso150_o joined 21:18 Mso150 left
lizmat TimToady: re $DISTRO.name being ubuntu on Ubuntu: what would be the way to determine a Linux distribution is an Ubuntu ? 21:31
or more generally, what kind of distribution is distribution X on linux 21:32
(how to programmatically determine that)
mst there's usually a file in /etc 21:33
mvuets usually there is /etc/*-release or /etc/release-* file that should contain a distro name
huf there's lsb_release -a
mst debian_version, redhate_release etc.
huf well, sometimes there is.
21:34 colomon joined
mvuets what would it contain on Windows or OS X? 21:36
lizmat well, on OS X, you can call "sw_vers"
$ sw_vers 21:37
ProductName:Mac OS X
ProductVersion:10.9.5
BuildVersion:13F34
ab5tract lizmat: maybe $*OS could be a hash, and keys like $*OS<distribution> could be present iff necessary/relevant 21:38
psch /etc/os-release has an ietf rfc, fwiw
www.freedesktop.org/software/system...lease.html
lizmat m: $*OS 21:39
camelia ( no output )
psch that matches the man page i get on debian
lizmat m: say $*OS
camelia rakudo-moar 91d899: OUTPUT«linux␤Saw 1 call to deprecated code during execution.␤================================================================================␤$*OS called at:␤ /tmp/QCpueRkjwv, line 1␤Deprecated since v2014.9, will be removed with release v2015.9!␤Ple…»
ab5tract right, but $*DISTRO seems so linux specific
mvuets psch: works on fedora 20 too 21:40
colomon do we have another advent post we can run instead of lizmat++'s?
lizmat colomon: I'll write one
I just don't know what about yet
colomon :)
lizmat I still have ~26 hours
mvuets i have to admit how much i like this backward compatibility policy! "Deprecated since v2014.9, will be removed with release v2015.9!"
colomon lizmat: want help brainstorming? 21:43
tony-o FROGGS_: what exactly does CUR::Local::Installation (CURLI) expect for $dist? i see it's trying to call .metainfo on whatever i pass to create a distribution but i don't really get what i'm passing that has .metainfo. it seems to partially work if i pass an anonymous class implementing metainfo that just returns a hash that i got from-json'd from META6.json ... 21:44
21:44 ptc_p6 joined
tony-o link to assist with the confusion i have: github.com/rakudo/rakudo/blob/nom/...ion.pm#L72 21:44
FROGGS_ tony-o: there is a panda/eleven branch that does that for you 21:45
tony-o: though there is something rotten that breaks installation of dists into a CURLI
tony-o is it supposed to move files for me or is it basically just a METAINFO generator? 21:47
sorry, MANIFEST 21:48
FROGGS_ panda will pass information about a to-be-installed dist to CURLI, and that will install the dist into its storage 21:49
lizmat colomon: yes
FROGGS_: I bet in the end what's blocking panda/eleven, is the same that is blocking newio 21:50
[Coke] I wonder if a pretty printer for .perl should be a pretty printer for Perl 6.
tony-o FROGGS_: what is broken with the installation of dists in a CURLI ? 21:51
FROGGS_ lizmat: and what is it?
[Coke] (Perl6::Tidy with an optional .perl wrapper, e.g.
lizmat FROGGS_: I wish I knew
FROGGS_ tony-o: something about PERL6LIB environment var... panda fails to bootstrap IIRC
tony-o ah
lizmat REPR notfound errrors, segfaults, you name it
FROGGS_ lizmat: okay, that sounds like my problem :o)
tony-o: I tried to hunt it down like three weeks ago, but I need to give it another go 21:52
21:52 gfldex left
ab5tract "If you define a method whose name is a declared type, it is taken as a coercion to that type" 21:54
21:54 gfldex joined
ab5tract so Any.Set is what allows an Any to coerce to Set 21:54
[Coke] heh. gmail thinks [perl #123329] thread is in danish. 21:55
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123329
colomon ab5tract: yes
ab5tract and Set() looks to see if an object has a coercer method .Set
which, if it is an Any, it does
bartolin [Coke]: *g* 21:56
masak 'night, #perl6 21:58
bartolin o/ 21:59
moritz m: say 'which version?'
camelia rakudo-moar f0ea06: OUTPUT«which version?␤»
moritz TimToady: ^^
dalek kudo/nom: 1632658 | (Elizabeth Mattijsen)++ | src/core/Distro.pm:
Naive fix for getting $DISTRO.name on linux

Please test, as I on OS X and cannot really test this myself
22:04
ab5tract okay folks, if i can trouble you for one last read-through.. perl6advent.wordpress.com/?p=2308&a...ew_id=2308
bartolin lizmat: there seems to be a typo: s/lb_release/lsb_release/ 22:06
tony-o FROGGS_: what method do i have to keep a CURLI in @*INC or ... how do i make the CURLI i created available as a CURLI via environment variable?
dalek kudo/nom: 725e26e | (Elizabeth Mattijsen)++ | src/core/Distro.pm:
Fix typo, bartolin++
22:07
22:07 lucas_ joined
lizmat tony-o: if I understand your question correctly, you would typically @*INC.unshift it 22:08
colomon ab5tract: seems like there's a spurious CR / <br> in the middle of the third paragraph past the XKCD comic?
lizmat ab5tract: there seems to a newline in "the duct tape 22:09
of Perl 5"
colomon in between the words "duct" tape" and...
what lizmat said.
btyler are there any tools around for generating p6 code?
ab5tract fixed!
btyler don't need anything robust, just to save myself some typing translating C structs into nativecall/p6 classes 22:10
ab5tract (i hope that's line is as funny to others as it is to me :)
colomon ab5tract: another in the first paragraph afeter Composers like Set.new() and set()
ab5tract colomon++ # fixed too
lucas_ hello channel 22:11
tony-o lizmat: if i unshift a CURLI object and then do 'use <module>' (that i've verified is available via MANIFEST) then i get the 'could not find <module> in any ..' 22:12
i think i'm missing a step but i don't know what it is
mvuets g'night #perl6 22:13
22:13 mvuets left, colomon left
ab5tract weird.. i'm not sure why the code snippets at the bottom of the post are in a different font size 22:15
22:16 KCL_ left
ab5tract but if no one has any other stoppers, i'm going to schedule this and proceed to put my feet up :) 22:16
tony-o lizmat: relevant code here: github.com/tony-o/deleteme/blob/ma...nstall.pl6
ab5tract is glad that it even makes sense, it was a pretty dense jungle 22:17
FROGGS_ btyler: not that I am aware of... but I'd like to have that too for libxml
lizmat tony-o: maybe I'm missing some context, but what are you trying to achieve? 22:18
install a module without panda ?
psch ab5tract: looks to me like you have a missing closing <pre> or whatever wordpress uses for code formatting
lizmat alas, most of the CUR stuff is NYI :-(
FROGGS_ lizmat: what is NYI? 22:19
psch ab5tract: second paragraph below "Coercers like ().Set and Set()", at "this allows a Set()⏏ call"
tony-o FROGGS_: not yet implemented 22:20
FROGGS_ tony-o: :D
tony-o: I know, I am asking for details :o)
tony-o oops
i hate being sick
FROGGS_ because many things are kinda implemented, but not usable with panda/master for example
lue ab5stract: right where psch put the ⏏ is where I see all the text (not just code snippets) gets a bit bigger and monospace.
ab5tract lue: thanks for spotting, fixed now 22:21
gtodd combs old articles in search of an advent posting about IO
perl6advent.wordpress.com/tag/io/ sort of sparse :) 22:23
btyler FROGGS_: ok, well, I'll keep working on my grody hack to parse C structs, and maybe just spit out P6 with string manipulation 22:24
lizmat gtodd: well, I can say that that code will still work in the newio branch unchanged 22:25
btyler for me it was libgit2 :) so many struct defs!
22:25 Mso150_o left
gtodd lizmat: Yay!!! 22:25
lizmat: wait ... you just wrote a oneliner advent article ;-)
lizmat almost, but there is more nowadays :-) 22:26
dwarring ab5tract: associativty => associativity 22:28
ab5tract dwarring: thanks! 22:29
22:30 FROGGS_ left
dalek : 6ca2ba2 | (Elizabeth Mattijsen)++ | misc/perl6advent-2014/schedule:
Provisionary title for different advent post
22:30
lizmat "Supplies without Demand" 22:31
ab5tract lizmat++
i've been looking forward to as many concurrency-related posts as possible. this is kind of p6's first advent where the recommended interpreter supports it, if i'm not mistaken? 22:34
22:38 lucas_ left, virtualsue joined
lizmat ab5tract: yes, indeed 22:39
bartolin lizmat: re $*DISTRO.name: it seems to be a bit more complicated. at least on one system with debian 7 I tested with "lsb_release" was not installed. on a second system it was installed but complained to stderr that no lsb modules were installed. 22:41
lizmat bartolin: patches welcome! 22:42
bartolin lizmat: if I find some time, I'll look into it (but not today ;-) 22:43
lizmat ++bartolin
lizmat is going to sleep on her new advent post title
ab5tract that said, a blog post about the complexities of implementing a P6-worthy IO, a few words on the various attempts that have been made, and a brief description of the talking points you'd expect in any discussion (oh, and a few details on how you managed the perforance gains ;) -- that would be a fantastic post as well.
bartolin g'night, #perl6 22:44
ab5tract maybe for later in the advent? ;)
lizmat ab5tract: well, maybe I will, but then at least 10 days later
really sleep&
ab5tract night!
22:47 vti left
japhb Is it intentional that nqp's `make test` doesn't include the t/docs/ and t/parrot-pmc/ tests on any backend (I would assume t/parrot-pmc would only be for nqp-p, but it's not even run there)? 22:48
My best guess for not running t/docs/ was that there's too much new docs required to pass that we don't try right now? 22:49
22:50 denis_boyun_ left
japhb Also, would anyone object to a new t/concurrency/ that includes testing for *all* concurrency and async-related NQP stuff? 22:51
22:55 virtualsue left 22:57 BigBear left 22:58 colomon joined 22:59 perturbation joined 23:01 spider-mario left 23:02 abraxxa joined 23:04 psch left
tony-o japhb: sounds like a good idea 23:04
23:04 ptc_p6 left 23:05 ptc_p6 joined 23:06 abraxxa left
TimToady m: say 42 23:11
camelia rakudo-moar 725e26: OUTPUT«/bin/sh: lsb_release: command not found␤42␤»
TimToady hmm
23:12 ptc_p6 left
japhb Er, why would we care about the lsb_release command? 23:17
TimToady attempt to initialize $*DISTRO with something other than $*KERNEL info, I suspect 23:21
23:21 abraxxa joined, vendethiel left 23:23 treehug88 left 23:25 pmurias left 23:26 vendethiel joined
japhb Ah, no wonder I didn't see it -- it was from lizmat's most recent Rakudo commits this afternoon, and I hadn't pulled since this morning. 23:27
So yeah, we should probably make that code resilient to not having lsb_release. Also, given that lsb stands for Linux Standard Base, I suspect it won't work on OS X. :-) 23:28
23:28 gfldex left
japhb Also, shouldn't $*DISTRO be lazily computed? 23:28
lue I don't have lsb_release, so would rakudo break for me if I updated it right now? 23:29
TimToady my machines have the /etc/lsb-release, but the lsb_release programs say No LSB modules are available. on both Ubuntu and LinuxMint
well, my ubuntu is obsolete-ish 23:30
lue "ls: cannot access /etc/lsb-release: No such file or directory" I don't even know what Linux Standard Base _is_, fwiw.
geekosaur lsb was more or less a power grab by red hat, which is why debian-ish systems don't support it well 23:31
the linux standards originally came out of debian (fsstnd / fhs) and lsb was red hat embracing and extending 23:32
lue Or gentoo :) . I could install it, but since my system has apparently never needed it, I don't see why I should install it any time soon.
TimToady oh, maybe /etc/os-release is more better? 23:37
japhb Gah, it looks like $*DISTRO is lazy, but it's likely to be evaluated.
lue I have /etc/os-release
TimToady can understand the bsds not wanting to use "linux standard base" :)
lue Or any system that doesn't feel like supporting RPMs, apparently :) . 23:38
TimToady of course, they're confusing matters by calling it "os" :) 23:40
geekosaur fsstnd did start working with the bsds at one point... ian shot it down hard :/ 23:41
japhb IIRC LSB was intended for proprietary software vendors and enterprise coders to have a minimum platform that they could rely on. I don't recall whether it ever managed to be that for anyone, but I think that was the supposed *intent*.
TimToady Live Free Or Die, unless it's And...
otoh, my os-release file says "Ubuntu", and my lsb-release file says "LinuxMint" 23:45
lue My os-release has a bunch of fields.
TimToady and LinuxMint is more specific
there was a webpage mentioned earlier describing os-version 23:46
I'm on a distro based on a distro 23:48
japhb ... based on a distro
TimToady right, debian
lue ponders the Ur-distro of linux 23:49
TimToady but ubuntu tries hard to hide that
japhb lue: In the sense of "root of the family tree"?
TimToady arguably the most derived is the most informative, like with virtual dispatch 23:50
lue japhb: as in en.wiktionary.org/wiki/ur-
TimToady so obviously $*DISTRO have methods that can call 'nextsame', or that can be called with .* 23:51
japhb Yes, I know the definition, I meant "what variation on the theme did you mean in this case?"
TimToady so $*DISTRO.*name might return LinuxMint, Ubuntu, Debian, GNU/Linux 23:52
lue Ah, I mean that as in "What's at the end of 'distro based on a distro based on a distro...'?" :)
japhb BTW, I'm going to put a stake in the sand and say now that no "production" release of Rakudo should fork or spawn in order to 'say 42'. I know how extremely controversial that will be ....
TimToady but then what do you do with the old SunOS that was derived from both SysV and BSD? 23:53
ab5tract oof.. just can't seem to leave well enough alone perl6advent.wordpress.com/2014/12/0...ew_id=2308
23:54 Ugator left
lue TimToady: ("SysV"&"BSD") of course :P . 23:54
ab5tract switched up the flow considerably, i think it may even make sense :)
japhb lue: For actual linux distros, perhaps Slackware. Going further involves changing kernel.
TimToady well, config info of this sort should be discovered at install time and cached somewhere
japhb TimToady: That would be $?DISTRO, neh?
timotimo ab5tract: it'd be nice to put an attribution onto the image (even though you expect 100% of nerds to know xkcd, it's still good form) 23:55
TimToady that's the distro you compiled on
23:55 telex left
ab5tract timotimo: done :) 23:55
japhb TimToady: Which compiled? NQP and Rakudo, or your script (This matters in the "precompiled before making an OS package" case)
TimToady your script/module's compilation time 23:56
23:56 telex joined
japhb Right, so that could either be the same as install time, or different, depending on local panda-style install or OS package install. 23:56
TimToady if you move your .moarvm to a different machine, we might allow $*DISTRO to change
but hopefully we'd have a standard place to look 23:57
japhb I'd argue that we'd *want* $?DISTRO and $*DISTRO to be independent, because the latter tells you much about the environment the script is actually running in, which most of the time is more important than what compiled the script.
TimToady that's the intent 23:58
japhb :-)
TimToady when I say "install" time, I mean the installation of your code where it'll run and find libraries, not the installation of the compiler
japhb So then caching $*DISTRO gets more difficult. But I think we'd really like to avoid needing to fully populate it just for basic functionality, which as far as I can tell is what's happening, despite the attempt at laziness. 23:59
TimToady and whatever put those libraries there should probably put one that has the current config
we're supposed to be able to load libs without forking, which I think was your issue?