»ö« 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/tmpfileVariable '@b' is not declaredat /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/tmpfileVariable '&prefix:<|>' is not declaredat /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/NN10TlfS1mUnsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argumentat /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/TrNoWqrZPPPreceding context expects a term, but found infix => insteadat /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/wHzlP8YrdkPreceding context expects a term, but found infix => insteadat /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/RheFal2HzgUnable 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" => 3Saw 2 calls to deprecated code during execution.================================================================================%h = itemized hash called at: /tmp/esEuGuIgQy, line 1Deprecated 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/CTKcbtYtfsTwo terms in a rowat /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/v9grIzbKX0Undeclared 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/JGP6IKSvNrUndeclared 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/3lYM9HTHqjUndeclared 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/VUKF08JVNcUndeclared 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«linuxSaw 1 call to deprecated code during execution.================================================================================$*OS called at: /tmp/QCpueRkjwv, line 1Deprecated 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 found42» | ||
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? |