»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:03
atrodo left
00:18
MikeFair_ left,
MikeFair_ joined
00:20
cognominal joined
00:21
dayangkun joined
00:27
yarp joined
00:43
yarp left
00:45
Teratogen joined
|
|||
Teratogen | hello | 00:45 | |
00:46
raiph joined
|
|||
TimToady | hmm, prompt("> ") isn't flushing its output in nom currently before asking for input | 00:51 | |
timotimo | is it easy to declare a class as an exact copy of, say Int, so that i can require an argument to be, for instance in Kelvin? would it be class Kelvin is Int {}? | 01:01 | |
01:01
yarp joined
01:07
tokuhiro_ left
|
|||
raiph | r: sub a { say &?ROUTINE.name }; a | 01:09 | |
p6eval | rakudo 220a69: OUTPUT«a» | ||
timotimo | oh, is that new? | ||
raiph | i'm trying to find where .name is defined. tried p6doc and searching spec. | 01:10 | |
r: sub a { say &?ROUTINE.^mro }; a | 01:11 | ||
p6eval | rakudo 220a69: OUTPUT«Sub() Routine() Block() Code() Any() Mu()» | ||
01:12
Chillance left
01:16
cognominal left
01:17
hypolin joined
01:20
yarp left
01:21
cognominal joined
|
|||
Pleiades` | timotimo, subsets possibly? | 01:24 | |
01:30
kid51 joined
|
|||
Circlepuller_ | r: sub a { say &?ROUTINE.code; eval &?ROUTINE.code; } | 01:50 | |
p6eval | rakudo 220a69: ( no output ) | ||
Circlepuller_ | r: sub a { say &?ROUTINE.code; } | ||
p6eval | rakudo 220a69: ( no output ) | ||
Circlepuller_ | r: sub a { say &?ROUTINE.code; } | 01:51 | |
p6eval | rakudo 220a69: ( no output ) | ||
Circlepuller_ | r: sub a { say &?ROUTINE.code; eval &?ROUTINE.code; }; a | ||
p6eval | rakudo 220a69: OUTPUT«No such method 'code' for invocant of type 'Sub' in sub a at /tmp/Ckn4U23oOS:1 in block at /tmp/Ckn4U23oOS:1» | ||
Circlepuller_ | r: sub a { say a.code; eval &?ROUTINE.code; }; a | ||
p6eval | rakudo 220a69: OUTPUT«maximum recursion depth exceededcurrent instr.: 'print_exception' pc 86323 (src/gen/CORE.setting.pir:41408) (src/gen/CORE.setting:8941)called from Sub 'a' pc 109 ((file unknown):82) (/tmp/EeyWsCdcr7:1)called from Sub 'a' pc 133 ((file unknown):96) (/tmp/EeyWsCdc… | ||
Circlepuller_ | r: sub a { say a.code; eval a.code; }; a | 01:52 | |
p6eval | rakudo 220a69: OUTPUT«maximum recursion depth exceededcurrent instr.: 'print_exception' pc 86323 (src/gen/CORE.setting.pir:41408) (src/gen/CORE.setting:8941)called from Sub 'a' pc 109 ((file unknown):82) (/tmp/gQDVuNkAcP:1)called from Sub 'a' pc 133 ((file unknown):96) (/tmp/gQDVuNkA… | ||
Circlepuller_ | ha | ||
r: sub a { say a.code; }; a | |||
p6eval | rakudo 220a69: OUTPUT«maximum recursion depth exceededcurrent instr.: 'print_exception' pc 86323 (src/gen/CORE.setting.pir:41408) (src/gen/CORE.setting:8941)called from Sub 'a' pc 109 ((file unknown):82) (/tmp/r6hz_jpNk8:1)called from Sub 'a' pc 133 ((file unknown):96) (/tmp/r6hz_jpN… | ||
Circlepuller_ | :| | ||
sorear | Circlepuller_: say a.code parses as say a().code | 01:53 | |
no wonder it recurses indefinitely | 01:54 | ||
Circlepuller_ | oh hmm | ||
sorear | r: sub a { say &a.code; }; a | ||
p6eval | rakudo 220a69: OUTPUT«No such method 'code' for invocant of type 'Sub' in sub a at /tmp/wlOsVBWR0p:1 in block at /tmp/wlOsVBWR0p:1» | ||
Circlepuller_ | lame | ||
01:54
fgomez joined
|
|||
sorear | r: sub a { say &a.do; }; a | 01:54 | |
p6eval | rakudo 220a69: OUTPUT«No such method 'do' for invocant of type 'Sub' in sub a at /tmp/wnI0V37llk:1 in block at /tmp/wnI0V37llk:1» | ||
Circlepuller_ | i forgot about the ampersand | ||
ha | |||
sorear | r: sub a { say &a.^methods; }; a | ||
p6eval | rakudo 220a69: OUTPUT«No such method 'gist' for invocant of type 'Sub' in method gist at src/gen/CORE.setting:4748 in sub say at src/gen/CORE.setting:7161 in sub a at /tmp/VvD5hpzOqf:1 in block at /tmp/VvD5hpzOqf:1» | ||
sorear | r: sub a { print &a.^methods; }; a | 01:55 | |
p6eval | rakudo 220a69: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container in method REIFY at src/gen/CORE.setting:5964 in method reify at src/gen/CORE.setting:5120 in method gimme at src/gen/CORE.setting:5485 in method print at src/gen/CORE.setting:7345 in sub print at src/… | ||
timotimo | r: subset PersonNumber of Int; sub frob(PersonNumber $a) { say "$a is a person" }; my Int $test = 99; frob($test) | ||
p6eval | rakudo 220a69: OUTPUT«99 is a person» | ||
timotimo | Pleiades`: doesn't seem to do what i want | ||
this may be something for roles | |||
Circlepuller_ | r: sub a { say &a.^mro; }; a | 01:56 | |
p6eval | rakudo 220a69: OUTPUT«Sub() Routine() Block() Code() Any() Mu()» | ||
Circlepuller_ | r: sub a { say &a.^routine; }; a | ||
p6eval | rakudo 220a69: OUTPUT«No such method 'routine' for invocant of type 'Perl6::Metamodel::ClassHOW' in sub a at /tmp/b8GpN0I0fj:1 in block at /tmp/b8GpN0I0fj:1» | ||
Circlepuller_ | r: sub a { say &a.routine; }; a | ||
p6eval | rakudo 220a69: OUTPUT«No such method 'routine' for invocant of type 'Sub' in sub a at /tmp/jiOMYxr_6l:1 in block at /tmp/jiOMYxr_6l:1» | ||
Circlepuller_ | i have no idea what i'm doing xD | 01:57 | |
sorear | would be nice if .^methods could be made to work in something closer to all cases | ||
01:58
FROGGS_ joined
|
|||
Circlepuller_ | it'd be nice if i could get a subroutine's code | 01:59 | |
timotimo | r: role PNr {}; my Int $test = 99 but PNr; sub frob($a where .does(PNr)) { say "$a is PNr" }; frob($test); frob(99); | 02:00 | |
p6eval | rakudo 220a69: OUTPUT«99 is PNrConstraint type check failed for parameter '$a' in sub frob at /tmp/GPAXrz3ZdQ:1 in block at /tmp/GPAXrz3ZdQ:1» | ||
timotimo | Pleiades`: see this, works fine. | ||
02:00
FROGGS__ left
|
|||
timotimo | r: role PNr {}; my Int $test = 99 does PNr; sub frob($a where .does(PNr)) { say "$a is PNr" }; frob($test); frob(99); | 02:00 | |
p6eval | rakudo 220a69: OUTPUT«99 is PNr99 is PNr» | ||
timotimo | this is a little bit surprising to me. wouldn't have thought the "99 does PNr" would modify 99 "in a global context" if that makes any sense at all. | 02:01 | |
(and one could build a subset of Int where .doen(PNr)) | |||
sorear | timotimo: constant pooling. | 02:02 | |
02:02
FROGGS left
|
|||
sorear | it's not modifying 99, it's modifying a single Int instance for 99 that happens to be shared between all instances of the literal 99 in your program | 02:02 | |
timotimo | is there a range for which rakudo does that? | 02:03 | |
02:03
FROGGS__ joined
|
|||
timotimo | or does it do that for all literals? | 02:03 | |
sorear | all literals I think | ||
doy | seems like "99 does PNr" should be an error if that's the case | ||
sorear | n: : role PNr {}; my Int $test = 99 does PNr; sub frob($a where .does(PNr)) { say "$a is PNr" }; frob($test); frob(99); | ||
p6eval | niecza v21-1-ga8aa70b: OUTPUT«===SORRY!===Bogus statement at /tmp/MOTQKIOCPm line 1:------> <BOL>⏏: role PNr {}; my Int $test = 99 does PNParse failed» | ||
sorear | n: role PNr {}; my Int $test = 99 does PNr; sub frob($a where .does(PNr)) { say "$a is PNr" }; frob($test); frob(99); | ||
p6eval | niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: Cannot use 'does' operator with an immutable object at /home/p6eval/niecza/lib/CORE.setting line 1435 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 1368 (infix:<does> @ 8)  at /tmp/c6RS17Pwkf line 1 (mainline @ 4)  at … | 02:04 | |
02:08
orafu joined
|
|||
cognominal | r: for 0..Code.^methods-1 { print "$_ "; try { print Code.^methods[$_] } } | 02:09 | |
p6eval | rakudo 220a69: OUTPUT«(signal SEGV)» | ||
cognominal | why am I so good at breaking things :( | ||
r: print Code.^methods[0] | 02:12 | ||
p6eval | rakudo 220a69: OUTPUT«(signal SEGV)» | ||
cognominal | r: say Code.^methods[0] | ||
p6eval | rakudo 220a69: OUTPUT«No such method 'gist' for invocant of type 'Sub' in sub say at src/gen/CORE.setting:7161 in block at /tmp/iTCfdex7tn:1» | ||
benabik | Hm. I guess the stringification bit for Code is a bit... broken. | ||
r: Code.methods[0].Str | 02:13 | ||
p6eval | rakudo 220a69: OUTPUT«No such method 'methods' for invocant of type 'Code' in block at /tmp/FuaLPyRT0k:1» | ||
benabik | r: Code.^methods[0].Str | ||
p6eval | rakudo 220a69: OUTPUT«No such method 'Str' for invocant of type 'Sub' in block at /tmp/hfll5DuXtK:1» | ||
02:13
OuLouFu left
|
|||
benabik | r: ~Code.^methods[0] | 02:13 | |
p6eval | rakudo 220a69: OUTPUT«(signal SEGV)» | ||
cognominal | nope, some Sub are not boxed | ||
but what is new to me is that it can crash rakudo | 02:14 | ||
02:14
kid51_ joined
|
|||
cognominal | in fact, I crashed rakudo when trying (sic) to discover what subs were not boxed | 02:15 | |
r: for 0..Code.^methods-1 { print "$_ "; try { say Code.^methods[$_] } } | |||
p6eval | rakudo 220a69: OUTPUT«0 1 2 3 4 5 6 7 arity8 count9 signature10 outer11 static_id12 of13 returns14 ACCEPTS15 Str» | ||
cognominal | When the try fail the Sub is not boxed | 02:16 | |
now I don't know where they are set. | |||
02:16
kid51 left
|
|||
cognominal | I am not to sure how to set -O0 to debug on my macbook. I will have to compile and debug on feather :( | 02:21 | |
benabik++ | 02:24 | ||
prefix + crashes on unboxed values | |||
two bugs for the price of one. | |||
benabik | r: +Code.^methods[0] | ||
p6eval | rakudo 220a69: OUTPUT«(signal SEGV)» | ||
benabik | Hopefully that's some boxing issue and not segfaults from Parrot's subs. | 02:25 | |
cognominal | well, I think rakudo code should protect against unboxed value | ||
*protect itself | 02:26 | ||
02:27
cognominal left
02:30
cognominal joined
02:35
kid51_ left
02:53
cognominal left
02:56
gootle joined
03:01
adu joined
03:03
cognominal joined
03:12
cognominal left
03:14
raiph left
03:16
adu left
03:18
cognominal joined
03:20
cognominal left
03:40
yarp joined
03:44
scott_ joined,
scott_ is now known as Guest66825
03:46
kaleem joined
|
|||
ingy | is "somesuchshizzle" a real word? | 03:56 | |
03:58
rking joined
|
|||
ingy | hi rking | 03:59 | |
rking | Howdy, ingus. =) | ||
ingy | nothing is currently going on at all | ||
here | |||
rking | That's an easy fix. | 04:00 | |
ingy | r: +Code.^methods[0] | ||
p6eval | rakudo 220a69: OUTPUT«(signal SEGV)» | ||
ingy | r: say 'hi rking' | 04:01 | |
p6eval | rakudo 220a69: OUTPUT«hi rking» | ||
rking | Wow, I didn't know about U+2424. A smart one. | 04:02 | |
ingy | p6eval: pugs: say 42 | ||
p6eval | ingy: pugs: OUTPUT«42» | ||
rking | What's the 220a69 about? Is that a persistent session? | ||
sorear | rking: Version number | ||
rking | Oh, hehe. | 04:03 | |
ingy | p6eval: help | ||
p6eval | ingy: Usage: <(star|pugs|nqp|b|std|niecza|rakudo|nom|npr|n|r|perl6|prn|rn|p|rnp|nrp|pnr|rpn|p6|nr)(?^::\s) $perl6_program> | ||
ingy | ☺ | ||
sorear | rking: hello! are you new here? | ||
ingy | hi sorear | ||
rking is my hacker guru of sorts | 04:04 | ||
rking | sorear: Yes. I'm only getting back into programming as of a few months ago, and my interest in Perl6 hasn't yet blossomed much. | ||
ingy | I just invited him here from #pegex | ||
rking | He always says that but all I did was hone in on a few principles back in the day and crammed them down his throat. I basically lucked out that the principles had some validity. | ||
yarp | r: say "good evening" | 04:05 | |
p6eval | rakudo 220a69: OUTPUT«good evening» | ||
04:07
skids left
|
|||
ingy | rking: we need to get uniscript and perl5i into the p6eval | 04:07 | |
sorear | were you at ye2012? | ||
ingy | sorear: rking's never been to a yapc, afaik | 04:08 | |
unless you were talking to me, in which case, no :[ | 04:09 | ||
sorear | I was being deliberately vague. | ||
rking | ingy: You're wrong actually. | ||
ingy | oh yeah? | ||
rking | ingy: We met before you know we met, YAPC 2000, Montreal. | ||
Urrr | |||
Monterey, CA | |||
ingy | I often am | ||
rking: that's oscon | 04:10 | ||
rking | Aha! | ||
ingy | or actually TPC | ||
the Perl Conference | |||
rking | Then that one. =) And then you're right that I've never been to one. | ||
TimToady | hmm, TPC was only ever in San Jose | ||
ingy | ok | ||
04:10
jaldhar_ joined
|
|||
sorear | well in 2000 I was not going to conferencez | 04:10 | |
ingy | I guess it became oscon in 2000 | ||
TimToady | 3rd year turned into OSCON | ||
sorear | (and people would have thought I was crazy if I had asked to go) | 04:11 | |
rking | sorear: People at your company you mean? | ||
ingy: But we did meet. I forget what you were talking about but it was really intense and detailed. | |||
sorear | rking: well, I was 10 at the time | ||
ingy | TimToady: I was giving mst lessons in language design today | ||
rking | sorear: Aha. =) | ||
TimToady tries to imagine mst as an acmeist and fails | 04:12 | ||
ingy | TimToady: he's not one, but he has done more for acmeism in the past months that anyone | 04:13 | |
he's great to have on your side | |||
mst++ | 04:14 | ||
sorear | I may have been to Monterey once or twice. | ||
ingy | we cranked out yet another acmeist data language | 04:15 | |
rking: Monterey 2k was my first Perl conf | |||
sorear | ingy: rking: ye2012 was my first | ||
ingy | sorear: I am very sorry to have missed it then | ||
sorear: are you still somewhere in california? | 04:16 | ||
sorear | let me check | ||
ingy | :D | ||
rking | Random question: What's the bleeding edge of Perl live coding environments? I'm thinking Smalltalk+Lisp+Factor+etc. | ||
sorear | seems so. | ||
rking | Emphasis on capitalizing on the greater data set available at run-time vs. edit-time, on blurring the line between a user and a programmer, and on integrating with existing file-based coding systems. | 04:17 | |
ingy | rking: #perl6 ;) | ||
sorear | ingy: so moritz++ was scheduled to talk to give a talk about exceptions at ye12 | 04:18 | |
ingy: but he has a last minute tuit reassignment, so jnthn++ had to step up | |||
ingy | sorear++ | 04:19 | |
sorear | ingy: but then half way though he went "now I'm going to hijack this talk to show everyone a Perl 6 debugger I wrote in secret last week" | ||
you had to have been there. | |||
rking | sorear: Is it public? The tool. | ||
sorear | github.com/jnthn/rakudo-debugger | 04:20 | |
sorear wonders if rking is somewhere in CA | 04:21 | ||
rking | sorear: Nope. Texas headed to Kansas. | ||
04:21
jaldhar_ is now known as jaldhar
|
|||
sorear | rking: do you think you might make austin 2013? | 04:22 | |
ingy | rking: wtf's in kansas? | ||
New Lubbock, KS ?? | 04:23 | ||
rking | sorear: I could probably do that. I'll try for it. =) | 04:25 | |
ingy: Not much. Just a better gig than what I have now. | |||
04:26
adu joined
04:48
kaleem left,
kaleem joined
04:58
adu left
|
|||
moritz | good morning | 05:03 | |
LlamaRider | good morning moritz | 05:04 | |
sorear | o/ | 05:07 | |
05:20
tipdbmp left,
tipdbmp joined,
tipdbmp left,
tipdbmp joined
05:42
hanekomu_ left
06:11
stepnem joined
06:13
marmay joined
|
|||
Teratogen | everything is going the way of the cell phone and the tablet computer | 06:17 | |
how is Perl 6 going to address this fact? | |||
Teratogen seriously wants know | |||
err | |||
s/cell phone/smart phone/ | |||
sorry 'bout that | |||
bonsaikitten | Teratogen: it'll just run the same on all platforms | 06:19 | |
I fail to see how a portable computer with a phone app is a special case | |||
Teratogen | well, I want to write android apps in Perl 6 | ||
what do you think of THOSE apples, eh? | |||
tadzik | if we run on JVM, that may be possible in some way | 06:20 | |
Woodi | marning | ||
tadzik | good morning #perl | ||
6 | |||
Woodi | but is app for android much different then for linux ? | 06:21 | |
sorear | Woodi: iiuc, yes. | ||
Teratogen: do you remember perlito? | |||
tadzik: morning! | |||
tadzik | morning! | 06:22 | |
sorear: I got a round to try Bailador on niecza. It's quite stunning | |||
bonsaikitten | Woodi: android is a java-ish dialect | 06:25 | |
06:25
yarp left
|
|||
sorear | Woodi: the android ecosystem frowns on creating Linux binaries, wants you to write Java classes instead | 06:27 | |
the rakudo folks are talking about JVM as the next backend, so. | |||
Woodi got shivers...... | |||
I hear Java lastly was nicely bugged :) | 06:28 | ||
but returning to Parrot: I was sure Perl6 should always be main concern for Parrot... that universal-dynamic-language-vm should be second... IMO | 06:31 | ||
06:32
wk joined
06:34
mtk left
06:36
FROGGS__ left
06:37
FROGGS_ left
|
|||
sorear | Woodi: perl 6 does not exist for the benefit of parrot | 06:38 | |
tadzik: oh? | 06:40 | ||
Woodi | I was sugesting the other way,,, | ||
sorear | Woodi: it does not follow that rakudo needs to use parrot, exclusively or otherwise | 06:42 | |
Su-Shee | verybody runs on the jvm these days so why not perl6 too.. | 06:43 | |
+e | |||
good morning everyone. | |||
sorear | morning Su-Shee | ||
Woodi | o/ | ||
Teratogen | why cannot Perl 6 run on JVM? | 06:47 | |
Woodi | Teratogen: who say that ? :) | 06:48 | |
sorear | Teratogen: it can, is your memory acting up again? | 06:50 | |
Teratogen | I guess =) | 06:51 | |
06:51
FROGGS joined
|
|||
sorear | there are already reasonably complete perl 6 implementations running on .net, Javascript, Parrot, and GHC | 06:51 | |
06:51
FROGGS__ joined
|
|||
FROGGS | good morning! | 06:51 | |
sorear | there is no reason it could not run on JVM too. | 06:52 | |
Su-Shee | sorear: you're still counting the js experiment or is there a new one? :) | ||
sorear | and pmichaud et al have explicitly picked JVM as Rakudo's next target | ||
Su-Shee: I'm speaking of perlito | |||
my js experiment was never "reasonably complete" | |||
Su-Shee | sorear: what was your called? | 06:53 | |
yours | |||
sorear | working name niecza/js | 06:54 | |
Su-Shee | hm, then I have another one in mind.. | ||
sorear | there was at one point an experimental js pugs backend | ||
also, several times I have seen threats to use enscript with p6 | 06:55 | ||
Su-Shee | well I basically don't care for the backend, but after looking into clojure a little, I think the idea of being able to incorporate any Java thing I'd like to use within in a nicer programming language is amazing. and very practical as the Java world really has done its homework when it comes to libs and tools and frameworks.. | 06:57 | |
Woodi | Su-Shee: much more then homework :) they invested into it from the start (GUI, HTTP) and later (BIG business-stuff)... | 07:00 | |
07:02
brrt joined
07:17
sirrobert left
07:27
kresike joined,
FROGGS left,
FROGGS__ left,
FROGGS__ joined
|
|||
kresike | good morning all you happy perl6 people | 07:27 | |
07:32
fhelmberger joined
07:36
kenjiskywalker left
07:37
kenjiskywalker joined
|
|||
bonsaikitten | Su-Shee: hmm. I would claim that the java people are about the worst when it comes to build systems and packaging | 07:38 | |
sorear | o/ kresike | ||
LlamaRider | bonsaikitten: you don't like the simplicity of JARs? | 07:39 | |
bonsaikitten | LlamaRider: what's simple about a messed up zipfile? | ||
LlamaRider: the best way to process JARs is to use zip and some shell magic because the jar tool can't do some operations | 07:40 | ||
tadzik | that discussion rings a bell | ||
LlamaRider | I miss having a JAR-like thing for Perl. Sometimes you just want an application fast and don't want to go through any hurdles to get it deployed on your machine and then quickly wiped out. | 07:41 | |
and you want average Joe to have the same experience on his machine | 07:42 | ||
sorear | never mind the unix stupidity where you can't treat a zip file safely and transparently as its contents | ||
bonsaikitten | LlamaRider: it's called cpan | 07:43 | |
07:43
hoelzro|away is now known as hoelzro
|
|||
LlamaRider | bonsaikitten: that's great for devs, pretty painful for simple users | 07:43 | |
sorear | cpan used to be hell on new machines | ||
Su-Shee | bonsaikitten: I'm not talking about build systems and packaging but about what libs and modules and frameworks they've created - the amount and usefulness easily rivals CPAN. _And_ they took care of all the "boring shit" modules you're going to need at some point - SSL, r/w Excel files, parse broken CSV and so on. | ||
bonsaikitten | sorear: that sounds like lots of complication for little gain | ||
mhasch | LlamaRider: would that Jar-like thing not be PAR? | ||
LlamaRider | mhasch: does PAR work reliably? | 07:44 | |
actually is it alive at all? | |||
bonsaikitten | LlamaRider: hmm? where's the difference? "giev app" vs. download different crap from 30 locations | ||
I'll take cpan over wget any day | |||
LlamaRider | so would I | ||
but I love grabbing a JAR clicking twice and having Minecraft open | 07:45 | ||
it's just simple | |||
bonsaikitten | no, it's not | ||
but then I guess I'm lame because I want to have all such stuff managed by a sane package manager | |||
"giev miencraft" and there it is, nothing to worry for me | |||
sorear | which system is giev for? | 07:46 | |
LlamaRider | if you are selling a product to a consumer, sometimes you want to have really *everything* under control. So bundling the entire shebang together is great. | ||
Timbus | PAR works... | 07:47 | |
so does cava. | |||
cava makes an installer, actually. so, eh | |||
LlamaRider | if PAR works I am throwing a party :D | ||
Timbus | it does. it even bundles in a perl interpreter and makes it into an exe | 07:48 | |
or binary | |||
if you want | |||
LlamaRider | sweet | ||
on-topic: keep that for perl6 :) | 07:49 | ||
07:50
xinming_ joined
|
|||
Woodi | returning to parrot again: parrot-devs looks to be optimistic that concurrency will land soon. any info how good/bad it can be ? | 07:50 | |
brrt | Woodi: whatyawannaknow | ||
kresike | hello sorear o/ | ||
sorear | it is "interesting" concurrency | ||
brrt | i think so | ||
sorear | related to the actor model | 07:51 | |
brrt | basically, its like this | ||
interpreters are thread-local | |||
objects are bound to interpreters (and threads) | |||
if you share an object between threads | |||
sorear | it might work well, but it will require some odd gymnastics to use in languages | ||
brrt | then only the 'owner' thread will have write access | 07:52 | |
the rest can write, but only by sending a task to the owner thread | |||
this is accomplished by a proxy object | |||
07:53
xinming left
|
|||
sorear | so, for instance, parrot's new threads are probably not very useful for @foo>>.method | 07:53 | |
Timbus | so its like when i pass methods back to the main thread loop in a UI application | 07:54 | |
Woodi | can interpreter create threads/actors for himself ? | 07:55 | |
Timbus | i am okay with this actually it seems fairly sane | ||
Woodi | or thread == interpreter ? | 07:57 | |
08:05
FROGGS joined
|
|||
Woodi | hmm, that means build-in atomicicity :) | 08:06 | |
08:07
leont joined
08:12
mucker joined
|
|||
sorear | yay mono assertion failures | 08:13 | |
08:20
Psyche^ joined
08:23
Patterner left,
Psyche^ is now known as Patterner
|
|||
FROGGS | tadzik: would you mind that I add the tmpdir functionality (File::Spec) to your File-Tools repo? | 08:25 | |
tadzik | FROGGS: not at all | ||
FROGGS | k | ||
tadzik | but but | ||
FROGGS | great | ||
ya? | |||
tadzik | there were plans to split Shell::Command and File::Find | ||
FROGGS | k | ||
tadzik | will come back to it later & | ||
FROGGS | so I make a new project | ||
sorear | filed | 08:26 | |
dalek | ecza: c592587 | sorear++ | lib/ (4 files): Change constant table to use instance fields By allowing different loads of the same load module to have independent constant tables, this is the first step towards allowing concurrent use of compartments in the same kernel instance. |
08:32 | |
sorear | sleep& | ||
masak | morning, #perl6 | 08:36 | |
hoelzro | o/ masak | ||
FROGGS | hi masak | ||
masak writes up a mini-challenge for today | |||
tadzik | FROGGS: ok I'm here | 08:38 | |
so, me, and a few confused people too think that File::Tools should be shed to pieces | 08:39 | ||
and those pieces to be released as separate projects | |||
now people can't find neither File::Find nor Shell::Command | |||
masak | granularity++ | ||
tadzik shudders every time he adds a new dep to Panda | |||
masak | oh, *that* was why. | 08:40 | |
I can see that being a reason, but it doesn't feel like a very strong reason. | 08:41 | ||
tadzik | right | ||
well, that wasn't the reason really | |||
tadzik looks at the git history | |||
so it used to be File::Copy, File::Mkdir and File::Find in one repo | 08:42 | ||
github.com/tadzik/perl6-File-Tools...365c15eca8 | |||
08:44
dakkar joined
|
|||
leont | tadzik: welcome to toolchaining | 08:47 | |
08:50
xinming joined
|
|||
masak | today's mini-challenge: gist.github.com/3712987 | 08:51 | |
08:53
xinming_ left
|
|||
tadzik | oh, leont, good to see you | 08:58 | |
I was thinking about this custom build routines yesterday, for the module ecosystem | |||
I sketched out something along this: gist.github.com/3709444 So extending the module installer's behaviour | 08:59 | ||
so when it installs stuff, it looks for Build.pm, loads it if it's there, and then uses its build/test/install methods, if they're there | |||
leont: what do you think? | 09:00 | ||
leont | I think that on the long term you want a make like system | ||
moritz | whatever you do, please make sure that providing a custom Build.pm doesn't mean you have to reimplement the build steps that you want to leave untuched :-) | 09:01 | |
leont | Inversion of control is a very good thing in builders, because it allows you to easily extend things | ||
tadzik | yes, I'm keeping that in mind :) | ||
leont | Including what moritz just said | 09:02 | |
tadzik | in the Build.pm I thought of, you _can_ extend several build steps, but you don't have to | ||
in the simpliest case, you don't have to do anything at all | |||
once you need some fancy stuff, you handle it yourself | |||
leont | paste? | 09:03 | |
tadzik | gist.github.com/3709444 | ||
leont | Things is, what if someone wants to change how something is compiled | 09:04 | |
Then you're screwed in that system | |||
tadzik | why? | ||
leont | Because code is a lot harder to modify than data | 09:05 | |
09:05
FROGGS__ left
09:06
FROGGS__ joined
|
|||
tadzik | hm, well | 09:06 | |
dalek | kudo/nom: f3e1c3f | jonathan++ | src/Perl6/Grammar.pm: Liberalize checking of whether we are in a proto. |
||
kudo/nom: e067a34 | jonathan++ | src/ (3 files): First cut of more complex proto bodies. Caveats: optimizer not aware of the non-onlystar case yet, and can't put {*} in nested blocks in the proto. |
|||
kudo/nom: e1bd5c9 | jonathan++ | src/ (4 files): Mark onlystar protos. |
|||
kudo/nom: 3b9fc15 | jonathan++ | src/Perl6/Optimizer.pm: Don't optimize away the proto in the non-onlystar case. |
|||
kudo/nom: 15bdbb4 | jonathan++ | src/Perl6/Actions.pm: Auto-generated proto also needs to be marked as onlystar. |
|||
tadzik | okay, what's the use case? doing perl6 -O2 for some files and perl6 -O0 for another? | ||
ie what do you mean by "change the way files are compiled" | |||
leont | I mean that you don't know in advance what people will want to do | 09:07 | |
You can't | |||
tadzik | sure | ||
that's why I wanted to make them able to write code rather than write metadata. Data is limiting, code's not | |||
exactly because people will need things I didn't think of | 09:08 | ||
FROGGS | why have a case where we compile everything static instead of shared objects for example | ||
the best way IMO is that you _can_ overwrite every method that panda calls, like compile_file( $file, $dest, $whatever ) | 09:09 | ||
but you dont have to | |||
leont | This is a prototype I have (in perl5): paste.scsys.co.uk/207622 | 09:10 | |
FROGGS | and you can call something like SUPER::compile_file to jump to pandas sub, if you just need to do something special right before the usual code | ||
leont | One nice trait is that one paragraph creating a .pm file will automatically result in the other processing it, for example. | 09:11 | |
The order of the paragraphs doesn't affect this trait, they're completely independent (except the last one, but that could be rewritten independent too) | |||
09:14
mdupont left
|
|||
brrt | i thought ionmonkey was in production by now | 09:15 | |
09:18
wamba joined
09:19
tomaw left,
dayangkun left
|
|||
FROGGS | tadzik: I think the first step would be to design the single steps panda needs to do that might be of interest to handle in a custom Build.pm | 09:20 | |
then we might need to extend the metadata for the module (in what dirs it has to look for files for example) | 09:21 | ||
09:21
dayangkun joined
|
|||
FROGGS | adding build steps for systems like macosx might also be handy | 09:22 | |
09:24
mdupont joined
09:25
tomaw_ joined
|
|||
moritz | for $work I'm now looking at merging tickets in OTRS, and I can't help to notice some similarities to inheritance and role composition | 09:30 | |
s/to/but/ | |||
masak | what kind of similarities? | ||
09:31
tomaw- joined
09:32
eternaleye left
|
|||
moritz | well, basically there are two things you can do | 09:32 | |
if you merged A into B and B into C, then the result is a tree of merged tickets, much like inheritance | 09:33 | ||
otoh some resources get copied flatly along the merge direction (or should :-) | |||
much like role composition | |||
09:35
tomaw- is now known as tomaw
|
|||
masak | well, the "link vs copy" thinking comes back in DDD when thinking about aggregates, too. | 09:35 | |
aggregates tend to favor duplication and eschew links. | |||
dalek | kudo/nom: 4e07a76 | (Gabor Szabo)++ | / (2 files): change most of the Test.pm functions to return their truth value and test this in the sanity test |
09:36 | |
kudo/nom: 61807a6 | (Gabor Szabo)++ | t/01-sanity/99-test-basic.t: enable some commented out sanity test |
|||
kudo/nom: 792c782 | (Gabor Szabo)++ | / (2 files): fix the rest of the Test functions to return their truth and test them |
|||
kudo/nom: ab08176 | (Gabor Szabo)++ | / (8 files): merge from upstream and add the additional test cases |
|||
kudo/nom: 51435bd | moritz++ | / (2 files): Merge branch 'nom' of github.com/szabgab/rakudo into nom |
|||
kudo/nom: 2ee2701 | moritz++ | / (13 files): Merge branch 'nom' of git://github.com/rakudo/rakudo into nom |
|||
09:39
tomaw_ left
09:53
xinming left
09:54
dayangkun left,
qinghandebaba joined
09:55
xinming joined
|
|||
dalek | kudo/nom: 0af9e7b | (Gerhard R)++ | src/binder/container.c: Rename typename to type_name, which isn't a C++ keyword |
09:59 | |
kudo/nom: 8e2134e | (Gerhard R)++ | src/ (3 files): Add pointer casts to quiet warnings |
|||
kudo/nom: 2f06eb0 | (Gerhard R)++ | src/binder/ (2 files): Add parens to quiet precedence warnings |
|||
kudo/nom: 1007273 | moritz++ | src/ (5 files): Merge pull request #80 from gerdr/gerdr/warnings Quiet some gcc warnings |
|||
10:01
mdupont left
10:03
Exodist left,
Exodist joined
10:08
hypolin left
10:10
leont left
10:14
Guest66825 left
10:27
daxim joined
10:30
spider-mario joined
10:50
xinming_ joined
10:53
xinming left
10:57
crab2313 joined
10:58
wk_ joined,
wk left
11:01
yarp joined,
brrt left
|
|||
LlamaRider | the abstract syntax actions in P6 grammars confuse the heck out of me. Is there a handy reference on them? | 11:02 | |
abstract syntax trees* | 11:03 | ||
11:05
gootle left,
Su-Shee_ joined
|
|||
LlamaRider | most revealing intro I read so far was in masak's blog, but I am still lacking more ambitious examples on how to manipulate them in grammar actions. | 11:06 | |
11:09
kaleem left,
kaleem joined,
Su-Shee left
|
|||
masak | LlamaRider! \o/ | 11:10 | |
11:10
Su-Shee_ is now known as Su-Shee
|
|||
masak | LlamaRider: I think you need to ask a more specific question. I agree that information is scattered and could be collected in one place. | 11:10 | |
LlamaRider | I think my confusion is not with AST as a concept, but with the .ast method in particular | 11:12 | |
masak | ok, let's start there, then. | 11:13 | |
LlamaRider | there seems to be some interplay with using "make" in grammars and then retrieving what was returned by .ast | ||
masak | indeed. | ||
"make" sets $/.ast | |||
LlamaRider | grammar actions that is | ||
masak | r: grammar G { regex TOP { { make 42 } } }; G.parse(""); say $/.ast | ||
p6eval | rakudo 100727: OUTPUT«42» | ||
hoelzro listens up | |||
LlamaRider | what does this "make" stand for? | 11:14 | |
it's too vague to figure out | |||
hoelzro | masak: it's not typical to put the actions directly in the grammar, right? | ||
you usually have an actions class? | |||
masak | sure. | 11:15 | |
that's by convention only, though. | |||
moritz | rakudo didn't support inline 'make' for a long time | ||
LlamaRider: it sets the .ast attribute of the current match object | |||
hoelzro | so basically sub make($value) { $/.ast = $value }? | 11:16 | |
LlamaRider | ok, so one point of confusion is that .ast does not really return an "abstract syntax tree", I could literally stuff anything in there | ||
masak | hoelzro: kinda. the $/ is a lexical, not a global. | ||
hoelzro | masak: oh, ok | ||
masak | LlamaRider: yes, but it's meant to contain an AST of some kind. | ||
LlamaRider | ok, so there is no structure imposed by design | 11:18 | |
that is what I was wondering about - if I need to create specific structures or expect some magic AST object | |||
moritz | well, the Match objects have a certain structure (depending on your regex), and you can attach an AST object to any level | ||
LlamaRider | which leads to my next query; if I have -- " token foo { <bar> <baz> } " can I access something like $<bar>.ast in the action for foo? | 11:20 | |
masak | wow, you can do HEAD@{5 minutes ago} in git. did not know that. | ||
LlamaRider: yes, absolutely. | |||
11:21
dayangkun joined
|
|||
LlamaRider | masak: ok, now I can try the first approach to your teaser task then :) thanks | 11:21 | |
masak | LlamaRider: that's the idea, even. to combine the ASTs of child nodes into bigger ASTs on the way up through the recursive descent. | ||
LlamaRider: ooh! | |||
LlamaRider | already posted a solution using the second one, but it feels dumb | ||
masak | the task as such has been up for discussion now and then on the channel. | ||
but I'm not aware that I've seen a solution to it. | |||
LlamaRider | are we talking about the same thing? gist.github.com/3712987 | 11:22 | |
masak | yeah, the second approach feels like not taking advantage of information from the parse. | ||
hoelzro | masak: in the token foo example, you'd probably do something like make FooToken.new(:bar($<bar>.ast), :baz($<baz>.ast)), right? | ||
masak | LlamaRider: yeah, today's mini-challenge :) | ||
moritz | masak: 'man git-rev-parse' is a relevation :-) | ||
dalek | rlito: d0f534c | (Flavio S. Glock)++ | / (4 files): Perlito5 - javascript - glob assignment fix |
11:24 | |
11:24
JimmyZ joined
|
|||
masak | moritz: yes, well. I'm reading www.kernel.org/pub/software/scm/git...sions.html now. | 11:26 | |
wow, apparently the brace syntax is used for a number of things. | 11:27 | ||
moritz | ah yes, man git-rev-parse contains that | ||
11:30
crab2313 left
11:36
lorn_ joined,
TimToady_ joined
11:37
spider-mario_ joined,
mucker_ joined,
obra_ joined,
sergot_ joined,
orevdiabl joined,
gfldex_ joined
|
|||
LlamaRider | are we talking about the same thing? gist.github.com/3712987 | 11:40 | |
oops, sorry | |||
11:42
spider-mario left,
mucker left,
kresike left,
obra left,
revdiablo left,
sudokode left,
gfldex left,
sergot left,
lorn left,
TimToady left
11:44
mucker_ left,
mucker joined
11:45
Pleiades` left
11:46
wamba left
11:49
zamolxes left,
rsimoes left,
Pleiades` joined,
zamolxes joined
11:50
xinming joined,
groky left,
sjohnson left,
broquain1 joined,
REPLeffect left
11:51
REPLeffect joined,
groky joined
11:52
snarkyboojum left
11:53
Vlavv_ left,
erkan left,
xinming_ left
11:54
robins joined,
broquaint left,
robinsmidsrod left,
robins is now known as robinsmidsrod
11:55
snarkyboojum joined,
Vlavv_ joined
11:56
erkan joined,
erkan left,
erkan joined
11:57
REPLeffect left,
FROGGS__ left
|
|||
LlamaRider | I have <foo>? , how can I check in a grammar action whether $<foo> was matched? Is that variable always defined, even if no match occurred ? | 11:57 | |
11:58
Util left
|
|||
moritz | $<foo> will be an array with 0 or 1 element | 11:58 | |
so a simple if $<foo> { } does what you want | 11:59 | ||
11:59
FROGGS__ joined
|
|||
LlamaRider | ok, so my bug is trickier, thanks | 11:59 | |
moritz | (note that this is about to change, and $<foo> will be either a Match object or Nil, but the 'if' will still work) | ||
jnthn | r: my $x = "alpha\n beta\n gamma\ndelta\n epsilon\n zeta\n"; grammar Indentation { token TOP { <spaced(0)>* }; token spaced($sp, $s = ' ' x $sp) { $s (\N+) \n <spaced($sp + 2)>* } }; say Indentation.parse($x, actions => class { method TOP($/) { make $<spaced>>>.ast }; method spaced($/) { make $<spaced> ?? ~$0 => [ $<spaced>>>.ast ] !! ~$0 }; }).ast.perl; | 12:01 | |
p6eval | rakudo 100727: OUTPUT«$("alpha" => ["beta", "gamma"], "delta" => ["epsilon" => ["zeta"]])» | ||
jnthn | masak: ^ what you wanted? | ||
12:04
rsimoes joined,
Util joined
|
|||
LlamaRider | ok, so my bug is trickier, thanks | 12:04 | |
argh, not again :( | |||
masak | jnthn: yes, that looks like exactly what I wanted. | ||
LlamaRider | jnthn, awesome, i stared for 2 minutes and understood 30% :D | ||
masak | I tried to use parameterized grammar rules yesterday, and completely failed at it. | 12:05 | |
glad to know that idea wasn't insane, then :) | |||
jnthn++ | |||
jnthn | Another masak challenge solved in a single line on IRC :P | ||
masak | :) | ||
frettled | Ow, my brane. | 12:07 | |
jnthn | The bf interp I did in as many chars woulda been *worse* for your brane :P | ||
arnsholt | jnthn++ indeed | 12:09 | |
frettled | jnthn: stop stop stop .) | ||
arnsholt | I wonder how far that gets you towards a Python parser =D | ||
masak .oO( because Python is all Greek, too? ) | 12:11 | ||
12:13
kresike joined
12:17
spider-mario_ left
|
|||
arnsholt | To a Perl programmer, it certainly is all Greek ;) | 12:17 | |
12:18
wamba joined,
masak_ joined,
estrai_ joined
12:19
mtk joined
|
|||
LlamaRider | I bet Greek Perl programmers disagree | 12:21 | |
masak_ | freenode is having some trouble presently, it seems... | ||
daxim | ololol packets | 12:22 | |
12:22
pjcj_ joined
12:23
JimmyZ_ joined
|
|||
JimmyZ_ | token can have arguments? I never see it in std :) | 12:23 | |
12:23
yeltzooo7 joined
|
|||
masak_ | JimmyZ_: I think it's in there somewhere. | 12:23 | |
12:23
topo__ joined
|
|||
JimmyZ_ | rn: my $x = "alpha\n beta\n gamma\ndelta\n epsilon\n zeta\n"; grammar Indentation { token TOP { <spaced(0)>* }; token spaced($sp, $s = ' ' x $sp) { $s (\N+) \n <spaced($sp + 2)>* } }; say Indentation.parse($x, actions => class { method TOP($/) { make $<spaced>>>.ast }; method spaced($/) { make $<spaced> ?? ~$0 => [ $<spaced>>>.ast ] !! ~$0 }; }).ast.perl; | 12:23 | |
p6eval | rakudo 100727: OUTPUT«$("alpha", " beta", " gamma", "delta", " epsilon", " zeta")» | 12:24 | |
..niecza v21-2-gc592587: OUTPUT«["alpha", " beta", " gamma", "delta", " epsilon", " zeta"]» | |||
JimmyZ | token can have arguments? I never see it in std :) | 12:25 | |
12:25
masak left,
estrai left,
yeltzooo left,
nebuchadnezzar left,
fhelmberger left,
pjcj left,
topo left
12:26
nebuchadnezzar joined
|
|||
JimmyZ_ | JimmyZ: who are you | 12:26 | |
12:27
masak_ is now known as masak,
JimmyZ left,
JimmyZ_ is now known as JimmyZ
12:29
fhelmberger joined,
jaldhar left,
daxim left
12:30
jaldhar joined,
topo__ is now known as topo
12:32
PacoAir joined
12:34
eiro_ left,
eiro__ joined
12:35
LlamaRider left
12:36
fhelmberger_ joined,
gfldex_ is now known as gfldex
12:37
topo__ joined
12:38
daxim joined
12:42
fhelmberger left,
eiro left,
topo left,
dayangkun left,
eiro joined,
jaldhar left,
jaldhar joined,
dayangkun joined
12:44
wamba left
12:47
sftp_ joined,
topo__ is now known as topo
12:48
arnsholt_ joined,
clkao_ joined,
benabik left,
BinGOs_ joined,
Su-Shee_ joined
12:49
mst left,
pnu_ joined,
mst___ joined,
moritz__ joined,
zamolxes_ joined,
mucker_ joined,
ruoso_ joined,
jnthn_ joined,
xinming left
12:50
xinming joined,
BinGOs left
12:51
BinGOs_ is now known as BinGOs,
BinGOs is now known as 14WAAERGK
12:52
14WAAERGK is now known as BinGOs,
BinGOs left,
BinGOs joined,
robinsmidsrod left,
sftp left,
jnthn left,
sorear left,
moritz left,
Su-Shee left,
arnsholt left,
cxreg left,
ruoso left,
zamolxes left,
clkao left,
pnu left,
mucker left,
cxreg joined
|
|||
JimmyZ | masak: you're right, I didn't realize it | 12:52 | |
12:53
robinsmidsrod joined,
adu joined,
jnthn_ is now known as jnthn
12:54
avarab joined
12:55
spacebat_ joined,
Gruber joined
|
|||
daxim | I made a distro upgrade and now am able to use libicu49 | 12:56 | |
I can install native parrot/rakudo packages | |||
masak | JimmyZ: the nice realization here is that grammar rules are a kind of methods. | ||
12:56
[Coke]_ joined,
shachaf_ joined
12:57
sorear joined,
mdupont joined
|
|||
JimmyZ | masak: yes, I know. I didn't know argment can be regex and insided in token | 12:59 | |
masak | I believe it was an addition to S05 after it was created, but I'm not 100% sure. | 13:01 | |
13:02
sudokode joined,
[Coke] left,
spacebat left,
Grrrr left,
shachaf left,
avar left
|
|||
kresike | the freenode network is slowly morphing into a notwork | 13:04 | |
13:04
fgomez left
13:05
atrodo joined
|
|||
masak | IRC is hard, let's go shopping! | 13:09 | |
13:09
xinming left
13:10
moritz__ left
13:11
ilogger2 joined,
ChanServ sets mode: +v ilogger2,
krunen joined,
xinming joined
13:12
Util_ joined
|
|||
adu | masak++ | 13:13 | |
13:14
perigrin joined,
yves_ joined,
eiro_ joined
13:15
LoRe left
13:16
LoRe joined,
skids joined
13:19
arnsholt joined
13:24
arkydo joined,
fgomez joined
|
|||
mucker_ | is it theorectically possible to write a parser for perl6 using recursive descent technique ?? | 13:26 | |
masak | mucker_: STD.pm6 is a recursive-descent parser. | 13:28 | |
jnthn | modulo a little LTM ;) | ||
masak | mucker_: the parsers you get from grammars written in Perl 6 are recursive-descent parsers. | ||
arnsholt | And EXPR | ||
masak | true on both counts. | 13:29 | |
but the basic idea is still very much recursive-descent, if you ask me. | |||
jnthn | But yeah, it's rec desc for the main structure of the program for sure. | ||
mucker_ | cool | ||
13:30
Gothmog__ joined
13:31
FROGGS_ joined
|
|||
tadzik | hmm hmm | 13:31 | |
PerlJam | mucker_: I tend to think of parsers written in Perl 6 grammars as modal. For the main structure you get recursive descent, but then once you hit a certain "level", the parser switches modes and starts doing operator precedence parsing. (for instance) | 13:32 | |
tadzik | it just occured to me that formatting code in Pod tables should not be that hard to implement | ||
arkydo | Where can I find a good intro tutorial about perl6? | 13:33 | |
tadzik | or maybe | ||
PerlJam | mucker_: reality is generally more complicated though. You can have any number of "modes" by having parsers that call into each other. :-) | ||
mucker_ | arkydo: wikibooks worked well for me en.wikibooks.org/wiki/Perl_6_Programming | 13:34 | |
PerlJam | arkydo: If you already know Perl 5, there's moritz's articles perlgeek.de/blog-en/perl-5-to-6/ | ||
masak | TIL: you can compile .c files with `make` but without a Makefile: www.hackerschool.com/blog/7-unders...g-assembly | ||
arkydo: check out perl6advent.wordpress.com/ | 13:35 | ||
13:36
Gothmog_ left,
Gothmog__ is now known as Gothmog_
|
|||
arkydo | thanks, for the recommandations, I will check them out. | 13:37 | |
13:38
kst joined,
aloha joined,
mucker joined
13:39
GlitchMr joined
13:42
tokuhiro_ joined
13:51
arkydo left
13:58
sjohnson joined
13:59
M_o_C joined
14:00
FROGGS_ left
14:01
FROGGS__ joined
14:08
mst joined
|
|||
masak | ...and the dust settles, and freenode is back to normal. (hopefully) | 14:09 | |
14:09
stopbit joined,
FROGGS__ left
14:10
flightrecorder joined,
xinming_ joined
14:13
FROGGS_ joined,
xinming left
14:14
yarp joined
|
|||
FROGGS_ | is there a recommendation about *.pm or *.pm6 files? what should somebody use? | 14:18 | |
14:18
bluescreen10 joined
|
|||
hoelzro prefers .mp6 | 14:18 | ||
er, .pm6 | |||
tadzik | I prefer .pm | ||
hoelzro | otherwise I constantly have to tell Vim "hey, this is Perl 6!" | ||
tadzik | :) | ||
hoelzro | tadzik: why is that? | ||
tadzik | also, .pl not .pl6 | 14:19 | |
hoelzro: it's one character less, obviously :) | |||
and I don't use syntax hilighting anyway | |||
PerlJam | .pl is still "prolog" in my head :) | ||
FROGGS_ | .pl and .pm has the advantage that all system know its a perl file | ||
tadzik | and when I did, I just told vim that all my perl is perl 6 and it believed me | ||
hoelzro | I use .p6 | ||
masak | I prefer .pm too. mostly because I started calling them that and see no reason to change. | ||
hoelzro | for scripts | ||
masak | I prefer scripts to have no extension. | ||
extensions are for Windows users. | 14:20 | ||
:) | |||
hoelzro | heh | ||
PerlJam | hoelzro: why can't vim read the #! line and figure out that it's perl6 ? :) | ||
hoelzro | well, I would like some advice on how to tell Vim and ack that those files are Perl 6 =) | ||
PerlJam: but modules shouldn't have #!, right? | |||
FROGGS_ | right | ||
PerlJam | hoelzro: why can't vim read the first N lines of the file and look for the "use v6" or "module"? | 14:21 | |
:) | |||
hoelzro | PerlJam: that shouldn't be too hard | 14:22 | |
getting ack to do that is a little more complicated =) | |||
daxim | PerlJam, report here: github.com/petdance/vim-perl | ||
skids | tadzik: I believe github.com/skids/perl6sum should be ecosystem-friendly now. | 14:23 | |
14:25
wamba joined
|
|||
tadzik | skids: yep, looks good | 14:26 | |
care to send a pull request? | |||
you want to add a path to raw META.info to github.com/perl6/ecosystem/blob/ma.../META.list | |||
skids | OK, I'll do that after work. Thanks, tadzik++ | 14:27 | |
dalek | osystem: 5845251 | (Конрад Боровски)++ | META.list: Add Sum module by skids |
14:31 | |
tadzik | awesome :) | ||
GlitchMr | It might take a while to modules.perl6.org to update, but it's possible to install it now using Panda | 14:33 | |
(well, at least I think so) | |||
tadzik | not yet | ||
now it is | 14:35 | ||
skids | BTW, if anyone needs any particular type of checksum added, let me know. Not that I read my email often enough. For now, I'm staying away from strong crypto, though. | ||
FROGGS_ | rqn: say $*OS | ||
:/ | |||
tadzik | skids: how about adding the existing Digest::lalala as possible backends? | ||
masak | skids++ | ||
tadzik | we seem to have quite a few checksum modules now | ||
skids | I'll look at integrating those, sure. | 14:37 | |
moritz | r: say nqp::p6box_s nqp::sha1('foo') | ||
p6eval | rakudo 100727: OUTPUT«0BEEC7B5EA3F0FDBC95D0DD47F3C5BC275DA8A33» | ||
tadzik | skids: that'd be awesome :) | ||
skids++ | |||
GlitchMr | r: say nqp::p6box_s nqp::sha1 'foo' | ||
p6eval | rakudo 100727: OUTPUT«0BEEC7B5EA3F0FDBC95D0DD47F3C5BC275DA8A33» | ||
GlitchMr | Shouldn't modules with nqp:: or pir:: be Parrot modules, not Perl 6 modules? | 14:38 | |
moritz | parrot doesn't know about nqp:: | 14:39 | |
tadzik | Parrot modules aren't easily usable from Perl 6 | 14:40 | |
GlitchMr | s/Parrot/Rakudo/ | ||
lol | |||
tadzik | ah :) | ||
well, well | |||
GlitchMr | Technically, they could only work with Perl 6 implementations using Parrot | ||
That would be only Rakudo | |||
14:40
spider-mario joined
|
|||
skids | BTW, someone with an inclination to hack on test.pm might want to look at the hackery in e.g. t/siphash.t that makes sure the manpage synopsis works. Might make for an interesting addition. | 14:42 | |
moritz doubts there will ever be more than one major Perl 6 compiler targeting parrot | |||
14:44
leprevost joined
14:46
thou joined
|
|||
masak | didn't Pugs target Parrot? | 14:46 | |
hoelzro | I don't think so | ||
GlitchMr | Wasn't Pugs in Haskell? | 14:47 | |
JimmyZ | there were some pir codes in Pugs, iirc | ||
kresike | bye folks | 14:48 | |
GlitchMr | I hope that implementing pir:: won't be required to fully implement Perl 6 ;-). | ||
Also, anything that uses CLR:: also isn't Perl 6. | 14:49 | ||
14:49
benabik joined
|
|||
tadzik | it's just platform-specific Perl 6 :) | 14:50 | |
14:50
kst left
|
|||
GlitchMr | But, I guess that regular expressions with backreferences aren't regular | 14:51 | |
tadzik | ww | ||
GlitchMr | But everybody implements backreferences... even with their low performance | ||
masak | backreferences are pretty useful. | 14:52 | |
14:53
tokuhiro_ left
|
|||
arnsholt | I dunno. I don't use them all that often in my regexes | 14:53 | |
Captures, sure. But things like /\w+ $1/? Not a lot | 14:54 | ||
masak | arnsholt: clearly you don't look for repeated words all that often. ;) | ||
spider-mario | it’s useful for RLE, is it not? | ||
masak | arnsholt: or for words with three occurrences of two letters, such as "bookkeeper". | ||
GlitchMr | arnsholt: Uhmmm... you probably meant /(\w+) \1/ or /(\w+) \s $0/ | 14:55 | |
arnsholt | Er, right. What GlitchMr said | ||
GlitchMr | s/\\s/' '/ | ||
skids: Also, could you change name of module from "Sum::" to "Sum"? | 15:02 | ||
tadzik | heh | ||
skids | You mean in META? | ||
tadzik | yeah | ||
GlitchMr | I can make Pull Request for you, if you want | 15:04 | |
oh, you have done that | 15:05 | ||
whatever | |||
thanks | |||
skids | np | ||
15:05
kaare__ joined
15:11
xinming joined
|
|||
GlitchMr | r: run "echo '//i' | a2p" | 15:11 | |
p6eval | rakudo 100727: OUTPUT«run is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:2 in sub run at src/RESTRICTED.setting:8 in block at /tmp/Gui2qrQZTr:1» | ||
GlitchMr | b: run "echo '//i' | a2p" | ||
p6eval | b 922500: OUTPUT«Operation not permitted in safe mode in 'Safe::forbidden' at line 2:/tmp/NNbwZulPxf in main program body at line 22:/tmp/NNbwZulPxf» | ||
GlitchMr | n: run "echo '//i' | a2p" | ||
p6eval | niecza v21-2-gc592587: OUTPUT«Unhandled exception: run may not be used in safe mode at /home/p6eval/niecza/lib/CORE.setting line 0 (run @ 0)  at /tmp/C6qkMXbpwg line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.s… | ||
GlitchMr | Uhmmm... what is "b"? | ||
I accidentally typed "b" instead of "n" | 15:12 | ||
benabik | GlitchMr: b is 'berlin', the last pre-nom release (IIRC) | ||
Or 'beta', the branch after 'alpha' and before 'nom' | |||
masak | benabik: 'beijing', IIRC. | 15:13 | |
benabik | masak: Drat. Well, I got two letters right... | ||
masak | GlitchMr: it took you three p6eval evaluations to realize that system calls are switched off? | 15:14 | |
15:14
xinming_ left
|
|||
GlitchMr | benabik: You got three | 15:14 | |
beijing berlin | 15:15 | ||
oh wait | |||
You got four | |||
beijing berlin | |||
benabik | GlitchMr: Well, I meant the first two. But true. | ||
GlitchMr | I just have noticed this | ||
15:16
perlhack joined
|
|||
perlhack | there know me ? | 15:19 | |
:-) | |||
masak | perlhack! \o/ | ||
perlhack: you're back! | |||
perlhack | :-)yes | 15:20 | |
masak :-) | |||
masak | perlhack: I thought of you just the other day. | ||
15:20
fgomez left
|
|||
perlhack | masak:my english is very bad | 15:21 | |
:'( | |||
hoelzro | that sentence was perfect, though ;) | 15:22 | |
perlhack: 我的中文不好 =( | 15:23 | ||
masak | perlhack: 我的中文比你的英文真不好。 | ||
JimmyZ | 大家好啊,我在深圳 | ||
hoelzro | what are those last two characters? | ||
it's been a few years. | |||
masak | perlhack: 你是勇敢的。 | ||
15:24
perlhack_ joined,
perlhack left
|
|||
perlhack_ | sorry | 15:24 | |
TimToady_ | Shenzhen | ||
perlhack_ | sorry all | ||
刚才那个软件不支持中文 哈哈 | |||
masak | perlhack_: irclog.perlgeek.de/perl6/2012-09-13#i_5984627 | ||
hoelzro | I understood "哈哈" | 15:25 | |
=P | |||
GlitchMr | Uhmmmm... this Wiki is broken - wiki.perl6.org/ | ||
<script src="/js/jquery.min.js" type="text/javascript"> leads to 404 | |||
perlhack_ | ‘’哈哈‘ = haha | ||
sorry all ,i want to sleep.... | 15:26 | ||
[Coke]_ | GlitchMr: many 404s there. I dunno who maintains wiki, though. | ||
15:26
perlhack_ left
|
|||
TimToady | Shenzhen must mean something like deep valley | 15:26 | |
masak | good night, perlhack. | 15:27 | |
TimToady | deep gorge, maybe | ||
GlitchMr | [Coke]_: It was working some time ago | 15:28 | |
[Coke]_ | GlitchMr: no doubt. | ||
GlitchMr | If nothing would be done, nothing would break | ||
Surely something has broken this wiki | |||
masak | TimToady: "deep drains", according to Wikipedia. | 15:31 | |
TimToady | I suspect that's a mistranslation. | ||
moritz | I think uvtc was last seen maintaining the wiki. I just installed it. | 15:32 | |
TimToady | it's more like "furrow" | ||
and drainage as in drainage off a field | |||
it's not about pipes, I suspect | 15:33 | ||
masak | TimToady: I don't dare change Wikipedia's translation, even though I believe you are right. | 15:34 | |
TimToady | of course, it's possible that that is what a modern resident of Shenzhen thinks it means | 15:35 | |
in which case, trotting out the etymology is somewhat beside the point | |||
the etymological fallacy is one that linguists learn to spot early :) | 15:36 | ||
and certainly, China has had just a wee bit of time for semantic drift to occur... | |||
otoh, this character occurs only in the city's name, so maybe I'm still right :) | 15:37 | ||
masak | :) | ||
TimToady | I might name a town "Deep Ditch" :) | 15:38 | |
the fact that the radicals are earth and river indicate that the original semantics were bound up in the relationship of those two things, probably | 15:39 | ||
15:39
ponbiki joined
15:40
ponbiki is now known as Guest56876,
Guest56876 left
|
|||
skids | .oO(Hmm... where to draw the line between committing etymological fallacy and letting culture around you fall into complete slang.) |
15:40 | |
15:40
ponpon joined
|
|||
TimToady | but what if your slang is my native language? | 15:42 | |
PerlJam | skids: if slang is the norm, then it isn't slang anymore. | ||
TimToady | it becomes a fractal problem, with a dependency on the scale at which you measure it | 15:43 | |
japhb | o/ | 15:44 | |
skids | PerlJam: yet norms don't become norms overnight, and can be strangled when young. :-) | 15:45 | |
moritz | can they? | ||
TimToady | "A language is a dialect with an army and navy" | 15:46 | |
japhb | Been away for a couple weeks, and looking through the Rakudo diffs. The onlystar work -- is that just to make sure that existing code that assumes proto bodies are just '{*}' doesn't break when larger bodies begin to be accepted? Or does this mean that larger proto bodies are actually fully working now? | ||
PerlJam | someone copied onlystar from nqp to rakudo? | 15:47 | |
moritz | r: proto sub f(|) { say 42; {*}; say 23 }; multi f(Int) { say 'Int' }; f 18 | ||
p6eval | rakudo 100727: OUTPUT«42Int23» | ||
moritz | japhb: looks good | ||
PerlJam hasn't been paying attention | |||
japhb | moritz, ah, cool. | 15:48 | |
[Coke] | r: say {*}.WHAT | ||
p6eval | rakudo 100727: OUTPUT«===SORRY!==={*} may only appear in proto at line 2, near ".WHAT"» | ||
japhb | I didn't realize that '{*}' could be used as just part of a larger proto. | ||
moritz | it's a new feature | 15:49 | |
in rakudo, at least | |||
PerlJam | newly implemented, but it's been in the spec that way for a while, right? | ||
15:49
benabik left
|
|||
japhb realizes he should pull the latest specs changes too ... | 15:49 | ||
15:49
benabik joined
15:50
sjohnson left,
sjohnson joined
|
|||
moritz | PerlJam: correct | 15:50 | |
TimToady | r: proto sub f(|) { 42 + {*} + 23 }; multi f($i) { $i }; say f 18000 | ||
p6eval | rakudo 100727: OUTPUT«18065» | ||
TimToady | \o/ | ||
JimmyZ | That's a great feature | 15:51 | |
TimToady | this now means we can put caching into the proto | ||
[Coke] | now you're just making stuff up. | 15:52 | |
(not about the caching, I see that.) | |||
PerlJam | Isn't that his job? | ||
TimToady | no, I made it up a while ago :P | ||
[Coke] is time challenged. Thank goodness there is free coffee here. | 15:53 | ||
[Coke] trundles away to get some. | |||
JimmyZ | It' a great feature for hooks | ||
pre and post ;) | |||
TimToady | though I must admit some fondness for the double-struck A trick in rosettacode.org/wiki/Ackermann_function#Perl_6 | 15:54 | |
yarp | ==> Bootstrapping Panda ===SORRY!=== Could not find Shell::Command in any of: lib, /home/yarp/.perl6/lib, /usr/lib/parrot/4.0.0/languages/perl6/lib, . | 15:55 | |
:~ | |||
GlitchMr | yarp: Uhmmm... when bootstraping, it shouldn't depend on anything | ||
yarp | perl6 bootstrap.pl | ||
GlitchMr | This sounds like a bug | ||
yarp | debian testing | 15:56 | |
JimmyZ | it's hard to understand (state @a) to me | ||
japhb | That's a really old parrot tree, isn't it? | ||
What's your perl6 version? | 15:57 | ||
TimToady, ah yes, that double-struck A trick is cute. But I'm glad the RC code-block font makes the difference clear enough! | 15:59 | ||
M_o_C | TimToady: Whereas caching is used as memoization in the example? | ||
yarp | 0.1 2012.01-1 | ||
rakudo 0.1 2012.01-1 | |||
TimToady | yes, this can also be called memoization, so that would be a more precise term | ||
PerlJam | JimmyZ: Hard to understand or hard to deal with? I have a slight problem that it's an almost-invisible syntactic change that begets a large semantic change. | 16:00 | |
japhb | yarp, that Rakudo date is ancient in terms of its development speed. | ||
yarp | I am fosoil man | ||
japhb | yarp, you should probably either get the newest Rakudo Star (if you just want to get work done), or clone and build the latest Rakudo from Git (if you want to develop Rakudo itself). | 16:01 | |
JimmyZ | hard to understand it without actually runing it, I think | ||
TimToady | I tend to avoid "-ize" words because of past trauma with proscriptive grammarians, but in fact that suffix goes all the way back into Greek at least, as -ιζω | 16:02 | |
so you'd think it would be acceptable by now... | |||
yarp | so , i try compile it | ||
masak | TimToady: proscriptive grammarians don't bother with newfangled ideas from Greek :P | ||
TimToady | We are all a product of our upbringing and our downloading... | 16:05 | |
M_o_C | TimToady: Had to look up what proscritive grammarians means. Ok then. | 16:06 | |
TimToady | that's a bit of a pun on "prescriptive grammarian" | ||
PerlJam | at least there are not conscriptive grammarians around here. | 16:07 | |
s/not/no/ | |||
TimToady | people call themselves prescriptive, because they think they're telling you how to talk, but mostly they're telling you how not to talk. | 16:08 | |
moritz | what about conspiratorial grammarians? | ||
masak .oO( circumscriptive grammarians ) | |||
they never tell you exactly what to do! | |||
geekosaur | PerlJam, perhas only in the Nicolls sense... | 16:09 | |
TimToady | superscriptive grammarians try to get you to write at a higher level | ||
16:09
FROGGS_ left,
flightrecorder left
|
|||
geekosaur | s/lls/ll/ feh, bad me | 16:09 | |
TimToady | now to attack this monumentoidal backlog... | 16:11 | |
16:11
xinming_ joined
|
|||
masak | TimToady: and subscriptive grammarians insist that you sign up for their monthly gazette? :) | 16:12 | |
16:14
xinming left
16:15
benabik left
|
|||
yarp | error:imcc:The opcode 'getprop_p_p_sc (getprop<3>) was not found. Check the type and number of the arguments in file 'src/stage0/NQPCORE.setting-s0.pir' line 1074 | 16:17 | |
japhb | yarp: This is from rakudo nom, built with `perl Configure.pl --gen-parrot && make && make install`? | 16:21 | |
16:21
fhelmberger joined
|
|||
[Coke] | yarp: how old is your parrot? | 16:21 | |
yarp | --get-nqp | ||
--gen-nqp | |||
[Coke] | is this an old checkout of rakudo that you updated? | ||
you might need to do a 'git clean -xdf' if very old. | 16:22 | ||
yarp | brand new | ||
japhb | yarp: --gen-parrot automatically implies --gen-nqp | ||
yarp: and you're on the nom branch? | |||
[Coke] | if it's brand new, that should be happening., no. | ||
*should not* | |||
16:23
benabik joined
|
|||
yarp | you mean the parrot need to be compile also? | 16:23 | |
dalek | href="https://glitchmr.github.com:">glitchmr.github.com: a33e1b0 | GlitchMr++ | index.css: Add Pygments CSS |
16:24 | |
japhb | yarp: yes | ||
[Coke] | gen-nqp also implies -gen-parrot, no? | ||
japhb | Otherwise you're going to get your ancient parrot, and things have changed. | ||
[Coke] | or is it trying to work with whatever parrot it found installed? | ||
japhb | [Coke], I don't think so, but it's been a while since I looked at the code. | 16:25 | |
[Coke] | hokay. | ||
japhb | Yeah, looks like --gen-parrot or --with-parrot imply --gen-nqp, but not the other way around. | 16:26 | |
16:26
MayDaniel joined
|
|||
yarp | i try --gen-parrot | 16:27 | |
16:27
benabik_ joined,
fhelmberger left
|
|||
TimToady | r: proto sub f(|) { my $m //= {*}; 42 + $m + 23 }; multi f($i) { $i }; say f 18000 | 16:30 | |
p6eval | rakudo 100727: OUTPUT«(signal SEGV)» | ||
TimToady | except it doesn't actually work for memoizing yet | 16:31 | |
16:31
benabik left,
benabik_ is now known as benabik
|
|||
masak | SEGV? has that been reported? | 16:32 | |
TimToady | doubt it | ||
locally: get_pointer() not implemented in class 'QAST::Stmts' | |||
masak submits rakudobug | 16:33 | ||
japhb | r: proto sub f(|) { my $m = {*}; 42 + $m + 23 }; multi f($i) { $i }; say f 18000 | ||
p6eval | rakudo 100727: OUTPUT«18065» | ||
japhb | r: proto sub f(|) { my $m //= {*}; $m + 23 }; multi f($i) { $i }; say f 18000 | ||
p6eval | rakudo 100727: OUTPUT«get_pointer() not implemented in class 'QAST::Stmt' in sub f at /tmp/kpaEgbqysi:1 in block at /tmp/kpaEgbqysi:1» | ||
japhb | r: proto sub f(|) { my $m //= {*}; $m }; multi f($i) { $i }; say f 18000 | ||
p6eval | rakudo 100727: OUTPUT«(signal SEGV)» | ||
japhb | r: proto sub f(|) { my $m //= {*}; $m }; multi f($i) { $i }; say f 1 | ||
p6eval | rakudo 100727: OUTPUT«(signal SEGV)» | ||
masak | so, it's the //= in a proto that causes trouble? | ||
japhb | r: proto sub f(|) { my $m //= {*}; }; multi f($i) { $i }; say f 1 | ||
p6eval | rakudo 100727: OUTPUT«(signal SEGV)» | ||
TimToady | apparently | 16:34 | |
which makes it hard to use for caching | |||
japhb | r: proto sub f(|) { my $m //= {*} }; multi f() { }; say f | ||
p6eval | rakudo 100727: OUTPUT«get_pointer() not implemented in class 'QAST::Op' in sub f at /tmp/Sy24SMRnWy:1 in block at /tmp/Sy24SMRnWy:1» | ||
16:34
benabik_ joined
|
|||
japhb | r: proto f(|) { my $m //= {*} }; multi f() { }; say f | 16:34 | |
p6eval | rakudo 100727: OUTPUT«get_pointer() not implemented in class 'BlockInfo' in sub f at /tmp/GfF9BDzNJJ:1 in block at /tmp/GfF9BDzNJJ:1» | ||
japhb | r: proto f(|) { my $m //= {*} }; say f | ||
p6eval | rakudo 100727: OUTPUT«===SORRY!===CHECK FAILED:Calling 'f' will never work with no arguments (line 1) Expected any of:» | ||
japhb | Why should masak++ get all the golfing fun? ;-) | ||
masak | TimToady: "the segfault put a serious damper on my caching"? :P | 16:35 | |
japhb++ | |||
TimToady | so why does it require an argument for (|)? | ||
I guess it doesn't match any of the multi signatures :) | 16:36 | ||
skids read damper as diaper. lol. | |||
16:36
alester joined
|
|||
TimToady | but the message is a bit LTA | 16:36 | |
16:37
benabik left,
benabik_ is now known as benabik
|
|||
TimToady | Oh, I don't think I mentioned last night that I added rosettacode.org/wiki/Pig_the_dice_game#Perl_6 | 16:40 | |
16:41
FROGGS joined,
flightrecorder joined,
benabik_ joined
|
|||
japhb | TimToady, I only see the Python implementation ... | 16:42 | |
masak | `for ^$players xx * -> $player` -- ooh, nice! | 16:43 | |
TimToady++ | |||
FROGGS | is there a way to add a role to a class at runtime? | ||
jnthn | Ah, you've been making my patches earlier today segfault | 16:44 | |
oh... | |||
TimToady | japhb: that's very odd | ||
16:44
benabik left,
benabik_ is now known as benabik
|
|||
jnthn | Maybe I can guess why too | 16:44 | |
I didn't update the op to look anywhere besides current scope | |||
And I guess it expects it to always be a routine | 16:45 | ||
So probably goes looking at invalid memory or something :) | |||
TimToady | has to be thunkable to cache | ||
jnthn | right | ||
What I pushed was "what I had time to do" :) | 16:46 | ||
TimToady waits patiently for a few seconds | |||
jnthn | :) | ||
May be able to get to it during the train journey but...laptop + train = backache... | 16:47 | ||
TimToady | does anyone else see the Perl 6 pig RC entry, or am I in a rosettacode honeypot of some sort? | ||
oh, obviously masak sees it | 16:48 | ||
duh | |||
masak | aye. | 16:50 | |
maybe we're both in a rosettacode honeypot :P | |||
TimToady | the prompt doesn't work in current rakudo, btw | 16:53 | |
well, last night's rakudo anyway | |||
doesn't flush, and requires a ^D to see the input | |||
jnthn | ergh, on Windows too :/ | 16:54 | |
Wonder if that was the Parrot I/O refuctors. | |||
masak | those are the worst possible things to try and test, as well. | 16:55 | |
"and then the user said... and then Rakudo said..." | 16:56 | ||
TimToady | "I'm pining for the fjords! Rawk!" --the parrot | ||
mhasch can see the rosettacode entry just fine | 16:58 | ||
japhb | bak | 16:59 | |
Huh, I see it now. | |||
16:59
vs-midi joined
|
|||
TimToady | did you give any caching proxy an excuse to cache an older copy? | 16:59 | |
japhb | Um ... no? | 17:00 | |
yarp | rakudo compiling finished | ||
TimToady | you don't keep up the Recent Changes pages maybe? | ||
masak .oO( what's a copy like you doing in a caching proxy such as this? ) | |||
japhb wonders if it is "eventual consistency" rearing its ugly head | |||
TimToady | a proxy might chase links from that | ||
masak | japhb: eventual consistency doesn't have an ugly head! it's beautiful, although slightly disruptive and misunderstood :) | 17:01 | |
TimToady | maybe the speed of light is just slow where you are | ||
jnthn | eventual consistency is fine when your users don't find it disagreeable :) | ||
dalek | href="https://glitchmr.github.com:">glitchmr.github.com: 9f66b5c | GlitchMr++ | index.css: Add padding at bottom, so sudden end of site wouldn't be so strange |
||
href="https://glitchmr.github.com:">glitchmr.github.com: 467fd6a | GlitchMr++ | _posts/2012-09-13-breaking-compatibility-is-not-fun.md: Breaking compatibility is not fun blog article |
|||
yarp | ==>Bootstrapping Panda ==SORRY!== CHECK FAILED: Undefined routine '&rmdir' called (lines 29,31) | ||
japhb | I'm in a very deep gravity well ... | ||
GlitchMr | yarp: Perl 6 should have rmdir() function | 17:02 | |
What Perl 6 version it is? | |||
s/Perl 6/Rakudo/ | 17:03 | ||
17:03
spider-mario left
|
|||
jnthn | hm, the build I did earlier today has one :) | 17:03 | |
yarp | git clone git://github.com/rakudo/rakudo.git at this afternoon | 17:04 | |
17:04
spider-mario joined
|
|||
GlitchMr | My oldest Perl 6 version I've (2012.07) has rmdir | 17:04 | |
2012.08 also has it | |||
And Rakudo from git also has it | |||
yarp | I got it this afternoon. | 17:05 | |
GlitchMr | It should have "rmdir" | 17:08 | |
Can you run perl6 -v? | |||
dalek | href="https://glitchmr.github.com:">glitchmr.github.com: 77896db | GlitchMr++ | / (3 files): Fix lack of syntax highlighting when viewing posts directly |
17:09 | |
GlitchMr | (almost free karma ;)) | ||
(ok, not that karma matters) | 17:10 | ||
yarp | This is perl6 version 2012.08-86-g220a691 built on parrot 4.7.0 revision RELEASE_4_7_0-165-g29796c6 | ||
And so? | |||
GlitchMr | Hmmm... perhaps panda runs your system perl6 | ||
Do you have your compiled panda in PATH? | |||
perl6* | |||
yarp | no new perl6 | ||
GlitchMr | It runs old perl6 | 17:11 | |
You should add your new perl6 to PATH | |||
And optionally remove your system perl6 | |||
17:11
xinming joined
|
|||
yarp | so i remove old perl 6 | 17:11 | |
GlitchMr | You don't have to, but this will make things less confusing | ||
What you have to do is adding new perl6 to PATH | 17:12 | ||
And running `which perl6` for sure | |||
Why you would want old Perl 6 on system anyways if it's old? | |||
17:13
Basim joined,
Basim left,
Basim joined
|
|||
TimToady | niecza has mkdir/rmdir, but doesn't have rename(), if someone wants to tackle some (presumably) LHF | 17:14 | |
17:14
xinming_ left
|
|||
Basim | Hey. You guys must save a lot of money on condoms. | 17:14 | |
17:15
Basim left
|
|||
GlitchMr | uhmmm... what? | 17:16 | |
17:16
xinming left
|
|||
TimToady | I wish people wouldn't post while drunk. | 17:16 | |
jnthn | Yeah, we don't buy them in denmark. | ||
17:16
xinming joined
|
|||
huf | oh come on, blame the user, not the substance ;) | 17:16 | |
jnthn | :) | ||
masak | interestingly, that insult is generic enough to work on almost any IRC channel. | 17:17 | |
17:17
Futter joined
|
|||
TimToady | a bit early for Oktoberfest, nicht vahr? | 17:17 | |
jnthn | That's in Germany :P | ||
huf | plenty of people manage to irc drunk, and their output is no worse than when they're sober... | ||
(at least that's what they think) | |||
jnthn | masak: Oh, I took it as a compliment to my bargin-hunting skills :P | ||
GlitchMr | lol "insult" | 17:18 | |
TimToady | nr: (lol "insult").perl.say | ||
p6eval | rakudo 100727: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&lol' called (line 1)» | ||
..niecza v21-2-gc592587: OUTPUT«===SORRY!===Undeclared routine: 'lol' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1435 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /home/… | |||
GlitchMr | Can you make insult to "guys" | ||
This insult isn't very specific | |||
Perhaps he was saying it about himself | 17:19 | ||
huf | i think he meant that you guys are all in committed relationships and are responsible enough to have children | ||
yarp | It's done, thank you GlitchMr | ||
TimToady | huf: well, some of certainly fall into that category | ||
or used to... | 17:20 | ||
GlitchMr | yarp: no problem | ||
TimToady | *of us | ||
huf | TimToady: i'm sure everyone does, modulo time | ||
GlitchMr | masak: also, I doubt this insult would work on channels like #botters (full of IRC bots) | ||
17:21
Futter left
|
|||
TimToady | maybe he was complimenting our sense of rhythm... | 17:22 | |
GlitchMr | nr: say 45325683462858295239592853285 % 328581285132 | ||
p6eval | rakudo 100727, niecza v21-2-gc592587: OUTPUT«5316156377» | ||
GlitchMr | nr: say -45325683462858295239592853285 % -328581285132 | ||
p6eval | rakudo 100727, niecza v21-2-gc592587: OUTPUT«-5316156377» | ||
GlitchMr | -5316156377 | ||
Why? | |||
nr: say -45325683462858295239592853285 % 328581285132 | 17:23 | ||
p6eval | rakudo 100727, niecza v21-2-gc592587: OUTPUT«323265128755» | ||
17:23
Basim joined
|
|||
GlitchMr | ok, that's fine | 17:23 | |
TimToady | because that's how it's defined maybe? | ||
GlitchMr | I guess it makes sense | 17:24 | |
- is always confusing with modulo | |||
Basim | hey guys, sorry about my outburst before - what do you think about Ice Cube? | ||
jnthn | r: proto f(|) { my $m //= {*} }; say f | ||
p6eval | rakudo 100727: OUTPUT«===SORRY!===CHECK FAILED:Calling 'f' will never work with no arguments (line 1) Expected any of:» | ||
GlitchMr | nr: say 1.5 % 0.6 | ||
p6eval | rakudo 100727, niecza v21-2-gc592587: OUTPUT«0.3» | ||
GlitchMr | 0.3 :-) | ||
jnthn | I think this is (mostly) OK because I don't think writing an explicit proto should rob you of compile-time analysis of the call... | 17:25 | |
Could do a bit better when there's no candidates. | |||
17:26
spider-mario_ joined
|
|||
GlitchMr | nr: sub never-worked($ where { False }) {} never-worked | 17:26 | |
p6eval | niecza v21-2-gc592587: OUTPUT«===SORRY!===Whitespace is required between alphanumeric tokens at /tmp/UcleGuFHhq line 1:------> ub never-worked($ where { False }) {} ne⏏ver-workedUndeclared routine: 'ver-worked' used at line 1Potential difficu… | ||
..rakudo 100727: OUTPUT«===SORRY!===Confusedat /tmp/WFcKqNBy8Z:1» | |||
GlitchMr | nr: sub never-worked($ where { False }) {]}; never-worked | ||
p6eval | niecza v21-2-gc592587: OUTPUT«===SORRY!===Unable to parse block at /tmp/1IkbhnsUrs line 1:------> sub never-worked($ where { False }) {⏏]}; never-workedCouldn't find final '}'; gave up at /tmp/1IkbhnsUrs line 1:------> sub never-worked($ wh… | ||
..rakudo 100727: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 2, near "]}; never-"» | |||
GlitchMr | nr: sub never-worked($ where { False }) {}; never-worked | ||
p6eval | niecza v21-2-gc592587: OUTPUT«Unhandled exception: No value for parameter '' in 'never-worked' at /tmp/Ve8ogh5s3p line 0 (never-worked @ 1)  at /tmp/Ve8ogh5s3p line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.se… | ||
..rakudo 100727: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in sub never-worked at /tmp/H5xUDQQZ0j:1 in block at /tmp/H5xUDQQZ0j:1» | |||
GlitchMr | oops | ||
Basim | I have this idea I would like to code in perl. "The Faxroulette". It works just like Chatroulette, but with a fax machine instead of a webcam. What do you think - is it doable? | ||
GlitchMr | nr: sub never-worked($ where { False }) {}; never-worked 42 | ||
p6eval | rakudo 100727: OUTPUT«Constraint type check failed for parameter '' in sub never-worked at /tmp/hBi2xc_AAd:1 in block at /tmp/hBi2xc_AAd:1» | ||
..niecza v21-2-gc592587: OUTPUT«Unhandled exception: Constraint type check failed for parameter '' in 'never-worked' at /tmp/0PsGcBsT3w line 0 (never-worked @ 1)  at /tmp/0PsGcBsT3w line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3)  at /home/p6eva… | |||
17:26
spider-mario left
|
|||
GlitchMr | That error is useful | 17:26 | |
17:27
Futter joined
|
|||
TimToady | Basim: you're being boring, which is a cardinal sin in a comedian. | 17:27 | |
TimToady hugs Basim | |||
GlitchMr | Basim: oh hi | 17:28 | |
Futter | www.youtube.com/watch?v=7mMyV2YQgAA | ||
tadzik | hugme: hug Basim | ||
hugme hugs Basim | |||
17:28
DrDoom joined
|
|||
GlitchMr | Basim: I'm sorry, but this channel is about pearls, not about "Ice Cubes"? | 17:29 | |
Basim | Sorry guys | ||
and thanks for the hugs | |||
Futter | Basim u suck!! | ||
daxim | now you ruined it | ||
Basim | don't listen to those rumors | ||
Futter | o rly!? | 17:30 | |
tadzik | no need to insult anybody | ||
masak | someone in Denmark decided to have a beer party and crash #perl6? ;) | ||
TimToady | funny how we're getting multiple people in from the same address | ||
or not | |||
GlitchMr | hugme: hug * | 17:31 | |
hugme hugs * | |||
masak | TimToady: they're probably all live in the same basement. | ||
they* | |||
TimToady | they seem to be equivalently drunk | ||
GlitchMr | hugme: hug hugme | ||
hugme hugs hugme | |||
GlitchMr | hugme: help | 17:32 | |
hugme | GlitchMr: (add $who to $project | list projects | show $project | hug $nickname | tweet $twittername $message ) | ||
GlitchMr | hugme: add glitchmr to perl6 | ||
hugme | GlitchMr: You need to register with freenode first | ||
17:32
yarp left
|
|||
GlitchMr | Am I not? | 17:32 | |
hugme: add GlitchMr to perl6 | |||
hugme | GlitchMr: You need to register with freenode first | ||
GlitchMr | hugme: list projects | 17:33 | |
hugme | GlitchMr: I know about Math-Model, Math-RungeKutta, MiniDBI, bench-scripts, book, gge, hugme, ilbot, java2perl6, json, modules.perl6.org, november, nqp-rx, nqpbook, perl6, perl6-examples, perl6-wtop, proto, pugs, rakudo, star, svg-matchdumper, svg-plot, tardis, try.rakudo.org, tufte, ufo, web, yapsi | ||
GlitchMr | oh, nice | ||
Can I add my projects to that list? | |||
Basim | But seriously. Here's a question that will define you as human beings: | ||
Bebop or Rocksteady? | |||
TimToady | boring | 17:34 | |
GlitchMr | Basim: »ö« | ||
That would be my answer | |||
tadzik | Bool::True | ||
TimToady | tadzik++ | ||
Futter | rocksteady | ||
ofc -,- | 17:35 | ||
GlitchMr | Because Camelia is more awesome than Bebop or Rocksteady | ||
TimToady | I suppose they could be having a competition to see who gets kicked first... | ||
GlitchMr | Try to draw either of those using Unicode | ||
ok, I guess I may try |O| | 17:36 | ||
Or perhaps o<= | |||
17:36
ajoe joined
|
|||
Basim | actually not, but I see how you could get there | 17:36 | |
I'm not here to cause trobule | 17:37 | ||
or trouble | |||
17:37
vs-midi left
|
|||
Basim | I will just sit back, and listen to you guys now | 17:37 | |
peace out! | |||
17:37
Krabbe_ joined
|
|||
GlitchMr | rn: print "programming pearls 6" | 17:37 | |
p6eval | rakudo 100727, niecza v21-2-gc592587: OUTPUT«programming pearls 6» | ||
17:38
Futter left
17:45
Krabbe_ left
|
|||
Basim | We're missing our sausage wagon napkins, and it's kind of a crisis | 17:51 | |
17:51
Krabbe_ joined
|
|||
colomon /o\ | 17:51 | ||
Basim | no reactions, huh? It's a bit different here. People are screaming | 17:53 | |
moritz | Basim: if you want people screaming, please don't do it in here | ||
Basim | I would like people to stop their screaming | 17:54 | |
masak | Basim: I feel a bit sorry for you and your attempts to attract attention. | ||
TimToady | you're not being at all amusing | ||
Basim | but I don't have the sausage wagon napkins that I need for it | ||
GlitchMr | Basim: congratulations for trying to get attention | ||
TimToady | someone please put him out of our misery | ||
GlitchMr | Basim: to bad that your attempt isn't good enough | 17:55 | |
too* | |||
17:55
ChanServ sets mode: +o jnthn,
Chillance joined,
ChanServ sets mode: +o moritz
|
|||
tadzik | MAN THE CANNONS | 17:56 | |
TimToady | in rosettacode.org/wiki/FizzBuzz#Perl_6 the second solution should not require 'is default' according to S12:1210 | ||
17:56
jnthn sets mode: +b *!*@*.tele.dk
|
|||
tadzik | FIREEEEEE | 17:56 | |
17:56
Basim was kicked by jnthn (Basim))
|
|||
moritz | thanks jnthn++, I was too slow | 17:56 | |
masak | tadzik: dude, are you drunk on cheap Danish beer too? :P | ||
jnthn | I banned a whole ISP. Somebody who cares can fix it. :) | ||
17:56
jnthn sets mode: -o jnthn,
ChanServ sets mode: +o masak,
moritz sets mode: -o moritz
|
|||
GlitchMr | Why ban whole ISP | 17:56 | |
Isn't this going too far? | 17:57 | ||
jnthn | Because I'm lazy. | ||
moritz | jnthn: we'll simply lift teh ban tomorrow | ||
17:57
masak sets mode: -o masak
|
|||
jnthn | Right. | 17:57 | |
17:57
benabik left
|
|||
TimToady | masak: ^ rakudobug | 17:57 | |
masak | TimToady: are you able to demonstrate it golfed on p6eval? that helps. | ||
TimToady | r: multi sub fizzbuzz(Int $ where * %% 15) { 'FizzBuzz' }; multi sub fizzbuzz(Int $ where * %% 5) { 'Buzz' }; multi sub fizzbuzz(Int $ where * %% 3) { 'Fizz' }; multi sub fizzbuzz(Int $number) { $number }; (1 .. 100)».&fizzbuzz.join("\n").say; | 17:58 | |
p6eval | rakudo 100727: OUTPUT«Ambiguous call to 'fizzbuzz'; these signatures all match::(Int ):(Int ):(Int ) in sub fizzbuzz at /tmp/Gu8BO4fHHS:1 in method dispatch:<hyper> at src/gen/CORE.setting:905 in block at /tmp/Gu8BO4fHHS:1» | ||
TimToady | :) | ||
jnthn | That's because I disagree with the spec so deliberately didn't follow it. :) | 17:59 | |
TimToady | I golfed it by removing some newlines :P | ||
jnthn | I think you *shoulod* need "is default" rather than relying on ordering. | ||
TimToady | I don't | ||
moritz also finds that spec highly dubious | |||
jnthn | Because when you've multis that are imported, ordering is dodgy. | ||
TimToady | and the paragraph in question gives the rational | ||
*nale | |||
jnthn | TimToady: It seems cute today. :) | ||
masak | I think I agree with jnthn, too. but a rakudobug is a rakudobug. | ||
jnthn | I have a bad feeling it'll be less cute in the future. | ||
masak submits rakudobug | |||
TimToady | I think it's a necessity to avoid forcing people into using 'is default' where that would be even boguser | 18:00 | |
jnthn | When is it boguser? | ||
TimToady | most of the time | 18:01 | |
jnthn doesn't see how it's bogus in this case, fwiw. | |||
18:01
benabik joined
|
|||
moritz | and, when isn't it bogus? | 18:01 | |
jnthn | Source code ordering just feels to me like a poor tie-breaker of last resort, that's all. | 18:02 | |
TimToady | so we substitute a poorer one | ||
18:02
M_o_C left
|
|||
jnthn | I don't find being explicit about what you want poorer. I guess I don't see the real issue yet. | 18:02 | |
[Coke] | ordering gives you a rank, is default gives you "the best" ? | 18:03 | |
I can't imagine doing something that crazy with multis and expecting it to work either way, though. | |||
jnthn | It only comes up with you have constraints that are not mutually exclusive. | 18:04 | |
[Coke] | Seems like making it clear from the signature would be best. | ||
jnthn | *when | ||
[Coke] | jnthn: at which point a sane person would have a multi with a switch in it. | ||
jnthn | [Coke]: That is one way to look at it :) | ||
I can see the attraction to using multis here, though. | 18:05 | ||
TimToady | the upside is much bigger than the downside, in my estimation | ||
jnthn | But yeah, the given/when feels more robust. | ||
moritz | one can still do (Int $ where { $_ %% 5 !! $_ % 3}) | ||
TimToady | one can be as unclear as one likes, but lack of clarity is not what we're optimizing for here | 18:06 | |
masak | moritz: huh? that doesn't parse. | ||
moritz | rm, s/'!!'/&&/ | 18:07 | |
masak | oh. | ||
TimToady | in the general case, the compiler *can't know* whether constraints are mutually exclusive, so you're basically forcing all such cases to use an ugly partial solution, when ordering is what most people will expect most of the time, I suspect | 18:11 | |
wanting them to be unordered is kind of a false generalization from the nominal type case, seems to me | |||
18:11
xinming_ joined
|
|||
jnthn | Yeah, I'd seen that generalization as the sane thing to do | 18:12 | |
TimToady | anyway, *most* of the use cases I've see so far fit more into ordered switch category | ||
moritz | I could imagine tracking the number of epsilons | ||
masak | still doesn't resolve it in this case. | 18:13 | |
TimToady | I admit that my statistics might be skewed by RC, but I don't think it's *that* skewed | ||
moritz | so if you wrote Int $ where * %% 5 where * %% 3, you have two epsilons, and you're tighter than just * %% 5 or just * %% 3 | ||
TimToady: well, RC optimizes for small(ish) programs | |||
where you (nearly) never import multis from several modules | 18:14 | ||
TimToady | sure, but for largish programs most of these things will be resolved by scope instead, I think | ||
(tiebreaker A) | |||
18:15
xinming left
|
|||
GlitchMr | I guess I shouldn't make "is default" hack in my FizzBuzz program | 18:16 | |
TimToady | well, that's what we're discussing, but you have to because of a difference of opinion between rakudo and S12 | 18:17 | |
jnthn | I can change it if it's something that is felt strongly about. I just tend to put off doing work on things I suspect stand a good chance of going away, especially when others feel the same :) | 18:18 | |
GlitchMr | Well, guessing that $_ %% 15 matches more rarely is simply impossible because halting problem | ||
18:21
thou left
|
|||
masak | depends how obstinate you are in solving the problem. | 18:24 | |
in this case, we could start analyzing ASTs and stuff. | |||
I'm not saying it's worth it, just that this case is amenable to analysis. | |||
jnthn | Doing it by analyuzing AST => module :P | 18:25 | |
18:25
adu joined
|
|||
moritz | jnthn++ | 18:25 | |
jnthn | Think my patch to get the {*} stuff working in the nested block/thunk case works. | ||
r: proto foo(|) { if 1 { my $x = {*} + 1; return $x; } }; multi foo() { 2 }; say foo(); | 18:27 | ||
p6eval | rakudo 100727: OUTPUT«get_pointer() not implemented in class 'ResizablePMCArray' in sub foo at /tmp/csdfMGi9h7:1 in block at /tmp/csdfMGi9h7:1» | ||
TimToady | I doubt I'm gonna change my mind on this one. We might tweak the exact ordering rules between cooperating modules as we get more such use cases, but the constraints would still be considered to be ordered, not unordered | ||
jnthn++ | 18:28 | ||
jnthn | It looked like what I'd done in NQP, so no surprises. Yet :) | 18:29 | |
moritz: Do you think the prompt issue is something we should get Parrot to fix? | 18:30 | ||
dalek | kudo/nom: 7973660 | jonathan++ | src/ (4 files): Make {*} showing up in a nested block or thunk rather than directly in the proto work. |
||
jnthn | moritz: Or add a flush explicitly somewhere in Rakudo? | ||
OK, any issues with {*} in protos now are unexpected (to me). :) | 18:31 | ||
mst | could somebody have a go at cpan/cpanm-ing trout.me.uk/perl/Rakudo-Star-2012.08002.tar.gz just to sanity check it before I cpan it? | ||
jnthn | Need some tests...I'll get to them if I ain't beaten to 'em. Should look over a $dayjob thingy now. | ||
tadzik | mst: trying | ||
mst | I mean, run the install, do 'eval $(perl -MRakudo::Star::Paths); perl6' and check you have an install | ||
tadzik: thanks | |||
I realised my previous tarball had build files in it, so I reinlined star from the site; seems fine here but wanted to double check | 18:32 | ||
18:37
thou joined
18:43
bluescreen10 left
|
|||
tadzik | mst: is that a problem if I also have an existing rakudo installation in PATH and stuff? | 18:47 | |
I'm getting a few ===SORRY!=== | |||
Method 'load_module' not found for invocant of class 'FixedPMCArray' | |||
but it installed nonetheless | |||
but it seems to have installed and works, at least for Hello World | 18:48 | ||
mst | it's probably better if you don't, although I don't know if it'll actually care | 18:49 | |
can you load a star-supplied module? | |||
I guess that's the other obvious thing to check | |||
tadzik | no, I cant | 18:50 | |
well, I can load, I cannot run it | |||
gist.github.com/3716669 | |||
mst | sec | ||
I get Method 'get' not found for invocant of class 'Str' | 18:51 | ||
tadzik | hrm | ||
I don't see why you'd get that :) | |||
mst | LWP::Simple.get("perlcabal.org") | ||
works perfectly | 18:52 | ||
for me | |||
tadzik | hm | ||
mst | try that? | ||
tadzik | I get Could not find symbol '&Simple' | ||
mst | weird | ||
tadzik | hmm, I have more funny stuff | ||
mst | could you try starting a shell without any env vars for rakudo/parrot libs? | ||
18:52
wk_ joined
|
|||
tadzik | gist.github.com/3716697 | 18:52 | |
let's see | |||
mst | also, it was 'perl6 -MLWP::Simple' -then- LWP::Simple.get | 18:53 | |
you didn't load it in the second session | |||
so of course it didn't work :) | |||
tadzik | ha, indeed :) | ||
so then it fails with the first error :) | |||
Method 'load_module' not found for invocant of class 'FixedPMCArray' | 18:54 | ||
tadzik tries the shell magic | |||
TimToady | updated the final example of rosettacode.org/wiki/Ackermann_function#Perl_6 to use proto memoization (jnthn++) | 18:55 | |
but I am curious as to how that works without an 'is default' | |||
tadzik | mst: seems to react the same way | ||
what was this module loading debug flag, hm | |||
TimToady | please don't tell me that it always evaluates all the constraints every time to see if they're exclusive? | ||
18:55
bluescreen10 joined
|
|||
TimToady | that would be...inefficient... | 18:56 | |
dalek | kudo/nom: 0f2e95a | moritz++ | src/core/Str.pm: remove unused code, TimToady++ |
||
tadzik | mst: okay, I'm in the same place | ||
I removed ~/.perl6 so it won't load my precompiled modules | |||
and now I also get Method 'get' not found for invocant of class 'Str' | |||
mst | right, and does LWP::Simple.get("perlcabal.org") now work? | 18:57 | |
tadzik | ywis | ||
mst | what? | 18:59 | |
tadzik | yes | ||
masak | "ywis" seems to be a typically Polish typo. where's the "y" on Polish keyboards? | 19:00 | |
tadzik | heh, it's just me writing this | ||
and I use colemak anyway ;) | |||
TimToady | r: multi foo($ where { say 'ONE'; $_ == 1 }) { say "one" }; multi foo($ where { say 'TWO'; $_ == 2 }) { say "two" }; foo 1 | ||
p6eval | rakudo 100727: OUTPUT«ONETWOONEone» | ||
TimToady | eek | 19:01 | |
tadzik | and ywis appears to be an alternative spelling of iwis, which means Certainly; assuredly in archaic English | ||
19:01
xinming joined
|
|||
TimToady | I think I just found the strongest argument for ordered constraints | 19:01 | |
19:02
xinming_ left,
DrDoom left
|
|||
masak | TimToady: which is...? | 19:02 | |
TimToady | we're calling *all* the constraints on the off chance that they might not be exclusive | ||
this is guaranteed to be inefficient | 19:03 | ||
19:04
Moukeddar joined,
Moukeddar left
|
|||
TimToady | r: multi foo($ where { say 'ONE'; $_ == 1 }) { say "one" }; multi foo($ where { say 'TWO'; $_ == 1 }) { say "two" }; foo 1 | 19:05 | |
p6eval | rakudo 100727: OUTPUT«ONETWOAmbiguous call to 'foo'; these signatures all match::():() in block at /tmp/uDUDkT1DfT:1» | ||
TimToady | yup, that's what it's doing | 19:06 | |
PerlJam | How do the where constraints differ from multi foo(1) { ...} ; multi foo(2) { ... } ? | ||
19:06
sqirrel joined
|
|||
TimToady | they don't | 19:06 | |
those unwind into Int where 1 and Int where 2 | |||
benabik | In theory, the compiler could be faster with literals than code. | ||
TimToady | it could be recognized and optimized, sure | 19:07 | |
PerlJam | r: multi foo(1) { say "one" }; multi foo(2) { say "two" }; multi foo(Int) { say "Int" }; foo 1; | ||
p6eval | rakudo 100727: OUTPUT«one» | ||
PerlJam | clearly something is different | ||
mst | heh | ||
TimToady | it's calling all of the where clauses every time | ||
mst | make release is going to take a little while since that insists on 'make disttest' | ||
PerlJam | oh, I see. | 19:08 | |
PerlJam was looking but not seeing | |||
Anyway, I'm with TimToady on this one. | |||
19:09
xinming left
|
|||
PerlJam | At least declaration order is something the programmer can *see* and have some measure of control over. | 19:09 | |
(not to mention the efficiency argument already postulated) | |||
19:10
xinming joined
|
|||
TimToady | also note that the ordered constraints are within a particular nominal category, so likely to be defined in the same file | 19:10 | |
jnthn | Unless one of your candidates is overwhemingly more likely, it's O(candidates) either way | ||
PerlJam | Though, in lieu of declaration order, how about a "is order($n)" or something? | 19:11 | |
TimToady | rosettacode.org/wiki/Ackermann_function#Perl_6 defines multis over Int | ||
which would not interfere at all with a set of constraints defined for Str in a different file | |||
jnthn: on average, it's twice as much work | 19:13 | ||
jnthn | TimToady: That doesn't disagree with what I said ;) | ||
sorear | good * #perl6 | 19:14 | |
TimToady | if you want to be imprecise on purpse, fine :P | ||
lovely word, "purpse"... | |||
masak | sorear! \o/ | 19:15 | |
jnthn | :) | ||
tadzik | SOREAR! | ||
jnthn sees if the obvious 2-line patch to change this will actually do so. | |||
r: multi foo(1) { say 1 }; multi foo(1) { say 2 }; foo(1); | 19:16 | ||
p6eval | rakudo 0f2e95: OUTPUT«Ambiguous call to 'foo'; these signatures all match::(Int ):(Int ) in block at /tmp/1maFSLxDl8:1» | ||
19:17
adu left
|
|||
sorear | TADZIK! | 19:17 | |
Su-Shee | mst: your tar.gz builds and installs | ||
jnthn | ~[6~/win 15 | 19:21 | |
tadzik | hello Ron... oh wait | ||
jnthn | oops :) | ||
darn laggy connection | |||
Su-Shee | mst: and I'm LWP::Simple.getting something. | 19:22 | |
mst | Su-Shee: excellent | 19:24 | |
it'll ship itself to cpan shortly | |||
Su-Shee | mst: it installs itself here: /usr/local/lib/perl5/Rakudo/Star/Install/bin/perl6 if I really call it out of the box. | 19:25 | |
jnthn | TimToady: Got a patch that doesn't regress anything in S06-multi/*.t | ||
Guess I should wait for the spectest to run; takes a bit on this laptop | 19:26 | ||
19:26
sqirrel left
|
|||
jnthn | Hmm, wonder if I can get a new one before Japan... | 19:26 | |
TimToady | drop by the Lenovo facory on the way? :) | ||
19:26
Krabbe_ left
|
|||
jnthn | ;) | 19:27 | |
TimToady | *factory even | 19:28 | |
"facory" is not a lovely word | |||
mst | Su-Shee: yep, that's basically that it's supposed to do. excellent. thanks. | ||
jnthn | hah, I didn't even see the typo :) | ||
TimToady | me either, until I did | ||
19:29
fgomez joined,
shachaf joined
|
|||
TimToady | probably a sign of narcisism that I reread everything I wrote... | 19:29 | |
Su-Shee | mst: if I print @*INC, I still get the source dir (where I just untar-ed and build your tar.gz), that's supposed to be that way? | 19:31 | |
masak | TimToady: I do... I mean, some of my best friends do that, too. | ||
FROGGS | well, as long as you dont sign your own t-shirts ;o) | 19:32 | |
.oO( in love - larry ) |
|||
Su-Shee | mst: ah forget it, works, has path in /usr/local/andsoon | ||
TimToady is glad you subtracted me | |||
*him, darn that narcisim... | 19:33 | ||
tadzik | ;) | ||
TimToady | *narcissism, let's get it right at least once | ||
tadzik | if it is (a sign of narcissism), I have it too | 19:34 | |
although I think it's more like running 'make test' | |||
only after you 'git push' | |||
masak | arrrgh, yes! | ||
TimToady | :D | ||
masak sometimes wishes he could 'git push -f' the backlog | 19:35 | ||
19:37
snearch joined
|
|||
Su-Shee | mst: should I try anything else? | 19:38 | |
mst | Su-Shee: that'll do | ||
Su-Shee | fine, and I have a shiny new rakudo now ;) | 19:40 | |
19:43
araujo joined,
araujo left,
araujo joined
|
|||
dalek | kudo/nom: e03a22f | jonathan++ | src/binder/multidispatch.c: Implement accept first matching constrained candidate rule for multi-dispatch. |
19:47 | |
jnthn | Two of the rosettacode integration tests (greatest element of a list and sierpinski triangle) fail, seemingly due to newline handling related issues. | 19:48 | |
sorear | o/ jnthn !!!!!! | ||
long time no see | 19:49 | ||
jnthn | (unrelated to what I just pushed) | ||
hi sorear | |||
sorear gives jnthn a running-jumping-hug | |||
jnthn | :) | ||
Mixture of sick and very busy | |||
sorear | yeah, I heard about the sick from masak | ||
jnthn | Which means I'm still not really 100% better, but muchly improved :) | ||
sorear | was releived to hear it's "just" a cold, though | ||
jnthn | And today I learned that next week will be wonderfully calm compared to the last two :) | ||
Yeah, a very persistent one | 19:50 | ||
19:50
fgomez left
|
|||
masak learned today that his next week will not be wonderfully calm... :) | 19:50 | ||
jnthn | And my sleep has consistently averaged 5-6 hours for a while | ||
diakopter | mmm, teh sick | 19:51 | |
jnthn | masak: Guess you ain't gonna be in Stockholm next week though? :) | ||
jnthn will for a day... | |||
Hopefully I can retrieve the bit of my clicker than I left behind there... | 19:52 | ||
dalek | kudo/nom: 0e36b2d | jonathan++ | docs/ChangeLog: Add multi improvements to the ChangeLog. |
19:57 | |
Su-Shee | where was this nice feature matrix table listing thingie? | 19:58 | |
tadzik | perl6.org/compilers/features | ||
20:01
mucker left
|
|||
TimToady | jnthn: I'll bet you have the metapneumovirus that was going around; persistence and lack of sleep are two of the hallmarks | 20:01 | |
I had it for a month or so | |||
sorear | eeep, a conference virus? | ||
Su-Shee | tadzik: thanks. | ||
TimToady | you'd have it by now if you were gonna | 20:02 | |
jnthn | Urgh. Well, I'm up to about 2 weeks so far. | 20:03 | |
20:03
GlitchMr left
|
|||
TimToady | we were pretty sure it was metapneumovirus because I got it from @quietfanatic, who got it from @heidialayne who got it from Julian, who picked it up at the hospital (who also identified it specifically, since they do that for chemo kids) | 20:04 | |
20:04
fgomez joined
|
|||
TimToady | btw, Julian is now officially done with his 3-year treatment | 20:04 | |
sorear | oh, that's the actual name | 20:05 | |
who are Julian and @heidialayne? | |||
TimToady | daughter and grandson | 20:06 | |
older daughter, older grandson, to be specific | |||
sorear | the other way around? | ||
benabik | I got it from Agnes. She got it from Jim. | ||
TimToady | er, yeah <-> | ||
20:12
telex joined
20:16
kaare__ left
20:22
bruges joined
|
|||
jnthn | time to go off the train & | 20:22 | |
20:27
ajoe left
20:29
UnknownCharacter joined
|
|||
mst | POSTing upload for Rakudo-Star-2012.08002.tar.gz | 20:36 | |
fear. | |||
timotimo | whoa. | ||
masak trembles | 20:38 | ||
[Coke] | TimToady's list of disease carriers reminds me of ferris bueller "I heard it from..." ... it must be pretty serious. | 20:39 | |
20:40
spider-mario_ left
|
|||
mst | timotimo: object of the exercise: 'cpanm Rakudo::Star; eval $(perl -MRakudo::Star::Paths); perl6' | 20:42 | |
TimToady | I dunno serious, but significantly irritating to have a virus that just wanders around your respiratory tract looking for places it hasn't hit yet, including ears and sinuses, and then stops just short of pneumonia, so you don't even get any bragging rights | ||
timotimo | that's pretty neat, installing rakudo via cpan | 20:45 | |
20:48
LlamaRider joined
|
|||
jnthn | Ahhh...home. :) | 20:52 | |
Su-Shee | tadzik: does panda require a module being on github to be installable via panda? | ||
forget it, I'm reading the wiki article.. | |||
20:53
szbalint joined
20:55
spider-mario joined
20:56
kst joined
|
|||
sorear | Are there any yapc::eu 2012 videos online yet? | 21:03 | |
masak | I seriously doubt it. | 21:04 | |
21:05
skids left
21:07
LlamaRider left
21:09
snearch left
|
|||
sorear | this is very disturbing: blogs.perl.org/users/yapceurope_201...ent-122259 | 21:09 | |
benabik | Wrong attitude. :-( | 21:11 | |
21:12
benabik left
|
|||
sorear | I wonder how much of an influence ey has had on the horrible video situation we have | 21:14 | |
doy | yapc::asia is generally pretty separate from most of the other conferences | 21:17 | |
21:17
Circlepuller joined
|
|||
masak | probably not much influence. | 21:17 | |
the real problem is that it's a big time-consuming pain to edit videos. | 21:18 | ||
sorear | masak: oh? | 21:19 | |
masak | ya. | ||
sorear | I had no idea editing them was time-consuming | 21:24 | |
sorear tries to figure out how | |||
21:25
fgomez left
|
|||
jnthn | Suppose that the post-processing were to take as long as the talk itself (which from what I've heard is maybe optimistic). Now you have 3 days of talks and maybe 2 or 3 tracks to process. That quickly adds up. :) | 21:27 | |
sorear | jnthn: what is the most time-consuming part of the post-processing? | 21:28 | |
I thought they just cut the video files into sections according to the published schedule | 21:29 | ||
jnthn | sorear: I haven't done it, so I'm mostly going on what I've heard. I believe there's also the issue of encoding it into something suitable for web distribution, the copying it from the camera in the first place, ranging up to various horror stories I've heard where they got another device to record the sound then found they had a different idea of time so the audio got out of sync. | 21:31 | |
geekosaur | there's also going through and perhaps cutting out inappropriate audience comments | 21:32 | |
jnthn | :) | ||
If you want to make a really nice video there's a lot of work, 'cus maybe you have a feed with the slides and another with the speaker. | 21:33 | ||
And I guess working out what to show when is manual work. | |||
masak | from what I saw of the filming process at YAPC::Europe, the did have two feeds like that. | 21:35 | |
at least in some rooms. | |||
jnthn remembers one talk he gave where he was told to only stand on a certain small area of the stage in order that he didn't disappear off the video, so presumes that there can be some coordination required with speakers to get really good results too. | |||
masak .oO( don't step off this penny ) | 21:37 | ||
sorear | geekosaur: so what happens when you have a speaker going horribly off the rails like jnthn++ did? :D | 21:44 | |
masak: now I have to check the geographic distribution of pennies. | |||
masak | sorear: you mean, which countries still have pennies? I... have no idea, actually. | 21:45 | |
geekosaur | that... depends. I have certainly seen videos of talks which had cuts with minimal fades around them | ||
jnthn | sorear: no no, that's what my talks are *noramlly* like :P | 21:48 | |
sorear | masak: I was under the impression that the USA was the only country with pennies. Seems I was wrong | 21:49 | |
pennies, as opposed to pence or cents | |||
jnthn | England has pennies :) | ||
Well, pluralized as "pence" I guess :) | 21:50 | ||
But still, one is a penny :) | |||
And it'd feel odd to talk about them as "pence" without a number in front. | |||
masak .oO( Je pence que that sounds odd ) | |||
jnthn | *groan* | 21:51 | |
masak | :D | ||
jnthn | .oO( no, no. Je pence que that makes no cents ) |
||
FROGGS | hehe | ||
masak | *grouch*! | ||
'night, #perl6 | |||
FROGGS | gnight | ||
jnthn | masak: sleep well. see you brightly early, in my keynote :P | ||
*bright and early | |||
hm, wonder since I'm giving it if I should sleep too :) | 21:52 | ||
21:52
alester left
21:56
M_o_C joined
|
|||
jnthn | 'night o/ | 21:57 | |
sorear | who is jnthn keynoting to? | 22:00 | |
22:02
leprevost left
22:06
fgomez joined
22:11
sivoais joined
22:13
spider-mario left
22:16
crab2313 joined,
stopbit left
|
|||
crab2313 | r: my $a = 'foo'; print $a; | 22:17 | |
p6eval | rakudo 0e36b2: OUTPUT«foo» | ||
crab2313 | n: my $a = 'foo'; print $a; | ||
p6eval | niecza v21-2-gc592587: OUTPUT«foo» | ||
sorear | -2-? I've sure been lazy | 22:18 | |
crab2313 | something is wrong with REPL | 22:20 | |
sorear | what doy ou mean? | ||
p6eval isn't a REPL, if you mean that | |||
crab2313 | gist.github.com/3718145 | 22:22 | |
sorear | crab2313: I think that's called line buffering. | 22:23 | |
Stuff you print isn't displayed until you either print a newline or the script ends | |||
crab2313 | and prompt() is broken | ||
[Coke] | crab2313: try: say "foo" | ||
or: print "foo\n" | 22:24 | ||
FROGGS | TimToady said that too, that prompt is broken | ||
[Coke] | but, ISTR that at some point that worked in rakudo. Might be related to recent parrot IO updates. | ||
sorear | yaaaaay parrot regressions | 22:25 | |
22:25
bluescreen10 left
|
|||
[Coke] | It wouldn't have regressed if there was a test for it in rakudo. | 22:25 | |
So if some behavior changed that you like, please write a test and then the parrot folks have a prayer of catching it. | 22:26 | ||
sorear | [Coke]: how, pray tell, do you write tests for the flushing behavior of I/O to terminals and have said tests work on all the platforms parrot supports? | 22:27 | |
if it were just recent unixes I'd use psuedoterminals and fork | |||
22:29
crab2313 left
|
|||
[Coke] | sorear: wow. if it's something that's really hard to write a test for, maybe you shouldn't give parrot crap about it. | 22:29 | |
22:30
crab2313 joined
|
|||
crab2313 | thanks | 22:30 | |
22:36
whiteknight joined
22:38
crab2313 left
22:43
MayDaniel left
|
|||
FROGGS | tadzik: that is what I got done today: github.com/FROGGS/p6-File-Spec | 22:44 | |
gnight | 22:45 | ||
22:55
wamba left
22:56
Circlepuller_ joined
22:58
Circlepuller left
23:10
M_o_C left
23:41
DreamingInCode joined
|
|||
sorear | o hai DreamingInCode | 23:46 | |
DreamingInCode | :D | 23:47 | |
23:50
whiteknight left
23:52
dayangkun joined
23:56
tokuhiro_ joined
|