»ö« 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:09
slontec joined
00:25
daniel-s left,
kborer joined
|
|||
jnthn | sleep & | 00:27 | |
sorear | What's the most idiomatic way to write "{$from}::$_" ? | 00:44 | |
00:48
sftp joined
|
|||
thou | ::($from)<$_> | 00:48 | |
no idea if that works | |||
:-) | |||
o/ hello! and, ... \o goodbye, #perl6 :-) | 00:49 | ||
00:49
thou left
|
|||
sorear | not what I meant :) | 00:51 | |
I want $from ~ "::" ~ $) | 00:52 | ||
$_ | |||
niecza v7 release on the 27th | 00:57 | ||
01:01
sftp_ joined
01:02
sftp left
01:06
noganex joined
|
|||
TimToady | you mean more like ::($from)::{$_}, or maybe ::($from)::($_) | 01:10 | |
or ::($from ~ '::' ~ $_) | 01:12 | ||
sorear | No | ||
I do not want to look up a name | |||
I just want to construct a string | |||
TimToady | then the way you wrote it first seems pretty okay | 01:13 | |
but I don't know what you mean by 'idiomatic' | 01:14 | ||
sorear | "{$package}::$name" just looks a bit ugly to me | ||
TimToady | perl6: my $from = "abc"; $_ = "def"; say "$from\::$_" | 01:15 | |
p6eval | pugs, rakudo 248244, niecza v6-177-g365e216: OUTPUT«abc::def» | ||
TimToady | that works too | ||
but $from ~ '::' ~ $_ ain't all that bad either | 01:17 | ||
01:18
sftp_ left
01:23
sftp_ joined,
woosley joined
|
|||
lichtkind | TimToady: sorry for being little bit grumpy on that sin thing, i dont take my position to seriously only if other people suffer :) | 01:40 | |
i mean not too seriously :) | 01:44 | ||
TimToady: other than that i just want to know if there are any changes in the IO sector underway, because that tablet is gona to be wrtten next | 01:47 | ||
01:51
whiteknight left
01:52
gh joined
01:53
Chillance joined
01:56
cognominal_ joined
02:00
molaf joined,
d4l3k_ joined,
kst` joined
02:01
nsh joined,
beekar joined
02:02
scottp_ joined,
miso2217__ joined
02:03
uniejo_ joined,
diakopte1 joined
02:04
_patch_ joined,
Gruber joined,
orafu joined,
xinming_ joined
02:08
Helios left,
Grrrr left,
_patch left,
nsh| left
02:09
d4l3k_ is now known as dalek,
ChanServ sets mode: +v dalek
02:13
gh left
02:23
Guest42133 joined
02:27
Guest42133 left
02:29
envi_laptop joined
02:30
stepnem joined
02:34
chitragupt left
02:36
ab5tract joined
02:46
cooper left
02:47
cooper joined
02:57
molaf left
03:03
chitragupt joined
|
|||
dalek | p-rx: 1dc87d4 | pmichaud++ | src/stage0/ (3 files): Update bootstrap files to take advantage of new PAST::Stmt nodes and |
03:20 | |
03:23
Su-Shee_ joined
|
|||
pmichaud | all parrot tests pass with new nqp-rx bootstrap... building rakudo | 03:24 | |
oops, wrong chan | |||
03:24
agentzh joined,
agentzh left,
agentzh joined
03:30
JimmyZ joined
03:32
jaldhar joined
03:41
sftp_ left
|
|||
colomon | in a rather abrupt change in personal plans, I just booked a flight to YAPC::NA. I don't like flying, but it turns out I like the idea of driving 12 hours by myself, part of it through mountains (which I hate) even less. Plus the cost of the flight was almost the same as the gas would have cost. | 04:08 | |
afk # bed | |||
04:16
ab5tract left
|
|||
TimToady | rosettacode.org/wiki/Arbitrary-prec...ed)#Perl_6 | 04:23 | |
uses niecza...didn't mention it takes 2m 17s on my T61... :) | 04:24 | ||
niecza: say 5 ** 262144; # this is the slow part :) | 04:25 | ||
p6eval | niecza v6-177-g365e216: OUTPUT«(timeout)» | ||
04:26
satyavvd joined
|
|||
sorear | hehe, I can imagine :) | 04:32 | |
the ** routine is... old. | |||
pmurias wrote it, iirc, before niecza even had bitops | 04:33 | ||
TimToady | it could likely be sped up by squaring 5 repeatedly and factoring out large pieces, the doing it again for the remainder | 04:34 | |
sorear | yeah | 04:35 | |
wait. | |||
262144 is a power of 2 | |||
TimToady | niecza: say 4**3**2 | 04:36 | |
p6eval | niecza v6-177-g365e216: OUTPUT«262144» | ||
TimToady | yes | ||
sorear | niecza: say (5, { $^a * $^a } ... *)[18] | ||
p6eval | niecza v6-177-g365e216: OUTPUT«(timeout)» | ||
sorear | niecza: say (5, { $^a * $^a } ... *)[1] | ||
p6eval | niecza v6-177-g365e216: OUTPUT«25» | ||
sorear | niecza: say (5, { $^a * $^a } ... *)[8] | ||
p6eval | niecza v6-177-g365e216: OUTPUT«86361685550944446253863518628003995711160003644362813850237034701685918031624270579715075034722882265605472939461496635969950989468319466936530037770580747746862471103668212890625» | ||
sorear | niecza: say (5, { $^a * $^a } ... *)[18].chars | 04:37 | |
p6eval | niecza v6-177-g365e216: OUTPUT«(timeout)» | ||
sorear | niecza: say (5, { $^a * $^a } ... *)[16].chars | ||
p6eval | niecza v6-177-g365e216: OUTPUT«(timeout)» | ||
sorear | niecza: say (5, { $^a * $^a } ... *)[10].chars | ||
p6eval | niecza v6-177-g365e216: OUTPUT«716» | ||
sorear | niecza: say (5, { $^a * $^a } ... *)[13].chars | ||
p6eval | niecza v6-177-g365e216: OUTPUT«5726» | ||
sorear | fail | 04:38 | |
sorear decides to forbid class MY::Foo { } | 04:42 | ||
04:43
birdwindupbird joined
|
|||
TimToady | hmm, BigInteger has a Pow routine, but it looks like maybe you're not using it | 04:52 | |
sorear | right | 04:56 | |
you want lib/CORE.setting:291 | 04:57 | ||
I don't really understand how ** is supposed to work, typologically | |||
I kindof like the Haskell solution there... | 04:58 | ||
I wonder things like whether -2 ** 4e0 should be Complex | |||
rakudo: say (-2 ** 4e0).WHAT | 04:59 | ||
p6eval | rakudo 248244: OUTPUT«Num()» | ||
TimToady | niecza: say 2 ** .5 | 05:03 | |
p6eval | niecza v6-177-g365e216: OUTPUT«2» | ||
TimToady | heh | ||
05:05
koban joined
|
|||
sorear | but 4e0 is often considered to have an <=epsilon (real) error | 05:06 | |
dalek | p: 6e4f4db | pmichaud++ | / (3 files): Add PAST::Want nodetype, allows selection of a PAST tree based This will likely move into Parrot's source tree eventually; I've added it here now so we can test and iterate it more directly until it stabilizes. |
||
sorear tries to figure out how to type lessequals again | 05:08 | ||
05:12
tomize joined
|
|||
dalek | kudo/nom: d3bd796 | pmichaud++ | / (2 files): Bump NQP_REVISION to get PAST::Want. Use PAST::Want on constant going directly to pir:: opcodes. |
05:13 | |
sorear | What is PAST::Want? | 05:14 | |
05:15
Trashlord joined
05:20
birdwindupbird left
05:26
kaare_ joined
05:43
Chillance left
05:44
stephanepayrard_ joined
05:47
cognominal_ left
05:50
envi_laptop left,
starcoder joined
05:55
wtw joined
06:03
wamba joined
06:10
birdwindupbird joined,
Sarten-X joined
06:22
Su-Shee_ is now known as Su-Shee
06:24
fhelmberger joined
06:26
tomize left,
tomize joined
06:37
benabik joined
07:03
scottp_ is now known as scottp
07:17
dukeleto left,
dukeleto joined
07:33
araujo joined
07:34
mj41 joined
07:39
araujo left
07:42
daxim joined
08:00
envi_laptop joined,
wamba left,
tzhs joined
08:05
Gruber is now known as Grrrr
|
|||
moritz | sorear: it's probably detecting sink context | 08:19 | |
JimmyZ | Walk ant? | 08:20 | |
08:20
REPLeffect joined
08:26
dakkar joined,
xinming_ is now known as xinming
|
|||
sorear | moritz: the pod in the commit explains it | 08:32 | |
it selects one of N children based on INSP result type | |||
to make constants more efficient in native type code | 08:33 | ||
(grr... efficient native types will set me *so far back*) | |||
moritz | sorear: no, it will set rakudo forth, not niecza back | 08:37 | |
08:39
Sarten-X left
08:43
mberends joined
|
|||
mberends | I recall pmichaud++ was famous for DO NOT WANT want() ;) | 08:44 | |
sorear | o/ mberends | 08:45 | |
mberends | o/ | ||
08:45
Shozan joined
|
|||
moritz | mberends: indeed, but the sink/notsink distinction can actually be made, and should (for performance and eagerness reasons) | 08:45 | |
mberends: contrary to want(), which wasn't computable | 08:46 | ||
sorear | I hate sink/notsink because it brazenly violates the "do not pay for what you do no use" rule | ||
$x = foo($y,$z); # this has to call $x.sink | 08:47 | ||
er wait | |||
foo($y,$z); # this has to call .sink | |||
I can arrange to short-circuit it by testing a flag on the STable, but still | 08:48 | ||
08:48
Sarten-X joined
08:49
icwiener joined
|
|||
sorear | or I could add PL_sawlazylist and only generate .sink calls if lazy lists are being used. That's sure to elicit a response from TimToady:D | 08:49 | |
08:55
Sarten-X left
09:04
mberends left
|
|||
sorear | *out* | 09:05 | |
09:08
Sarten-X joined
09:14
saaki joined
|
|||
dalek | kudo: f234be6 | moritz++ | build/PARROT_REVISION: bump PARROT_REVISION to 3.5.0 |
09:14 | |
09:16
daniel-s joined
|
|||
dalek | kudo: 7570802 | moritz++ | docs/ChangeLog: update ChangeLog a bit |
09:19 | |
09:22
toebu joined
09:36
kanishka joined
09:45
woosley left
10:07
agentzh left
10:18
stepnem left
10:25
fbass joined
10:27
stepnem joined
10:37
araujo joined,
araujo left,
araujo joined
10:40
mkramer1 joined
10:44
mkramer joined
10:46
mkramer1 left
10:56
s1n joined
11:15
xinming left
11:16
xinming joined
11:19
envi_laptop left
11:21
avar joined
11:32
wamba joined
11:40
pnu joined
11:42
satyavvd left
|
|||
colomon | moritz++ | 11:49 | |
12:03
stepnem left
12:04
stepnem joined
12:06
Helios joined
|
|||
takadonet | morning all | 12:06 | |
colomon | o/ | ||
moritz | \o | 12:07 | |
12:07
lichtkind joined
12:08
orafu left,
orafu joined
12:12
yves joined
12:13
aloha joined
|
|||
daniel-s | is it bad to write the opening curly bracket on the next line, rather than as: if (a<b) { | 12:18 | |
12:18
birdwindupbird left
|
|||
moritz | it's much more important to put whitespace around the infix operator | 12:19 | |
and you don't need the ( ) either | |||
so just write if a < b { and be happy :-) | |||
moritz is great in not actually answering questions :-) | |||
12:20
molaf joined
|
|||
dalek | kudo: 3fc36ba | pmichaud++ | docs/announce/2011.06: Add a draft 2011.06 release announcement. (Still needs updates.) |
12:22 | |
JimmyZ | good evening, #perl6 | 12:31 | |
pmichaud | JimmyZ: o/ | ||
good morning, #perl6 | |||
takadonet | JimmyZ: o/ | ||
JimmyZ | && good morning, pmichaud | ||
12:32
woosley joined
|
|||
moritz | pmichaud: do you want to mention the nom branch in the release announcement? | 12:32 | |
pmichaud | I think it would be good to mention it, yes. | ||
JimmyZ | takadonet: o | ||
lichtkind | moritz: if you would be so kind make a quick check if I did no major BS perlpunks.de/paste/show/4e00909e.9d1.4e | 12:38 | |
12:49
bluescreen10 joined
|
|||
moritz | lichtkind: not bullshit, but I'd like to remind you that only names and substantives are capitalized in German | 12:51 | |
lichtkind | moritz: sounds plausible :) | ||
PerlJam | greetings #perl6lings | 12:52 | |
pmichaud | PerlJam: o/ | 12:53 | |
PerlJam | This month's release is the "hitchhikers guide to the galaxy" release :) | ||
pmichaud | yes, I believe that's why jdhore++ claimed it. :) | ||
We should put "Don't Panic" in the announcement. :-) | |||
moritz wonders why lue wasn't faster :-) | |||
PerlJam | indeed | ||
had lue gotten it, there would have been too much HHGTTG | 12:54 | ||
:-) | |||
12:54
mberends joined
|
|||
pmichaud | oh, and all-caps. | 12:54 | |
moritz | INDEED | ||
mberends | \o/ biggish int long division works: 0x906c93c2fa29608fc6f2cad3ef5 / 0x11112222333344445555 == 0x87654321 # will push after $work | 12:55 | |
12:56
JimmyZ_ joined
12:58
JimmyZ left,
JimmyZ_ is now known as JimmyZ
12:59
fbass left
|
|||
PerlJam | I wonder if someone on the "outside" is looking at the Rakudo release announcements and wondering what happened to that Worhtington guy ... he hasn't contributed in a while ;-) | 13:00 | |
pmichaud | Slacker. | ||
13:02
birdwindupbird joined
13:03
sftp joined,
Holy_Cow joined,
birdwindupbird left,
birdwindupbird joined
13:04
smash joined
|
|||
smash | hello everyone | 13:04 | |
13:05
MayDaniel joined
|
|||
takadonet | smash: hey | 13:07 | |
smash | hmm.. i'm a bit lost in these new nqps' (my fault of course) | 13:08 | |
13:08
mberends left
13:11
woosley left
|
|||
PerlJam | smash: lost how? | 13:12 | |
moritz | it's quite easy | 13:13 | |
there's the old-old NQP. It's dead | |||
the next one was NQP-rx, on which rakudo master is built | 13:14 | ||
it ships with parrot | |||
smash nods. | |||
nqp-rx was the last one i looked at | |||
moritz | then there's the new nqp, which comes with 6model, and on which rakudo/nom is being built | ||
13:14
koban left,
sunnavy joined
|
|||
moritz | the only really confusing thing is that the nqp-rx executable is called 'parrot-nqp' | 13:14 | |
smash | moritz: thank you for the summary | 13:16 | |
moritz | smash: you're welcome | ||
13:33
aidan2011 joined
13:34
lichtkind left
13:39
tokuhirom joined
13:40
daniel-s left
13:41
daniel-s joined
13:52
wamba left
13:58
Shozan left
14:00
jasonmay joined
14:06
Holy_Cow left
14:09
kfo joined,
mkramer left
14:15
Chillance joined
14:17
wtw left,
leprevost joined
14:20
bluescreen10 left
14:23
jaldhar left,
jaldhar joined
14:24
MayDaniel left
14:30
mkramer1 joined
14:32
molaf left
14:38
daniel-s left,
daniel-s joined
14:39
slavik joined
14:51
thou joined
|
|||
dalek | p: bcfe1f0 | pmichaud++ | tools/build/PARROT_REVISION: Bump PARROT_REVISION to 3.5.0 release. |
14:56 | |
p: c62322b | pmichaud++ | / (5 files): Add initial version of nqp:: pseudo-opcode space for low-level primitives. |
|||
moritz | pmichaud: do the control nqp:: opcodes take closures? | 14:59 | |
pmichaud: also you wrote that the p6 terms are prefered, but use nqp::upcase instead of nqp::uc | 15:00 | ||
15:03
tokuhirom left,
tokuhirom joined
|
|||
moritz | pmichaud: and we might want an open() opcde (?) | 15:05 | |
ah, not closures, just statements | 15:06 | ||
thunks | 15:07 | ||
15:07
mkramer1 left
|
|||
moritz | pmichaud++ | 15:08 | |
though why do we need nqp::if and nqp::: when we already have the ternary? bootstrapping thingies? | 15:09 | ||
15:20
daniel-s left
15:21
toebu left
15:22
wamba joined
15:28
donri joined,
kaare_ left
15:36
strider__ joined,
strider__ left,
strider__ joined
15:37
tzhs left
15:38
Tedd1 joined,
cotto joined
15:39
strider__ left,
stormcrow joined
15:47
stormcrow left,
strider__ joined
15:50
strider__ left,
strider__ joined
|
|||
pmichaud | moritz: yes, bootstrapping. | 15:53 | |
eventually ?? !! will be defined in terms of nqp::if() . | 15:54 | ||
Agreed on "uc" versus "upcase" -- fixing. | |||
15:54
slontec left
|
|||
moritz | pmichaud: but isn't control flow usually bootstrapped by the code emitting part? | 15:54 | |
pmichaud | nqp::if() is just another way of saying PAST::Op(:pasttype<if> ... ) | 15:55 | |
moritz | I mean, the PAST if-block takes care of that | ||
ok | |||
pmichaud | all of the nqp:: "opcodes" are really just ways of requesting specific PAST nodes | ||
it even occurred to me earlier that we can do nqp::stmts(...) and create PAST::Stmt blocks | |||
i.e., eventually it would be possible to write all of nqp using nqp:: ops :) | 15:56 | ||
(well, maybe not all, but we can get darn close) | |||
what nqp:: really does is give us a functional syntax to map to the capabilities of whatever virtual machine we happen to be on | 15:57 | ||
(as exposed by PAST) | |||
eventually PAST will be written in nqp, at which point we'll be very self-hosted | |||
15:58
cotto left
|
|||
pmichaud | About 20 minutes ago I was thinking of nqp::parrot(...), which performs an operation on Parrot but is a no-op everywhere else. | 15:58 | |
moritz | might be useful, might be dangerous | ||
pmichaud | well, I was thinking of the case of something like the 'compreg' opcode. | 15:59 | |
Eventually HLL::Compiler will have its own "lookup a compiler" equivalent, that can be independent of compreg | |||
i.e., it'll keep its own table of compilers | 16:00 | ||
but if we're running on parrot, we'd like to go ahead and register the compiler via compreg anyway | |||
so: nqp::parrot(pirop=>'compreg', ...args...) can do that for us. It lets us execute a parrot opcode, but gets ignored by non-parrot vms. | 16:01 | ||
16:01
Yaakov joined
|
|||
pmichaud | anyway, yes, there's a lot of new capability here to be explored :) | 16:01 | |
I'm eager to start converting nom to using nqp:: instead of pir:: where we can | 16:02 | ||
moritz | shouldn't be too hard, once you've bootstrapped | 16:03 | |
16:03
Yaakov left
|
|||
pmichaud | oh, I can add nqp:: syntax to nom now :) | 16:03 | |
no bootstrap necessary, at least for the CORE.setting part | |||
moritz | ah, I misread | ||
I thought you meant nqp | |||
for nqp you'd need bootstrapping | 16:04 | ||
pmichaud | nqp already can start using nqp:: | ||
that's how it's able to test it :) | |||
(nqp:: is already built into nqp.) | |||
moritz | but not in the stage1 compiler, is it? | ||
pmichaud | rakudo uses the stage2 compiler | ||
anyway, "make bootstrap-files" will put it into stage 0 :) | 16:05 | ||
moritz | but you couldn't use nqp:: in NQP's Action.pm unless you bootstrap, right? | ||
moritz just wants to check his sanity | |||
pmichaud | right | ||
s/unless/until, at this point. | |||
moritz | right | ||
pmichaud | doing that now :) | 16:07 | |
the opcodes I'm not entirely happy with are nqp::bindattribute and nqp::getattribute. They feel "long", and I'm not fond of "get" either. I'm thinking of just nqp::bindattr and nqp::getattr | 16:09 | ||
or even just nqp::attr instead of nqp::getattr | |||
PerlJam | whenever I see "get...", I tend to expect there to be a corresponding "set..." | 16:10 | |
(just a data point) | |||
16:10
mj41 left,
strider__ left,
strider__ joined
|
|||
pmichaud | PerlJam: I'm the same way. I'm still stung by Parrot's over-misuse of that term. | 16:11 | |
16:11
MayDaniel joined
|
|||
pmichaud | and I think I'd be much more explicit by using "bind*" instead of "set*", so that means "get*" should probably disappear in favor of something else | 16:12 | |
dalek | p: 3bb5b1c | pmichaud++ | / (3 files): nqp::downcase/nqp::upcase should be nqp::lc/nqp::uc. moritz++ |
||
p: 900cf14 | pmichaud++ | src/stage0/ (6 files): Re-bootstrap to enable nqp:: ops within NQP itself. |
|||
16:15
spq1 joined
16:16
strider__ left,
strider__ joined
16:17
strider__ left
|
|||
PerlJam suffers a failure of imagination on replacement candidates for "get*" | 16:20 | ||
16:20
REPLeffect left
16:21
dukeleto left,
dukeleto joined
|
|||
pmichaud | "fetch" is the best I've come up with thus far | 16:22 | |
16:23
Trashlord left
|
|||
pmichaud | "grab" | 16:23 | |
PerlJam | "reap" might work if you're so inclined (it certainly won't have any cognitive overload in this context ;) | ||
pmichaud | "reap" implies to delete or remove, to me. | ||
pmichaud@kiwi:~/nom$ ./perl6 | 16:24 | ||
> nqp::say(nqp::add_i(2,3)) | |||
5 | |||
\o/ | |||
JimmyZ | \o we open the door to other vms :) | 16:25 | |
not we, I mean pmichaud++ | |||
pmichaud | it's a collective effort, certainly. | ||
JimmyZ | though I don't like C# and Java :) | 16:26 | |
pmichaud | well, if this goes well, then you'll be able to use Perl on the CLR without having to deal with C# :-) | ||
16:26
Trashlord joined
|
|||
PerlJam | "grab" works for me (I tend to favor something with 4 letters to match "bind" in the absence of some mnemonic device) | 16:27 | |
JimmyZ never learns commercial language | |||
pmichaud | I'll brainstorm a bit more. | ||
JimmyZ | I would like fetch | ||
PerlJam | so will there be 3 variants or just 2? | 16:31 | |
pmichaud | ? | ||
PerlJam | bind, fetch, and "change the thing bound" ? | 16:32 | |
or just bind? | |||
pmichaud | bind, fetch, and maybe store | ||
where store means "put into the thing" | |||
PerlJam | ok | ||
pmichaud | i.e., we bind a lexical symbol, and we can store into a container | ||
(also following some of the p6 terminology here :) | |||
PerlJam | You can't go too far wrong following the lead of a linguist when doing languagey things ;) | 16:34 | |
pmichaud | ...how does this look to folks? gist.github.com/1038259 | 16:35 | |
PerlJam | less verbose than before. | 16:36 | |
JimmyZ | maladjustment | 16:37 | |
PerlJam | stupid question: We can't have ops that operate on boxed ints? | ||
pmichaud | in parrot, that would mean going through the vtables | 16:38 | |
which would mean creating a vtable for every type | |||
which currently means that you either write that code in C (not portable), or you suffer an absolutely gigantonormous performance penalty as you jump through inferior runloops to get to the pir that implements your vtable | 16:40 | ||
16:41
aidan2011 left
|
|||
pmichaud | if you mean "can we create ops that automatically unbox the ints for us"... we might be able to do that, but jnthn++ feels pretty strongly at this point that we should keep coercions a bit more explicit (I agree with him for now) | 16:41 | |
s/ops/pseudo-ops/ | |||
s/coercions/(un)boxing/ | 16:42 | ||
PerlJam | I was thinking ahead a little to the mythical VM that caters to Rakudo's needs and wondering how this code would change to run on both that VM (or a VM like it) and Parrot | 16:45 | |
pmichaud | I think the code might be the same -- on that VM the unbox_i opcodes would be no-ops (and thus optimize out) | ||
16:46
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
dalek | kudo/nom: 2089c06 | pmichaud++ | / (3 files): Bump NQP_REVISION, add nqp::ops. |
16:52 | |
kudo/nom: b513e34 | pmichaud++ | src/ (2 files): Proof of concept of Int arithmetic ops using nqp:: opcodes instead of pir:: . Win. |
|||
16:53
kst` left
|
|||
pmichaud | I *like* this layer of abstraction. :) | 16:54 | |
afk, lunch | 16:55 | ||
16:58
kst joined,
tokuhirom left,
cotto joined
16:59
birdwindupbird left
17:04
daxim left
17:05
dakkar left
17:09
dual joined
17:14
Chillance left
17:16
Chillance joined
17:18
Sarten-X left
|
|||
jdhore1 | pmichaud, I could've done the announcement :( | 17:18 | |
PerlJam | jdhore1: a) it's not finished and b) why the :( ? this is what open source and community is about. Everyone does a little bit to make the whole better. | 17:19 | |
jdhore1 | True, but I sort of like writing them | ||
PerlJam | you've got the more important and difficult task though ... choosing a name :) | 17:20 | |
jdhore1 | I already have that | ||
Since it's release #42, i'm going to be making all sorts of Hitchiker's Guide references. The release name is one of them. | 17:21 | ||
17:21
y3llow joined
17:25
Sarten-X joined
17:26
smash left,
kanishka left
|
|||
spetrea | sorear: hey | 17:28 | |
phenny | spetrea: 19 Jun 18:14Z <sorear> tell spetrea to check out niecza if performance is a major concern | ||
spetrea | sorear: I always wonder around, write Perl5 a lot at work and at home, but I come here from time to time because I want to know the future | 17:29 | |
PerlJam | so, we have a higher concentration of the future here than other places? | ||
JimmyZ | maybe we can change the future here | 17:30 | |
error, not me | |||
you guys | |||
PerlJam | we can change other people's future, just not our own | 17:31 | |
17:38
cotto left
|
|||
pmichaud | jdhore1: I only created an initial draft. | 17:45 | |
jdhore1: you're welcome to change it however you want. :) | |||
jdhore1 | :D | 17:46 | |
pmichaud | I do have one more change to make | ||
(with a hitchhiker's reference :) | |||
17:48
JimmyZ left
|
|||
jdhore1 | :D | 17:50 | |
I'm going so obscure with the releasename that even i didn't get the reference till someone explained it to me...but it's perfect. | 17:51 | ||
17:52
cotto joined,
Chillance left
|
|||
dalek | kudo: 7175e54 | pmichaud++ | docs/announce/2011.06: Add a DON'T PANIC note referencing "nom". |
18:02 | |
PerlJam | pmichaud: awww, you didn't like my "contribution"? :) | 18:03 | |
18:04
cotto left
|
|||
pmichaud | PerlJam: I missed it, I guess | 18:06 | |
PerlJam | I only added my name to the release doc to claim the Oct release :) | 18:07 | |
so that lumps me in with "and others" I guess :) | |||
pmichaud | oh, that | ||
You're welcome to edit the announcement and add yourself if you want. I think that's worth a mention :) | 18:08 | ||
18:08
masak joined
|
|||
masak | oh hai #perl6 | 18:08 | |
pmichaud | masak: oh hai! | ||
moritz | \o | 18:09 | |
PerlJam | masak: greets! | ||
masak is having laptop trouble | |||
worse, I gave it to a computer repairman yesterday, but I had to take it back because it turns out I can't live without it... :/ | 18:10 | ||
but enough about me. how are you guys doing? | |||
pmichaud | I'm preparing my #phasers report | ||
masak | ooh, thanks for the reminder! :) | 18:12 | |
18:19
kboga joined
18:33
lichtkind joined
|
|||
Tene | masak: I've got a spare laptop laying around; obviously you should come hang out at my place. | 18:34 | |
pmichaud | I've got two or three. Of course, some of them are woefully underpowered. :) | 18:37 | |
masak | I can use this one, but only with a USB keyboard plugged in. | 18:38 | |
Tene: thanks for the offer. I wish it were easier to realize :) | |||
pmichaud | I even have a spare usb wireless keyboard or two :) | 18:39 | |
masak | I have a model M one, but I'll need to buy a smaller one before going to FPW. | 18:40 | |
pmichaud | bbi20 | ||
18:40
colomon joined,
dukeleto left
18:41
dukeleto joined
|
|||
colomon | sorear: I'm going to take a stab at properly implementing infix:<**> on the drive back up. (Unless I successfully manage to download a lot of useful $work stuff from this cafe in the next five minutes.) | 18:41 | |
18:49
kborer left
|
|||
sorear | good * #perl6 | 18:50 | |
18:51
cotto joined
18:52
mberends joined
18:53
Chillance joined
18:54
colomon left
18:55
colomon joined
18:57
colomon left
18:59
jaldhar left
|
|||
sorear | spetrea: o/ | 19:03 | |
19:09
Woodi joined
19:25
bakedb joined
|
|||
moritz | std: $::a | 19:27 | |
p6eval | std 37a0cdd: OUTPUT«ok 00:01 118m» | ||
masak | there's an OO pattern called Memento of which I've learned recently. | 19:29 | |
it uses an inner class to do serialization without breaking encapsulation/data hiding. | |||
19:30
robinsmidsrod left
|
|||
masak | it's common in Java and C#, it seems. | 19:30 | |
moritz | and I thought it involved reversed time (like the movie) | ||
masak | :P | ||
I was wondering if the same could be done in Perl 6, and I think it can; if the inner class trusts the outer. | |||
and then I got to thinking -- maybe inner (physically nested) classes should trust outer ones by default. | 19:31 | ||
s/\./?/ | |||
std: $::"foo" | 19:35 | ||
p6eval | std 37a0cdd: OUTPUT«===SORRY!===Two terms in a row at /tmp/cz8DfJ2CCB line 1:------> $::⏏"foo" expecting any of: POST bracketed infix infix or meta-infix name postfix postfix_prefix_meta_operator statement modifier | ||
..loopParse failedFAILED 00:01 119m» | |||
sorear | std: $::("foo") | 19:36 | |
p6eval | std 37a0cdd: OUTPUT«ok 00:01 119m» | ||
masak | std: $::($::($::("foo"))) | 19:37 | |
p6eval | std 37a0cdd: OUTPUT«ok 00:01 119m» | ||
19:38
birdwindupbird joined
|
|||
pmichaud | blog post draft -- comments welcome: pmichaud.com/sandbox/lists.html | 19:38 | |
moritz | nice one | 19:41 | |
sorear | TimToady: 'no strict; $x = 5; my $x; say $x' # What should this do in Perl 6? | ||
pmichaud | feels a little airy, but maybe I can add more down-to-earth stuff in a future post | ||
masak | pmichaud: reading that draft, I'm reminded of what I like about the Perl 6 design process: we're all building towards Perl 6, but we don't exactly know what it is yet. but "we know it when we see it" -- we know what Perl behaves like, and we often realize we have a number of expectations on Perl 6 too. | 19:43 | |
how list laziness interacts with arrays is one example. | |||
it feels like it "falls out" of our expectations and our vague notions of what "Perlish" behavior is. | |||
19:43
robinsmidsrod joined
|
|||
pmichaud | in this case it's more like "here's how we think it works, nope -- that's definitely not perlish, let's try this inste.... oops, that doesn't fit either, how about ..." | 19:44 | |
PerlJam | I like the paragraph with the analogy of quantum physics and chemists | ||
mberends | pmichaud: a few short code examples (you're very good at those) would reduce the airiness | ||
masak | once I designed a chess variant. it made me realize that I have a lot of vague notions of "Chessish" behavior that made the variant "design itself" in spots. :) | ||
19:45
ingyfoo joined
|
|||
pmichaud | mberends: I'm trying to decide if it's better to put this up now and concrete examples later, or to have this wait for the concrete examples. It might be a day or two before I can get the examples in, which makes me think "post now and again later" may be the better approach. | 19:45 | |
19:45
Raynes joined,
Raynes left,
Raynes joined
|
|||
tadzik | pmichaud: I'm sligthly confused by the post. It starts with "what's up in nom", and then describes what are the two branches about | 19:45 | |
19:45
sunnavy left
|
|||
pmichaud | tadzik: hmm, the post is really more about the state of Perl 6 list implementations :) | 19:48 | |
tadzik | oh, ok :) | 19:49 | |
TimToady | sorear: obviously it should say "'no strict' not allowed in strict mode" :) | 19:50 | |
PerlJam | pmichaud: will S07 mention all of those listy things you talk about in this post? | ||
pmichaud | PerlJam: definitely. | ||
it pretty much has to | |||
TimToady | sorear: seriously, rather than just throwing variables into the current package like P5, we should consider whether assuming an implicit 'our' makes more sense | 19:51 | |
pmichaud | they all relate pretty tightly --- indeed, most of them were developed in response to "hey, lists don't work" | ||
19:52
Raynes left,
Raynes joined
|
|||
PerlJam | The only one I don't really have a firm handle on are LoLs. I'd like to see a blog post about them at some point if you're taking suggestions | 19:53 | |
pmichaud | Yes, I think that's a blog post on its own. :) | ||
19:53
sunnavy joined
|
|||
pmichaud | And I can write that post as soon as I have a handle on LoLs. | 19:53 | |
masak | PerlJam: I think LoLs are inherently sludgy, not just for you. | ||
pmichaud | Which will probably happen just about after the time I finish the first draft implementation of them :) | ||
thou | pmichaud: i'm looking forward to your S07 rewrite; there's some stuff in S02 that is hard to understand without knowing the difference between LoL context, list context, list vs Array vs. Seq, etc., and I've still not seen a good description of how all those terms relate | ||
pmichaud | thou: as masak++ said, some of them are still fuzzy -- they're waiting for an implementation to sort them out. nom is likely to be that implementation that does the first batch of sorting :) | 19:54 | |
masak | how do LoLs and captures interact? &zip takes a LoL as an argument, doesn't it? | ||
thou | yeah, it's exciting. jnthn++ pmichaud++ ! | ||
PerlJam | thou: it's easy ... all you have to do is hang out on #perl6 and participate in every discussion relating to lists and then pay attention to what the collective has decided does and does not work. ;-) | ||
thou | hehe | 19:55 | |
working on it. | |||
pmichaud | zip takes a capture, its signature binds the capture into a LoL | ||
masak | PerlJam: I wish that weren't so true... :) | ||
19:55
cbk joined
|
|||
masak | pmichaud: yeah, I guess that is pretty easy, actually. | 19:55 | |
pmichaud | well, there's still some trickiness in that we have to make sure that &infix:<;> dtrt :-) | ||
er, semicolon in arglists, too | 19:56 | ||
thou | and the relationship of get() and getarg() may be a good way to explain things, too -- dive down to that lower level with an example or two | ||
masak | pmichaud: did you catch TimToady's comment about ; not being an infix? | ||
pmichaud | there is no get() and getarg() in the new implement | ||
thou | oh, well, nevermind then | ||
hehhe | |||
pmichaud | masak: yes, thus my correction. it's an argument separator | ||
as well as a statement terminator | |||
masak | pmichaud: it's only the latter, but the constant folder catches it. | 19:57 | |
IIUC. | |||
pmichaud | token semiarglist { | ||
<arglist> ** ';' | |||
<.ws> | |||
} | |||
(from STD.pm6) | |||
masak | oh, ok. | ||
PerlJam | The last sentence of the 5th paragraph may come back to haunt you. "...while Perl 6 programmers can do a lot of useful chemistry without having to be aware of the gory details underneath." I'm *so* reminded of leaky abstractions there. | 19:58 | |
As long as they can be gradually aware of the gory details thought, everything is fine. | 19:59 | ||
s/ght/gh/ | |||
pmichaud | PerlJam: some chemists do need to know about the quantum mechanics underneath, yes. :) | ||
masak | it's hard to get a precise understanding of it without going into the gory details, probably. | ||
pmichaud | I didn't say you can do all chemistry without having to be aware of the details, just that you can do a lot. | ||
TimToady | y'all make it sound like chemistry isn't Compleatly Gory in its own right... | 20:00 | |
pmichaud | anyway, it certainly wouldn't be the first statement that comes back to haunt me. :-) | ||
I think one of my first mis-statements was: "Perl 6 compiler pumpking? Sure, why not?" :-P | 20:01 | ||
masak hugs pmichaud | |||
TimToady | that wasn't a statement; it was a question | ||
pmichaud | see! that's the sort of haunting I get! :-P | ||
masak | mis-question... :) | ||
tadzik | it's just that no one answered | ||
TimToady | well, the Spirit of Christmas Future answered by pointing at your grave.. | 20:02 | |
masak | no-one knows the answer. | ||
pmichaud | and if I understand correctly, it's really an "interrogatory statement". | ||
masak | it's really an interrogatory statement? | ||
:P | |||
PerlJam | heh | ||
TimToady | it was a derogatory instatement... | 20:03 | |
pmichaud looks over the precipice of having any sort of discussion with TimToady++ on the meaning of words and language and decides to back away slowly. | |||
TimToady | .oO(if you can't confuse 'em...er...confuse 'em...) |
20:04 | |
masak | lingrist -- implementor: 1 -- 0 ;) | ||
pmichaud | I'm going back to writing code, where I don't have to deal with TimToady's ideas on langua.... er, wait. | 20:05 | |
TimToady | you can rewrite the rest of the Synopses too :) | ||
PerlJam notes that TimToady is haunted as well ;) | |||
TimToady | well, a haunted house still needs Walls | 20:06 | |
masak | *groan* | ||
mberends | with broken Windows? | ||
masak | that's most houses these days... | 20:07 | |
PerlJam | TimToady: speaking of which! How come www.wall.org/~larry/natural.html is disappeared? | ||
in fact, many (if not all) of the wall.org/~larry/*.html documents that I think should be there are actually not. | 20:09 | ||
pm.html -- gone. perl.html --- gone. | 20:10 | ||
20:11
pochi joined
|
|||
TimToady | still recovering from a headcrash several months ago, and using it as an excuse not to carry over stuff that isn't neede anymore | 20:12 | |
but haven't copied over everything that I do want to carry over yet | |||
PerlJam | bummer | 20:13 | |
TimToady | but natural is there now | ||
PerlJam | makes it easier to spread the good word if it's there for people to read :) | 20:15 | |
Su-Shee | PerlJam: let me guess: you never throw away stuff and everyone can see for how long by looking into your garage/cellar/etc? :) | 20:16 | |
PerlJam | Su-Shee: I have been conditioned to occasinally throw stuff away. I recently threw away my high school physics notes even! | 20:17 | |
Su-Shee | .oO(I know how old he is.. ;) |
||
20:19
whiteknight joined
|
|||
PerlJam | Su-Shee: my wife and I go good together ... she's always pressuring to throw away old stuff, I'm always pressuring to keep it ... at some point we arrive at an equilibrium where we keep stuff for as long as needed but it eventually migrates to elsewhere (other people, junk yard, good will, whatever) | 20:19 | |
though there have been some snafus (my fishing rods were sold in a garage sale without my knowledge and once a pair of shoes I'd only had a few weeks were given to good will) | 20:21 | ||
20:21
mj41 joined
|
|||
Su-Shee | PerlJam: ah. yes. we have the same roles here. we solved the problem by mr shee has a room for him, I have one for me. guess which one has 7 monitors and 3 printers and 5 database servers and shelves of steel? | 20:21 | |
sorear doesn't know much about oraperl and sybperl | 20:27 | ||
20:29
jedai joined
20:33
Woodi left
20:38
bakedb left
|
|||
masak | sorear: aren't those pre-p5 "distributions" which threatened to fracture the codebase? | 20:39 | |
Perl 5 solved the original issue by having a module system. | |||
20:41
Sarten-X left
20:46
Woodi joined,
diakopte1 is now known as diakopter
|
|||
mberends | o/ diakopter | 20:47 | |
diakopter | o | ||
phenny | diakopter: 11 Jun 20:45Z <moritz> ask diakopter any idea what's up with the appflux server? I can't seem to ssh to it, and dalek often times out | ||
diakopter | wow that was awhile ago | ||
moritz | \o diakopter. Ignore that, issue is long since gone | ||
diakopter | I wonder how long I was diakopte1 | 20:48 | |
20:48
impious joined
|
|||
diakopter | I recall helping maintain an oraperl | 20:49 | |
*installation | |||
TimToady: a haunted house can have a genius or two, too | 20:51 | ||
20:52
Sarten-X joined,
birdwindupbird left
21:02
colomon joined
21:03
leprevost left,
MayDaniel left
21:15
wamba left
|
|||
masak | diakopter: ah, Maniac Mansion... :) | 21:27 | |
good times. | 21:28 | ||
21:37
donri left,
cotto left
21:40
donri joined,
mj41 left
|
|||
sorear | diakopter: you remember oraperl? how did that work? | 21:42 | |
sorear is interested in the history of it | 21:44 | ||
pmichaud: I hear you want a 'rakudo-nom:' p6eval target | 21:45 | ||
benabik | nom: say 'hi'; # I thought one got installed. | 21:46 | |
p6eval | nom: OUTPUT«hi» | ||
sorear | benabik: that was supposed to be my line :( | ||
benabik didn't mean to spoil it. :-( | |||
21:46
Psyche^ joined,
Psyche^ is now known as Patterner
21:47
MayDaniel joined
|
|||
PerlJam | sorear: as I recall, oraperl just baked in some custom functions that talked to an oracle database. The functions were just there like the rest of perlfunc. But that's about all I know. | 21:48 | |
I think I compiled it once to see what all of the fuss was about, but I never used it. | |||
masak | search.cpan.org/~timb/DBD-Oracle-1.16/Oraperl.pm | ||
those seem to be the functions. | 21:49 | ||
pmichaud | sorear: what I'm looking for is a way to manually prod p6eval into rebuilding rakudo-nom right away instead of waiting for the next update | ||
the next timed update | |||
21:50
jferrero joined
|
|||
pmichaud | I already know about "nom: " on p6eval. | 21:51 | |
masak | pmichaud: ...while avoiding race conditions and p6eval locking up... | 21:53 | |
pmichaud | if it's hard or can't be done, then I can live with the current system, yes. | ||
I figured it was an easyish sort of thing to do. If not, no biggie. | 21:54 | ||
masak | maybe I'm just being overly pessimistic. | ||
pmichaud | I know that I see other people restart it from time to time. | ||
(and it seems to get the update when they do their magic) | 21:55 | ||
PerlJam | it's too bad there isn't some sort of smart queue that you can just inject a "rebuild nom" message or even "build nom SHA1" | 21:57 | |
masak | blog post! strangelyconsistent.org/blog/june-2...11-hangman | ||
dalek | kudo/nom: 047ab6a | pmichaud++ | src/ (3 files): More nqp:: updates. For now I've put some 'generic' nqp:: ops migrate to the nqp repo. |
21:59 | |
22:00
tylercurtis joined
|
|||
sorear | hmm. might be doable | 22:02 | |
although you'd have to wait a bit | |||
and you wouldn't know how long to wait, without login access | |||
lichtkind | thou: the article is ready if you want to look at it | 22:05 | |
sorear is looking for good shell-accessible mutual exclusion programs | 22:06 | ||
felher | masak++ for blog post | 22:11 | |
sorear | 6model: hi | 22:13 | |
22:14
alester joined
|
|||
thou | hi, lichtkind. ok, sure | 22:14 | |
lue | hello world! o/ | 22:15 | |
sorear would like to at least try :) | |||
hello lue!! | |||
22:16
daniel-s joined
|
|||
masak | hi lue! | 22:16 | |
'night, #perl6 | 22:17 | ||
22:18
masak left
22:20
[particle]1 joined
|
|||
diakopter | sorear: too long ago; a very distant memory | 22:22 | |
I touched only one script I think | |||
22:23
PacoLinux left
22:25
MayDaniel left
22:29
cotto joined
|
|||
sorear | evalbot control restart | 22:34 | |
22:34
p6eval joined,
ChanServ sets mode: +v p6eval
22:39
p6eval left
22:40
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
sorear | niecza: say 2 + 2 # pmichaud | 22:41 | |
p6eval | niecza v6-177-g365e216: OUTPUT«4» | ||
sorear | evalbot rebuild niecza | ||
p6eval | OK (started asyncronously) | ||
sorear | niecza: say 2 + 2 | ||
p6eval | niecza v6-177-g365e216: OUTPUT«Rebuild in progress» | ||
sorear | niecza: say 2 + 2 | ||
p6eval | niecza v6-177-g365e216: OUTPUT«4» | ||
pmichaud | +1 | 22:42 | |
+2 | |||
benabik | sorear++ | ||
kboga | pmichaud: is this helpful? pastebin.com/mNwkfhTz | 22:46 | |
sorear | moritz: is there anything special I have to do to push from the evalbot machine? | 22:49 | |
23:03
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
23:04
daniel-s left
|
|||
dalek | albot: 5e15117 | sorear++ | / (4 files): Allow issuing restart commands, and do a bit of mutual exclusion locking |
23:06 | |
albot: 20fc7c7 | sorear++ | lib/EvalbotExecuter.pm: Drop max_output_len a bit to stop Bot::BasicBot from making orphans |
|||
pmichaud | kboga: cool, thanks for the patch! I'll review and apply shortly. | 23:07 | |
kboga | also, i think commit 047ab6af0681a427d739 removed the Num's modulo infix operator | ||
pmichaud | kboga: it appears part of the patch may be missing at the end? | 23:08 | |
kboga | hmm, let me see | ||
resubmission: pastebin.com/SavXvfVU | 23:10 | ||
TimToady | sorear: if you happen to notice in passing where the (timeout) overwrites the output... | 23:13 | |
sorear | TimToady: I'm fixing that now | 23:15 | |
mildew: say 2 + 2 | 23:16 | ||
p6eval | mildew: OUTPUT«sh: /home/mildew/perl5/perlbrew/bin/perl: not found» | ||
sorear | is mildew likely to ever work again or should I just axe it now? | ||
pmichaud | reviewing... | 23:17 | |
23:17
whiteknight left
23:19
gfldex joined
|
|||
pmichaud | compiling | 23:20 | |
23:21
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
23:23
cdarroch left
|
|||
TimToady | sorear: I'd say ax it | 23:23 | |
pmichaud | kboga: applied, thanks! kboga++ | 23:24 | |
kboga | pmichaud: np, thanks for reviewing | 23:25 | |
pmichaud | afk, fetching dinner | ||
dalek | kudo/nom: 4272fe4 | pmichaud++ | src/core/ (13 files): Patches to convert many pir:: ops into nqp:: ops. Patch courtesy kboga++ via IRC. |
23:27 | |
sorear | hehe... | 23:30 | |
rakudo: say "hi"; 1 while 1 | |||
p6eval | rakudo 7175e5: OUTPUT«hi(timeout)» | ||
sorear | fixed? well... | ||
rakudo: say "$_ " for 1..* | 23:31 | ||
p6eval | rakudo 7175e5: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69  | ||
sorear | I don't think cutting off (timeout) is the most useful behavior. | ||
23:32
tokuhirom joined
23:36
whiteknight joined
|
|||
lichtkind | thou: got it? | 23:36 | |
thou | looking... | 23:37 | |
lichtkind | thanks :) | ||
kboga | oh typo in 047ab6af0681a427d739: pow_n => 'mod__Nnn', (patch coming up) | 23:39 | |
TimToady | sorear: nevertheless, it's more useful than overwriting the front | ||
23:40
p6eval left
|
|||
TimToady | esp when you already know it's gotta be infinite | 23:40 | |
23:40
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
TimToady | maybe s/OUTPUT/TIMEOUT/ in that case | 23:41 | |
TIMEOUTPUT«1 2 3 4 5 6  :) | |||
23:43
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
kboga | small patch to fix some typo and the missing % operator: pastebin.com/Gd1kynKh | 23:43 | |
sorear | rakudo: "$_ ".say for 1..* | ||
p6eval | rakudo 7175e5: OUTPUT«(timeout)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | ||
sorear | rakudo: my $x; $x := $x; $x = 5 | ||
p6eval | rakudo 7175e5: OUTPUT«Segmentation fault» | ||
sorear | wtf | 23:44 | |
I just added code to print "(signal " . ($? & 127) . "?" | |||
oh, hmm, I didn't actually have the & there | 23:45 | ||
maybe $? is a dualvar | |||
TimToady | I believe it is | ||
or maybe not | 23:46 | ||
$! is | |||
sorear | well I won't complain. :) | 23:47 | |
TimToady | it would be OT :) | ||
lichtkind | what is a dualvar? | ||
TimToady | a p5 var with both a string and numeric value | 23:48 | |
dalek | albot: 94a9b38 | sorear++ | / (2 files): Fix (timeout) overwriting, generate errors for signal-exit |
||
23:48
icwiener left
|
|||
lichtkind | TimToady: and both are different? | 23:48 | |
23:48
mberends left
|
|||
TimToady | they're not autmatically derivable from the other value | 23:49 | |
lichtkind | i never noticed that, thank you | ||
TimToady | any scalar can have both a numeric and string value, but that's just caching a coercion | 23:50 | |
you can set $! to an errno, and it will give you back a string with the error message (in P5) | 23:51 | ||
sorear | buubot_backup: eval: (kill 9, 1), [ 0 + $!, "" . $! ] | ||
buubot_backup | sorear: [1,"Operation not permitted"] | ||
spetrea | I shaved my head i.imgur.com/MIqkW.jpg | ||
23:51
tokuhir__ joined
|
|||
sorear | buubot_backup: eval: (unlink "/tmp/pies"), [ 0 + $!, "" . $! ] | 23:52 | |
buubot_backup | sorear: [2,"No such file or directory"] | ||
sorear | that's how it works | ||
TimToady: who is responsible for PerlIO? Should p6 try to offer something similar? | 23:53 | ||
TimToady | um, that's what all the discussion of the S32/IO has been about | 23:54 | |
sorear | I think I've improved p6eval enough for today. | ||
TimToady | you could put ...⌛ on the end if it times out :) | ||
.u ⌛ | |||
phenny | U+231B HOURGLASS (⌛) | ||
23:55
Tene joined
|
|||
sorear | S32/IO doesn't seem to have any STREAMSish features | 23:55 | |
at most it handles encodings | |||
23:56
tokuhirom left
|
|||
TimToady | there are other possible ways to model that in p6, I suppose, anywhere from a fancy "encoding" to a variant on feed operators | 23:59 |