»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! Set by sorear on 23 June 2013. |
|||
00:11
Chillance left
|
|||
masak | 'night, #perl6 | 00:26 | |
00:29
crab2313 left
00:39
benabik joined
00:43
moritz joined,
Guest1337 left
00:46
_ilbot joined,
moritz left,
_ilbot left
00:50
dayangkun joined
00:53
moritz joined,
moritz left
01:02
_ilbot joined,
diederich joined,
_ilbot left
01:04
ssutch joined
|
|||
ssutch | hello p6 | 01:04 | |
diakopter | howdy | 01:05 | |
01:06
ozmq left
|
|||
ssutch | so i am using parameterized 'use' - however, if in the file i am importing i start ith with 'module Foo;' my EXPORT function is not picked up, however, if i remove the module statement, it works as expected | 01:07 | |
is that a bug? | |||
01:08
daniel-s left
|
|||
ssutch | if the EXPORT sub in that file is in a module at all (using curly module { our sub EXPORT(*@args) { } }) then it also doesn't work | 01:09 | |
Error while importing from 'Foo': no EXPORT sub, but you provided positional argument in the 'use' statement | |||
diakopter | method? | ||
ssutch | method? | 01:10 | |
diakopter | (I don't know) | ||
ssutch | oh, call it a method instead of sub? | ||
01:10
moritz joined,
moritz left
|
|||
ssutch | pmichaud do you have any feedback on rakudo PR 170? github.com/rakudo/rakudo/pull/170 | 01:11 | |
01:13
_ilbot joined,
_ilbot left
|
|||
ssutch | (or anyone, for that matter) | 01:13 | |
01:15
moritz joined
01:16
daniel-s joined
|
|||
diakopter | ssutch: there's lots of discussion history on deepness of clones: www.google.com/search?q=site%3Airc...erl6+clone (see the caches while the log is down) | 01:16 | |
01:16
moritz left
|
|||
ssutch | interesting, thanks | 01:18 | |
01:20
pdurbin joined,
moritz joined
01:22
moritz left
01:24
FROGGS_ joined
01:26
FROGGS left
01:30
_ilbot joined,
_ilbot left
01:33
xilo left
01:42
_ilbot joined,
_ilbot left
|
|||
ssutch | trying to export a symbol within a package in EXPORT - but i must be doing something wrong: gist.github.com/samuraisam/5855270 | 01:43 | |
01:45
btyler joined
01:47
drbean_ joined
|
|||
ssutch | PB::Hello is never available | 01:48 | |
01:48
drbean left,
drbean_ is now known as drbean
|
|||
diakopter | namespaces can only be created the parser, afaik | 01:53 | |
01:53
moritz joined,
moritz left
01:54
ldthien0 joined
02:04
dayangkun left
02:06
dayangkun joined
|
|||
ssutch | d'oh | 02:09 | |
02:09
pdurbin left
02:15
_ilbot joined
02:16
moritz joined,
_ilbot left,
moritz left
02:18
dayangkun left,
dayangkun joined
|
|||
dalek | ecza: 43813cf | (Solomon Foster)++ | lib/CORE.setting: Removing incorrect --> Set. |
02:19 | |
02:25
SamuraiJack joined
02:27
moritz joined,
moritz left
02:31
user1231 joined
02:37
vk_ left
02:45
atroxaper joined
|
|||
geekosaur | ... | 02:45 | |
geekosaur thinks the parrot folks may have some internal issues to work out... | |||
02:46
raiph left,
user1231 left
02:47
user1231 joined,
_ilbot joined,
user1231 left
|
|||
rjbs | I just did a moderation run on the perl.org lists and unfortunately at least one message from that thread was sitting in moderation too long to go out. :( | 02:47 | |
02:47
_ilbot left
02:49
moritz joined,
ldthien0 left
02:50
moritz left
|
|||
lue | geekosaur: why? (just curious is all) | 02:51 | |
rjbs | lue: There are some differing opinions about how its future should look, q.v. lists.parrot.org/pipermail/parrot-d...07489.html | 02:53 | |
geekosaur | dukeleto appears to have told the rest of the parrot project to fork off. (as in "I'm going my way, you do whatever") | ||
02:54
moritz joined
02:55
moritz left
|
|||
lue was unaware that MoarVM came from m0 | 02:59 | ||
03:00
Jimmy__ joined
03:01
Jimmy__ is now known as JimmyZ_
|
|||
benabik | It's more "MoarVM" achieves the small slim VM idea of M0 | 03:01 | |
lue | I should've guessed that from the phrase "spiritual successor" | 03:02 | |
03:02
raiph joined
|
|||
JimmyZ_ | last I heard it of lua/luajit, not m0 | 03:03 | |
colomon | rn: say {}.defined | 03:08 | |
camelia | rakudo b9869c, niecza v24-83-g43813cf: OUTPUT«True» | ||
diakopter | geekosaur: there isn't a "rest of the parrot project" | 03:09 | |
colomon | rn: say {}.perl; | 03:11 | |
camelia | rakudo b9869c, niecza v24-83-g43813cf: OUTPUT«{}» | ||
03:13
shinobicl joined
03:14
JimmyZ_ left
|
|||
shinobicl | r: role Step { sub doStep{ say "One step" } }; class Thing { has $.stuff = 1; }; my Thing $obj .= new(); $obj does Step; say $obj.doStep(); | 03:14 | |
camelia | rakudo b9869c: OUTPUT«No such method 'doStep' for invocant of type 'Thing+{Step}' in block at /tmp/ko34mrlv44:1» | ||
shinobicl | std: role Step { sub doStep{ say "One step" } }; class Thing { has $.stuff = 1; }; my Thing $obj .= new(); $obj does Step; say $obj.doStep(); | 03:16 | |
camelia | std d4cc5ab: OUTPUT«ok 00:00 45m» | ||
benabik somewhat objects to people saying dukeleto is the only member of parrot. | 03:20 | ||
benabik also has to admit he has an extreme lack of tuits. | 03:21 | ||
diakopter | benabik: you're right; I shouldn't say that when my definition of "member" is so severe | 03:27 | |
colomon | anyone know how to get the fudgers to fudge a block which is indented? | 03:30 | |
afk # but will check in the morning for answers.... | |||
03:31
preflex_ joined,
ChanServ sets mode: +v preflex_,
preflex left,
preflex_ is now known as preflex
03:32
_ilbot joined
03:33
_ilbot left
03:39
phpdude left
03:43
moritz joined,
moritz left
03:44
dayangkun left
03:48
moritz joined
03:49
moritz left
03:53
phpdude joined,
_ilbot joined,
_ilbot left
03:57
phpdude left,
phpdude joined
04:01
BenGoldberg left
04:02
phpdude left
04:05
moritz joined,
moritz left
04:10
phpdude joined
04:14
phpdude left,
phpdude joined,
SmokeMachine joined
04:15
_ilbot joined,
_ilbot left
04:19
phpdude left
04:20
phpdude joined
04:22
fridim_ left
04:24
phpdude left
04:25
phpdude joined
04:27
Psyche^ joined
04:30
phpdude left
04:31
Patterner left,
Psyche^ is now known as Patterner
04:38
_ilbot joined
04:39
_ilbot left
04:43
ldthien0 joined
|
|||
dalek | kudo/nom: 7192039 | labster++ | src/core/ (3 files): Implement Complex.ceiling, .floor, .round to fix inf recursion in Complex. This works identically to Mathematica, (other than midpoint rounding, where they round down). |
04:49 | |
kudo/nom: 4f2a3c8 | labster++ | src/core/ (3 files): coerce to real in rounders to make cool-num.t pass |
|||
04:50
birdwindupbird joined
|
|||
labster | taking all complaints on ^^ now | 04:50 | |
04:57
raiph left
05:02
tomyan joined
05:08
ldthien0 left
05:10
moritz joined,
moritz left
05:11
dukeleto left
05:15
moritz joined,
_ilbot joined,
_ilbot left,
moritz left
05:24
btyler left
05:27
domidumont joined
05:34
domidumont left
05:36
domidumont joined
05:42
kaleem joined
05:43
kaleem left
05:48
SmokeMachine left
|
|||
ssutch | it doesn't appear possible at all to create namespaces at runtime | 05:49 | |
05:50
ldthien0 joined
05:52
dmol joined
|
|||
diakopter | yeah; since the compiler understands them, they have to be declared before/while the compiler is running | 05:55 | |
05:58
moritz joined,
moritz left,
ecocode joined
06:01
PacoAir joined
06:02
FOAD left,
FOAD joined
06:06
PacoAir left,
_ilbot joined,
_ilbot left
06:09
moritz joined,
moritz left
06:13
FROGGS_ left
06:18
xlat joined
06:23
dmol left
06:27
tomyan left
06:38
ozmq joined
|
|||
ssutch | yeah, that's ok | 06:38 | |
for these generated classes i can just use a prefix | 06:39 | ||
06:43
FROGGS_ joined
06:46
_ilbot joined,
kaleem joined,
_ilbot left
06:51
domidumont left
06:56
eternaleye left
06:57
eternaleye joined
07:00
_ilbot joined,
_ilbot left
07:02
FROGGS_ is now known as FROGGS
07:06
domidumont joined
07:07
domidumont left,
domidumont joined
07:08
moritz joined,
moritz left
07:10
tomyan joined
07:12
sqirrel joined
07:15
tomyan left,
tomyan_ joined
|
|||
ssutch | sorear: is this github.com/sorear/niecza/blob/8e50...l.cs#L1154 how niecza does .clone? | 07:15 | |
paired with this: github.com/sorear/niecza/blob/2692...s.cs#L2798 | 07:16 | ||
lizmat | ssutch: wrt to EXPORT: the sub needs to live in UNIT space, so outside any class definition | 07:23 | |
could that be your problem with EXPORT ? | 07:24 | ||
and good * #perl6! | |||
ssutch | lizmat: perhaps; if i use EXPORT simply, it works ok, so if i return a hash containing subs, it's ok | ||
lizmat | this is really part of the confusion that surrounds modules / compunits / etc. | 07:26 | |
07:29
_ilbot joined
07:30
_ilbot left
|
|||
sorear | ssutch: Yes | 07:37 | |
good * #perl6 | 07:38 | ||
ssutch | cool | ||
it's a lot easier to understand than rakudo's clone | |||
FROGGS | ho sorear | 07:39 | |
sorear | timotimo: hi | ||
mls: NQP can't be bootstrapped right now without modifications to the makefile, which I haven't done yet | 07:40 | ||
mls: what do you need to bootstrap for? remember, every time you do it it adds a $lot to the size of the repository and slows down every subsequent clone | |||
07:41
berekuk joined
|
|||
sorear | masak: HoTT has been linked to be before. I'll look at it. Someday. | 07:41 | |
jnthn: Consider me started on method splitting. I've worked out most of the details | 07:42 | ||
07:42
woolfy left,
fhelmberger joined
07:43
_ilbot joined,
_ilbot left,
sitaktif left
07:45
sitaktif joined
07:54
berekuk left
|
|||
ssutch | more clone tests: github.com/samuraisam/roast/compar...lone-tests | 07:55 | |
07:56
bloonix joined
|
|||
jnthn | sorear++ # nice! :) | 08:01 | |
08:03
domidumont left
|
|||
FROGGS | why do I need method splitting? | 08:05 | |
08:05
domidumont joined,
eternaleye left
|
|||
sorear | FROGGS: because methods are limited to 65535 bytes of bytecode, and we have some test files with lots of tests that are currently completely failing because they run into the limit | 08:05 | |
FROGGS | ahh, I see | 08:06 | |
thanks | |||
sorear | jnthn: so it looks like I'm adding asm-commons-4.1.jar and asm-tree-4.1.jar into 3rdparty | 08:07 | |
ssutch | does anyone have any comments on this before i merge it? github.com/samuraisam/roast/compar...lone-tests | ||
*doing dishes whilst rakudo compiles* | 08:09 | ||
FROGGS | ssutch: do the tests pass? | ||
sorear | jnthn: ...it appears some smart-aleck decided that it would be a good idea to strip generic signatures in the non-debug library, so we need to either include the debug version of the library or @SuppressWarnings("unchecked") | 08:10 | |
08:11
moritz joined,
moritz left
|
|||
diakopter | sorear: it was my understanding javac always did that | 08:12 | |
ssutch | FROGGS: yes, with my patch | ||
FROGGS | ssutch: is that in a separate pull request? or is it already merges in? | 08:14 | |
merged* | |||
ssutch | in a rakudo PR | ||
jnthn | sorear: Well, the non-debug version does load faster... | ||
sorear: What are the licenses of the things you're adding? Same as asm itself? | |||
ssutch | FROGGS: in this PR, github.com/rakudo/rakudo/pull/170 and ive got a better version of it to push here in a few minutes when spectests finish (assuming they finish properly) | 08:15 | |
FROGGS | ssutch: k, then please mark the new tests as todo tests, if you can check if these fail for niecza and pugs then mark them as todo for these too | ||
ssutch | FROGGS can do | 08:16 | |
08:16
eternaleye joined
|
|||
FROGGS | ssutch: in general, you can freely add tests to roast, as long as they dont fail, that's why todo or skip (todo is when they are parseable, skip when not) | 08:16 | |
sorear | jnthn: they're part of asm. the asm folks seem to have put each package in its own jaer | ||
jnthn | sorear: ah, gotcha | ||
FROGGS | ssutch++ | ||
sorear | jnthn: opinions on bundling debug vs SuppressWarnings? | 08:17 | |
jnthn | sorear: Well, I'm a little reluctant to go a way that makes load time ever longer... | ||
FROGGS | SuppressWarnings++ | 08:18 | |
08:18
ozmq left
|
|||
diakopter | ENOCHECKS | 08:18 | |
oh, I was thinking of jitted code at runtime | 08:19 | ||
ssutch | FROGGS, thanks, that makes sense | ||
diakopter | re type erasure | ||
ssutch | actually these tests pass on rakudo/nom, and niecza but im not so sure about pugs | ||
it was some previous ones i committed that did not | 08:20 | ||
08:21
_ilbot joined
|
|||
dalek | ast: 03f61f5 | (Samuel Sutch)++ | S12-attributes/clone.t: make these classes lexical to be nice to future test writers |
08:21 | |
ast: 4937188 | (Samuel Sutch)++ | S12-attributes/clone.t: test that deep attribute copying does not occur |
|||
08:21
_ilbot left,
woolfy joined
|
|||
sorear | jnthn: Suspect that requiring two new jars on the runtime classpath is going to be a bit disruptive | 08:27 | |
jnthn | sorear: Disruptive? | 08:28 | |
08:28
dag joined
|
|||
sorear | jnthn: tending to break rakudo's build | 08:28 | |
ahaha. the rx.t qb_1 has an estimated size of min=293704 max=320675 | 08:29 | ||
jnthn | o.O | ||
sorear | clearly needs to be split. | 08:30 | |
lizmat | afk for a few hours& | ||
FROGGS | lizmat: have fun | 08:31 | |
diakopter | it wouldn't be hard to make moarvm have a 32-bit instruction space when it needs to | ||
08:32
dakkar joined
08:33
moritz joined,
moritz left
08:34
eternaleye left
08:35
berekuk joined
08:36
eternaleye joined
|
|||
ssutch | n: my class Foo { has @.omg; }; my $a = Foo.new(:omg<a b c>); my $b = $a.clone; push $a.omg, "nowai"; say "a={$a.perl} b={$b.perl}" | 08:41 | |
camelia | niecza v24-83-g43813cf: OUTPUT«a=Foo.new(...) b=Foo.new(...)» | ||
ssutch | n: my class Foo { has @.omg; }; my $a = Foo.new(:omg<a b c>); my $b = $a.clone; push $a.omg, "nowai"; say "a={$a} b={$bl}" | 08:42 | |
camelia | niecza v24-83-g43813cf: OUTPUT«===SORRY!===Variable $bl is not predeclared at /tmp/jgm0to2rvR line 1:------> e; push $a.omg, "nowai"; say "a={$a} b={⏏$bl}"Potential difficulties: $b is declared but not used at /tmp/jgm0to2rvR line 1:------> … | ||
sorear | jnthn: do you think switching would have that noticable of an effect on startup time? we're using hundreds of unstripped classes from rt.jar... | ||
ssutch | n: my class Foo { has @.omg; }; my $a = Foo.new(:omg<a b c>); my $b = $a.clone; push $a.omg, "nowai"; say "a={$a.omg} b={$b.omg}" | ||
camelia | niecza v24-83-g43813cf: OUTPUT«a=a b c nowai b=a b c nowai» | ||
ssutch | is that correct? altering the array on the original should update the copy? | 08:43 | |
08:43
_ilbot joined
|
|||
sorear | ssutch: Well, there's only one array... | 08:43 | |
it's not like you ever called .clone on an Array object | 08:44 | ||
08:44
moritz joined
|
|||
ssutch | yes, ok | 08:44 | |
that was my thinking | |||
jnthn | sorear: I recall comparing the NQP "make test" times between the two and getting a fairly sizable difference. Feel free to repeat the experiment; maybe I mis-measured. | ||
08:46
eternaleye left,
_ilbot left,
moritz left,
salv0 left
08:48
eternaleye joined
08:49
moritz joined,
moritz left
08:51
fhelmberger left
|
|||
sorear | jnthn: i wonder if adding two jars wuldn't be just as bad | 08:51 | |
dalek | ast: 57029c6 | (Samuel Sutch)++ | S12-attributes/clone.t: yet more clone tests => ensure against deep copy of array/hash attributes |
08:53 | |
08:53
eternaleye left
|
|||
jnthn | sorear: Not sure; they're independent decisions, though? | 08:53 | |
dalek | p/flush_cache: 33a807f | (Tobias Leich)++ | src/how/NQPClassHOW.nqp: flush an objects cache when mixin in ... if this object already is an mixin. Otherwise when mixin in several things in a row, it would collect precomputed NFAs and this would result in bigger files when serializing it. Example: declare 10 infixes, was 9MB .pir file, is now 1.2MB. compiling it to pbc took 49s now takes 0.8s. |
08:54 | |
08:54
_ilbot joined
|
|||
sorear | jnthn: the debug jar includes all the packages | 08:54 | |
08:54
tomyan_ left
|
|||
jnthn | sorear: Oh! | 08:54 | |
08:54
_ilbot left
|
|||
jnthn | sorear: No wonder the size difference was so much! | 08:55 | |
08:55
eternaleye joined
|
|||
sorear may be writing a bytecode verifier. | 08:56 | ||
dalek | kudo/flush_cache: 9009440 | (Tobias Leich)++ | src/Perl6/Metamodel/Mixins.nqp: flush an objects cache when mixin in ... if this object already is an mixin. Otherwise when mixin in several things in a row, it would collect precomputed NFAs and this would result in bigger files when serializing it. Example: declare 10 infixes, was 9MB .pir file, is now 1.2MB. compiling it to pbc took 49s now takes 0.8s. |
08:58 | |
FROGGS | jnthn: can I merge it in right away? | 08:59 | |
sorear | why is imcc superlinear? (dumb question) | ||
"because it's imcc" | |||
08:59
moritz joined,
moritz left
09:00
eternaleye left
|
|||
jnthn | FROGGS: lemme review quicly | 09:01 | |
FROGGS: passes all the specets,s eys? | |||
ffs | |||
FROGGS: passes all the spectests, yes? | |||
ssutch | okay, this is more sane now: github.com/rakudo/rakudo/pull/170/files | 09:02 | |
jnthn | + method flush_cache($obj) { <...> } | ||
<...> will actually return the string '...' :) | |||
Better that's just an empty method body. | |||
+ has $!is_mixin; | 09:03 | ||
no, wait, it's fine | |||
I'm a bit surprised it's not being initialized anywhere else | 09:04 | ||
09:04
moritz joined
|
|||
jnthn | Like, set to 0 in BUILD | 09:04 | |
FROGGS | jnthn: spectests are fine | ||
jnthn | ok | ||
FROGGS | hmmm, I can do that... | ||
jnthn | OK. That aside I think I'm happy enough with it :) | 09:05 | |
FROGGS | cool :o) | ||
09:08
eternaleye joined
09:09
ozmq joined
09:11
_ilbot joined,
bbkr left
09:13
eternaleye left
|
|||
moritz | oh hai. the clogs are back, with ipv4 only :/ | 09:19 | |
sorear | hi moritz | 09:20 | |
moritz: let me know when you want the topic changed back | 09:21 | ||
moritz | sorear: you can change it back now | ||
jnthn | .oO( When will ipv6 be finished? ) |
||
09:21
ChanServ sets mode: +o sorear
|
|||
tadzik | jnthn: it's for early adopters ;) | 09:22 | |
sorear | »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | 09:22 | |
09:23
sorear sets mode: -o sorear
|
|||
sorear | it's going back to collabti if I hear any complaints about reliability | 09:23 | |
jnthn | tadzik: Yes, but is it production readY? ;) | 09:24 | |
moritz | it's for early producers! | 09:30 | |
09:31
rindolf joined
|
|||
mls | sorear: it turned out that the Makefile just needs a "/nqp.jar" in the STAGE0_NQP definition | 09:33 | |
09:34
daxim joined
|
|||
mls | sorear: I'm removing that "priorInvocation" element from the StaticCodeInfo | 09:35 | |
sorear | mls: um | 09:47 | |
I asked jnthn earlier if that was still needed, and he said yes | |||
mls | yes, it is currently needed. That's why I'm also removing the need for it. | 09:48 | |
jnthn | I'm presuming mls means "removing it by replacing what it does with a different/better mechanism" | ||
mls | I did that two years ago for parrot, I don't see why it can't be done for the jvm. | ||
sorear | curious what the replacement is :) | 09:49 | |
jnthn too :) | |||
mls++ # looking into removing a memory leak | |||
mls | It's basically just capturing the outers previously | ||
I almost have it working, when nqp passes again I'll paste a patch and we can discuss if it's totaly insane or the way to go ;) | 09:51 | ||
09:51
SmokeMachine joined
|
|||
mls | (it's not only a memory leak, it's also that I don't think it can work with multiple threads. Why should it matter for a different thread of one thread calls a sub?) | 09:52 | |
jnthn | mls: Yes, it's also a problem for that. | 09:53 | |
sorear | now for the part where I actually write a verifier | ||
jnthn | mls: Which will be important soon :) | ||
09:53
domidumont left,
eternaleye joined
|
|||
jnthn wonders if he will actually have time to do any of the parallelism/concurrency stuff ahead of YAPC::EU... | 09:54 | ||
09:56
spider-mario joined
09:58
ldthien0 left,
eternaleye left
09:59
berekuk left,
eternaleye joined
10:01
domidumont joined
10:03
ozmq left,
berekuk joined
10:05
domidumont left
10:10
domidumont joined
10:11
domidumont left,
domidumont joined
|
|||
dalek | p/flush_cache: fc95a49 | (Tobias Leich)++ | src/how/NQPClassHOW.nqp: initialize $!is_mixin in method BUILD |
10:25 | |
p: 33a807f | (Tobias Leich)++ | src/how/NQPClassHOW.nqp: flush an objects cache when mixin in ... if this object already is an mixin. Otherwise when mixin in several things in a row, it would collect precomputed NFAs and this would result in bigger files when serializing it. Example: declare 10 infixes, was 9MB .pir file, is now 1.2MB. compiling it to pbc took 49s now takes 0.8s. |
10:26 | ||
p: fc95a49 | (Tobias Leich)++ | src/how/NQPClassHOW.nqp: initialize $!is_mixin in method BUILD |
|||
kudo/flush_cache: 8f8f134 | (Tobias Leich)++ | src/Perl6/Metamodel/Mixins.nqp: have an empty method decl |
10:28 | ||
moritz | FROGGS++ | 10:29 | |
dalek | kudo/nom: 9009440 | (Tobias Leich)++ | src/Perl6/Metamodel/Mixins.nqp: flush an objects cache when mixin in ... if this object already is an mixin. Otherwise when mixin in several things in a row, it would collect precomputed NFAs and this would result in bigger files when serializing it. Example: declare 10 infixes, was 9MB .pir file, is now 1.2MB. compiling it to pbc took 49s now takes 0.8s. |
||
kudo/nom: 8f8f134 | (Tobias Leich)++ | src/Perl6/Metamodel/Mixins.nqp: have an empty method decl |
|||
FROGGS | :o) | ||
SPAM\o/ | |||
moritz | double karma for that (Tobias Leich)++ guy | 10:30 | |
FROGGS | *g* | ||
10:33
pecastro joined
10:35
berekuk left,
atroxaper left
10:38
Stygia joined
|
|||
timotimo | hello | 10:56 | |
lizmat | timotimo! | 10:57 | |
timotimo | oh no, did i do something wrong? :P | 10:58 | |
jnthn | yeah, you said "hello", dammit :P | 10:59 | |
sorear suddenly realizes that it might be better to copy the almost-but-not-quite verifier from MethodWriter and modify that | |||
jnthn | sorear: Why the verifier, ooc? To make sure the splitting doesn't go wild? | ||
sorear: Or 'cus you're tired of code-gen errors showing up as NullPointerException? ;) | 11:00 | ||
sorear | jnthn: I can't split properly unless I know what the types on the stack are. | 11:01 | |
jnthn | sorear: ah, I see | ||
sorear | unfortunately, the MethodWriter verifier is... really tightly integrated with other stuf | 11:02 | |
jnthn wonders how many more tests sorear++ will win us with the splitting :) | 11:03 | ||
sorear | stores scratch values in package-private fields on Label, etc | ||
jnthn | Given that it will enable us to attempt some of the large test files we currently can't :D | ||
Oh, ouch | |||
11:03
Chillance joined
|
|||
masak | good afternoon, #perl6 | 11:04 | |
sorear | o/ masak | ||
lizmat | masak! | 11:05 | |
jnthn | o/ masak | ||
lizmat | I think FROGGS++ changes cause the PIR stage to go from Stage pir from 9.105 to 5.669 seconds | ||
11:06
eternaleye left
|
|||
masak | FROGGS++ # a really good point made on parrot-dev | 11:06 | |
lizmat | percentage wise a great win… alas, not much in the grand scheme of 6 minutes to do a make on my machine | 11:07 | |
running spectest now | 11:08 | ||
11:11
cogno joined
|
|||
timotimo | that's still a good thing :) | 11:11 | |
perhaps it also causes the setting to become smaller, i'd like that really much | |||
11:14
berekuk joined
|
|||
lizmat | ls -lsh CORE.setting.pbc | 11:17 | |
33776 -rw-r--r-- 1 liz liz 16M Jun 25 13:00 CORE.setting.pbc | |||
timotimo | that's not much smaller, i think it was 17M once? | ||
the majority is still small integers being stored in big memory locations | 11:18 | ||
lizmat | an older settings.pbc: 28864 -rw-r--r-- 1 liz liz 14M May 31 18:32 CORE.setting.pbc | ||
11:18
eternaleye joined
|
|||
timotimo | could that be caused by fewer things implemented? it's not that old ... | 11:19 | |
11:20
benabik left
|
|||
lizmat | I have no idea… I know I added quite some code for handling adverbs on hash slices | 11:20 | |
timotimo shrugs | 11:22 | ||
11:30
salv0 joined
|
|||
lizmat | S11:206 states: "The C<need> declarator takes a list of modules and loads them" but doesn't show an example | 11:32 | |
r: use Test Test # doesn't work | |||
camelia | rakudo 8f8f13: OUTPUT«===SORRY!===Could not find sub &Test» | ||
lizmat | r: use Test, Test # doesn't work | ||
camelia | rakudo 8f8f13: OUTPUT«===SORRY!===Confusedat /tmp/pq5pGtijMv:1------> use Test⏏, Test # doesn't work expecting any of: statement list» | ||
lizmat | so I'm wondering what a list of modules would look like in this context | 11:33 | |
FROGGS | ohh, all that karme R-) | ||
karma* | |||
std: need Test, Test; | |||
camelia | std d4cc5ab: OUTPUT«Compiled lib/Test.pm6ok 00:00 43m» | 11:34 | |
FROGGS | interesting output | ||
std: need Test; | |||
camelia | std d4cc5ab: OUTPUT«ok 00:00 41m» | ||
FROGGS | std: need Test, Test, Test; | ||
camelia | std d4cc5ab: OUTPUT«ok 00:00 41m» | ||
11:34
potatogim left
|
|||
FROGGS | std: need Test, Test; | 11:34 | |
camelia | std d4cc5ab: OUTPUT«ok 00:00 41m» | ||
FROGGS | ahh, it did it once | ||
lizmat | actually, the comma syntax is shown a bit later in the spec | 11:35 | |
*sigh* | |||
sorry for the noise | 11:36 | ||
on the brighter side: the spectest just came out ok | |||
FROGGS | np, we have this room for makes noise :o) | ||
11:37
ztt_ joined
|
|||
lizmat | at +16 clone tests, it used 55 CPU seconds more than the one I did just before | 11:38 | |
so no visible effect for the spectest :-( | |||
FROGGS | making* | ||
bah, I really need to start learning how to type | |||
11:42
fhelmberger joined,
ztt_ left
|
|||
moritz | typing is roverrated | 11:43 | |
FROGGS | yaeh :/ | 11:44 | |
lizmat | idneed | ||
11:44
Stygia left
|
|||
lizmat | r: my $x=1; sub a { import CALLER <$x>; say $x }; a # shouldn't this work? | 11:49 | |
camelia | rakudo 8f8f13: OUTPUT«===SORRY!===Could not find module CALLER to import symbols fromat /tmp/kZOiDQcAKl:1------> my $x=1; sub a { import CALLER <$x>⏏; say $x }; a # shouldn't this work? expecting any of: postfix» | ||
11:49
Stygia joined
|
|||
lizmat | n: my $x=1; sub a { import CALLER <$x>; say $x }; a # shouldn't this work? | 11:49 | |
camelia | niecza v24-83-g43813cf: OUTPUT«===SORRY!===Action method statement_control:import not yet implemented at /tmp/qXWYCBhSYx line 1:------> my $x=1; sub a { import CALLER <$x>⏏; say $x }; a # shouldn't this work?Unhandled exception: Unable to resol… | ||
jnthn | Given CALLER is a rather runtime thing, and import happens at BEGIN time, it looks odd to me. | ||
lizmat | r: my $x=1; sub a { my $y:= $CALLER::x; say $y }; a # this works | 11:50 | |
camelia | rakudo 8f8f13: OUTPUT«1» | 11:51 | |
jnthn | Yes, but there it's resolved at runtime when we know what the caller is | ||
timotimo | FROGGS: i've typed much better since i learnt to type neo2, maybe you'll find it interesting, too? | ||
lizmat | I think I'll throw away the section "Importing from a pseudo-package" from S11 | ||
jnthn | OUTER makes more sense | ||
as does GLOBAL | |||
But CALLER is...kinda odd | |||
Unless it means "set a lexical $x up and arrange CALLER::<$x> to be bound to it | 11:52 | ||
" | |||
FROGGS | timotimo: omfg | ||
jnthn | But that again feels odd as import does its binding at BEGIN time in normal circumstances, so it'd have to be a weird special case. | ||
Thanks to closures, so would OUTER... | 11:53 | ||
11:55
Stygia left
|
|||
timotimo | what facility is used to parse the pod of the documentation synopsis? how is it fed to Pod::To::HTML? | 11:55 | |
lizmat | jnthn: I've removed that section from my version of S11 | ||
timotimo | does it use the actual pod objects from src/core and the parser in Grammar and Actions? | ||
jnthn | timotimo: Believe so, yes | 11:56 | |
moritz | only S26 is processed by Pod::To::HTML | 11:57 | |
timotimo | good. i'll poke at it for a bit to hopefully make the documentation synopsis somewhat more readable | ||
yes, that part i know :) | |||
moritz | ok :-) | ||
11:57
atroxaper joined
|
|||
timotimo | i think one part to the puzzle is that cells in tables are not parsed for markup contents | 11:58 | |
unfortunately, for many parts i don't know wht the result is suppoded to look like. should it say =R<BLOCK_TYPE> R<BLOCK DATA> \n R<MORE BLOCK DATA>? or should those R<...> be turned into some kind of markup? | 11:59 | ||
colomon | I asked last night, but there was no log and there's been so much traffic today (yay!) it's no longer in my IRC scrollback buffer: | 12:00 | |
timotimo | and in =Z<>begin code :!nested that Z<> is probably supposed to have disappeared? | 12:01 | |
colomon | How do you fudge skip a block of code which is indented? | ||
moritz | you outdent the block | ||
or you patch fudge | |||
(at least that was the state when I tried it the last time) | |||
timotimo | i'm kind of annoyed that the ":allow" configuration option that's used throughout S26 is not actually specified in S26 :( | 12:02 | |
i can only guess that :allow<B> means, that any B<...> inside should be echoed out as plain text, yes? | |||
moritz | as bold text | 12:03 | |
12:03
cogno left
|
|||
timotimo | oh, so it means "inside this block, normally B<...> would be echoed as plain text, but please turn it into bold text instead"? | 12:03 | |
oh, it *is* mentioned in there, but it doesn't have a heading | 12:04 | ||
moritz | correct | ||
timotimo fixes | |||
hm. i already generated the html files once, but i don't know how to do it again; especially with the S26 one ... | 12:06 | ||
it's probably somewhere in perl6/mu | 12:07 | ||
moritz | S26 is just genrerated with perl6 --doc=html S26-*.pod > S26.html | ||
(and manually at that; there's no cron job that does it) | 12:08 | ||
timotimo | oh? that's easy :) | ||
does that use the Pod::To::HTML package that can be found on modules.perl6.org? | 12:09 | ||
hm. =begin defn \n C<:allow> \n \n One single paragraph \n \n =end defn; this should be the same as =defn C<:allow> \n \n One single paragraph \n \n; right? | 12:11 | ||
maybe i should fix the parsing code instead of the documentation source in this case. | |||
or is that only supposed to work if the single paragraph is indented perhaps? | |||
timotimo reads the docs he's supposed to be fixing | 12:13 | ||
moritz | timotimo: normally all C<...> are allowed, so :allow only applies to blocks that are normally parsed verbatim | 12:15 | |
timotimo | that's what i meant, yes :) | 12:16 | |
colomon | moritz++ # knew that worked, hoped there was a better way... | ||
timotimo | so, :allow is a configuration that really ought to be recognized in Grammar and/or Actions, not just in ::To::HTML | ||
moritz | timotimo: correct | 12:17 | |
timotimo digs | |||
moritz | timotimo: speaking of parsing: parsing of nested B< ... C<..> ... > constructs and the like also needs fixing :-) | ||
dalek | ast: 6f9f8ea | (Solomon Foster)++ | S32-list/categorize.t: Refudge for Niecza. |
12:19 | |
timotimo | that may or may not be easier | ||
the pod grammar pieces seem somewhat harder to read than the rest of the perl6 grammar :| | |||
dalek | ecza: 19355dd | (Solomon Foster)++ | lib/CORE.setting: Port lizmat++'s categorize to Niecza. |
||
pmichaud | timotimo: I wonder if that's related to the fact that pod6 describing pod6 is harder to read than "normal" pod6. | 12:20 | |
timotimo | with grammar pieces i meant the actual contents of Grammar.nqp, though :) | 12:21 | |
pmichaud | yes, I took it that way. | ||
it might be more difficult because there are fewer keywords involved. I dunno -- I'll look again someday. | 12:23 | ||
lizmat | colomon: is "self{$k} //= [];" needed on niecza? | 12:25 | |
colomon | lizmat: yes | 12:26 | |
FROGGS | timotimo: the nibbler does the nested structure parsing pretty well and easy... | ||
lizmat | ok, I was surprised to see them again, as I removed those from the rakudo version | ||
timotimo | at the moment there's $*ALLOW_CODE which is either 0 or 1; maybe it should become @*ALLOWED_CODES or at least get that in addition to make :allow work | 12:27 | |
colomon | lizmat: I suspect that means the rakudo version originally borrowed that code from the niecza version. ;) | ||
lizmat | could well be, nice example of cross-pollination | 12:28 | |
FROGGS | timotimo: where is that grammar? | ||
colomon | lizmat: a lot of the setting stuff goes back and forth | ||
timotimo | FROGGS: Grammar.nqp starting at line 487 | 12:29 | |
FROGGS | ahh, yes, of course | ||
colomon | lizmat: took me a bit to convince myself that having it as a modifying method for Hash made sense. But I'm pretty convinced now. lizmat++ | ||
12:29
btyler joined
|
|||
lizmat | especially being able to run .categorize multiple times on the same hash, makes a lot of sense to me | 12:30 | |
especially in situations where you're getting chunks to process | |||
timotimo | that's something i hadn't even thought of, and is a good point. lizmat++ | ||
lizmat | also in async situations, having multiple threads work on the same hash | 12:31 | |
dalek | : b244fe4 | (Tobias Leich)++ | / (4 files): refactor P5 ops |
12:34 | |
: f9bdb0b | (Tobias Leich)++ | t/test_summary: generate RGRESSIONS file |
|||
12:35
konundra joined,
btyler left
|
|||
sorear | sleep& | 12:40 | |
jnthn | 'night, sorear | 12:41 | |
timotimo | :allow is only needed for verbatim blocks, so i don't have to worry about nesting, right? | ||
because inside a block that would need :allow, another block wouldn't be parsed as a "block" anyway? | 12:42 | ||
FROGGS | gnight sorear | 12:48 | |
12:48
FROGGS left
|
|||
timotimo | froggs went to bed early today o_O | 12:50 | |
lizmat | timotimo: I guess you meant sorear ? | ||
I guess 5:40 am qualifies as early :-) | 12:51 | ||
timotimo | no, i meant froggs, but i was being facetious | 12:53 | |
12:55
fridim_ joined
13:00
sqirrel left
|
|||
timotimo made some codes, now prays that it will compiles | 13:00 | ||
i have quite a bit of repetition in there, i think i have to change something, but what? :| | 13:01 | ||
13:02
dayangkun joined
|
|||
timotimo | if i :my $*SOMETHING := $*SOMETHING; and make changes inside the token/rule/whatevs and it falls out of the scope, the changes will be reverted, yes? that should make my code quite a bit prettier. | 13:05 | |
but first it all has to work. | |||
13:06
Woodi joined
13:07
ajr joined
13:08
ajr is now known as Guest46471,
Guest46471 is now known as ajr_
|
|||
Woodi | r: "4" ~~ /<[1..31]>/; | 13:10 | |
camelia | rakudo 8f8f13: ( no output ) | ||
Woodi | r: say "4" ~~ /<[1..31]>/; | ||
camelia | rakudo 8f8f13: OUTPUT«Nil» | ||
jnthn | That parses as <[1..3 1]> | 13:11 | |
It's a character range, not a number range. | |||
Woodi | I thinked '..' is united :) | ||
jnthn | r: say "4" ~~ /(\d+) { $0 ~~ 1..31 }/ # may do it | 13:12 | |
camelia | rakudo 8f8f13: OUTPUT«「4」 0 => 「4」» | ||
jnthn | r: say "41" ~~ /(\d+) { $0 ~~ 1..31 }/ # may do it | ||
camelia | rakudo 8f8f13: OUTPUT«「41」 0 => 「41」» | ||
jnthn | Oh... | ||
13:12
fridim_ left
|
|||
timotimo | you may want to + that? | 13:12 | |
jnthn | r: say "41" ~~ /(\d+) { +$0 ~~ 1..31 }/ # may do it | ||
camelia | rakudo 8f8f13: OUTPUT«「41」 0 => 「41」» | ||
jnthn | r: say "41" ~~ /(\d+) { say +$0; $0 ~~ 1..31 }/ # may do it | ||
camelia | rakudo 8f8f13: OUTPUT«41「41」 0 => 「41」» | ||
timotimo | ah! | ||
jnthn | r: say 41 ~~ 1..31 | 13:13 | |
camelia | rakudo 8f8f13: OUTPUT«False» | ||
timotimo | that's weird. why is it a pair? | ||
oh, it's not even. | |||
jnthn | It wasn't, that's the match output | ||
timotimo | you forgot to + a second time | ||
jnthn | r: say "41" ~~ 1..31 | ||
camelia | rakudo 8f8f13: OUTPUT«False» | ||
jnthn | oh! | ||
r: say "41" ~~ /(\d+) { +$0 ~~ 1..31 }/ # may do it | |||
camelia | rakudo 8f8f13: OUTPUT«「41」 0 => 「41」» | ||
jnthn | No... | ||
timotimo | (+$0)? | ||
r: say "41" ~~ /(\d+) { (+$0) ~~ 1..31 }/ | |||
camelia | rakudo 8f8f13: OUTPUT«「41」 0 => 「41」» | ||
timotimo | nopes. | ||
jnthn | Nah, precedence doesn't work like that | 13:14 | |
timotimo | of course not | ||
jnthn | wtf | ||
r: say "41" ~~ /(\d+) { 1 <= $0 <= 31 }/ # may do it | |||
camelia | rakudo 8f8f13: OUTPUT«「41」 0 => 「41」» | ||
Woodi | 41 > 31 ? | ||
jnthn | Oh!!!! | ||
duh duh duh | |||
timotimo | oh | ||
hahaha | |||
<?{ ... }> please | |||
jnthn | r: say "41" ~~ /(\d+) <?{ $0 ~~ 1..31 }>/ # may do it | ||
camelia | rakudo 8f8f13: OUTPUT«「1」 0 => 「1」» | ||
dalek | ecs: 4425736 | (Elizabeth Mattijsen)++ | S11-modules.pod: My attempt at unslushing S11 Highlights: - Introduce the "unit" statement, with :auth, :ver and :created adverbs - Emphasize the use of compilation unit, or "compunit" - Remove "auth" and "ver" from package like statements - Remove section "Importing from a pseudo-package" - Try to disambiguate "module" and "package" into "distribution", "compunit" and "namespace" - various other tweaks |
||
jnthn | lol, and then it backtracks :P | ||
r: say "41" ~~ /(\d+:) <?{ $0 ~~ 1..31 }>/ # may do it | |||
camelia | rakudo 8f8f13: OUTPUT«「1」 0 => 「1」» | ||
timotimo | hehe :) | ||
jnthn | And that's scanning | 13:15 | |
r: say "41" ~~ /^(\d+:) <?{ $0 ~~ 1..31 }>/ # may do it | |||
camelia | rakudo 8f8f13: OUTPUT«Nil» | ||
jnthn | r: say "21" ~~ /^(\d+:) <?{ $0 ~~ 1..31 }>/ # may do it | ||
camelia | rakudo 8f8f13: OUTPUT«「21」 0 => 「21」» | ||
jnthn | finally | ||
:/ | |||
lizmat has now unslushed S11 and is waiting for the barrage of comments | |||
and possible revert :-) | |||
jnthn | lizmat: OMG WHAT HAVE YOU DONE? | ||
;) | |||
timotimo | lizmat: not having looked at it: nice work :) | ||
jnthn will read it later :) | |||
13:15
PacoAir joined
|
|||
jnthn | lizmat++ # S11 needed unslushing quite badly | 13:15 | |
Woodi | thanx jnthn++ | 13:16 | |
masak | lizmat++ | ||
PerlJam | lizmat++ | 13:17 | |
masak | though I don't believe "unslushing" is a single action. I believe it happens over a longer period of time. | ||
lizmat | looking at the diff now, I see some small errors, but will wait with fixing this | ||
PerlJam | lizmat: I don't understand "Such a directory can be marked as not allowing installed compunits" enough (github.com/perl6/specs/commit/4425736dd2#L0R54) | 13:18 | |
lizmat | the idea behind that is that directories in which you are developing | ||
you will never want to install compunits in there | 13:19 | ||
directories like "." and "lib" | |||
maybe I should emphasize the difference with loading an installed compunit and an uninstalled one | 13:20 | ||
s/uninstalled/not installed/ | |||
timotimo | wowsers | ||
Unable to checkout '6f278c68d77080d889e09cba1cd7a0e8f1632c34' in submodule path 'ext/File__Tools' | |||
[1] 26301 segmentation fault (core dumped) ./bootstrap.pl | |||
lizmat | I specifically wanted to decouple the "magic" directory "." from only having development versions of compunits | 13:21 | |
PerlJam | lizmat: yeah, I guess I'm having trouble with that very thing. What does it mean to be "installed"? That is shows up in a meta-info database? | ||
lizmat | installed means that some kind of installer has installed the compunit from a distribution | ||
timotimo | oh, actually *everything* is coredumping at the moment | 13:22 | |
lizmat | and that its meta-information is recorded in a "database" living inside the directory in which it was installed | ||
timotimo | everything containing pod, perhaps. | ||
lizmat | I'm specifically vague here, because I don't want to enforce my implementation ideas into the spec | 13:23 | |
PerlJam | lizmat: fair enough | ||
13:24
kingbeast joined
|
|||
timotimo | pod_configuration makes a serialized hash object, but i'd like to access the hash content in the grammar after pod_configuration is done; do i need to deserialize that? :| | 13:25 | |
that seems pretty wasteful | |||
jnthn | I think some of the Pod code was done before we had real BS | 13:26 | |
tadzik | I don't think so | ||
jnthn | So simplifications may well be possible | ||
tadzik | but you probably know better :) | ||
timotimo | ah, so the serialize_object stuff can just be removed and it'll continue to work perhaps? | ||
jnthn | Well, before we used to have to build QAST to reconstruct objects | 13:27 | |
True serialization removed that need. | |||
tadzik | I wrote Pod code after that | ||
jnthn | Really? I thought you wrote it the summer when nom was still coming to be, and I did the full serialization stuff the Feb or so after that? :) | ||
Maybe I misremember. | |||
tadzik | hmm | 13:28 | |
timotimo | so there should be something that can remove serialize_object(...).compiletime_value? | ||
tadzik | maybe we talk about different hings | ||
timotimo | compile_time_value* | ||
tadzik | but I remember that at first I wanted to construct PAST which would evaluate at runtime | ||
but you were already working on BS so I thought I'd wait, and then moved everything to nom | |||
jnthn | We certainly had QAST::WVal and serialization contexts before the bull blown BS | 13:35 | |
*full blown | |||
....ouch! | |||
13:36
btyler joined
|
|||
lizmat | full blown BS ? | 13:36 | |
Is that something Scrum like ? | |||
timotimo | all that BS everywhere :| | ||
[Coke] | ssutch: don't worry about implementations you can't run when adding tests. They may not run the file in question, and we'll catch them the next day on the daily run. | 13:37 | |
JimmyZ | Good evening... | 13:40 | |
13:43
Guest1337 joined
|
|||
timotimo | i think i just made it worse ... :( | 13:44 | |
13:45
colomon left,
skids joined
|
|||
timotimo | Pod documents are specified using {Pod::FormattingCode<-4940668745965231836>.type} - yup, i broke it. | 13:48 | |
13:51
bluescreen10 joined
|
|||
timotimo | i'm not sure where i'd need to interface the pod objects with World and WVal nodes | 13:52 | |
huh, there already are mentions of the world object | 13:53 | ||
JimmyZ | Good evening... | 13:56 | |
oops.. | |||
timotimo | good evening again :) | ||
JimmyZ | irssi--, I just want to switch next window | 13:57 | |
moritz | ctrl+n | 13:58 | |
sjn | lizmat: The sentence "You can use C<our module> to explicitly declare a module in the current namespace (or module, or class)" in your S11 update may need some tlc... :-) | ||
(line 136 after your changes are applied) | 13:59 | ||
JimmyZ | I can't use ctrl+n in Xshell 4 | 14:00 | |
lizmat | sjn: noted | ||
14:01
snarkyboojum joined
14:02
woosley1 joined
|
|||
moritz | JimmyZ: /window next works too :-) | 14:02 | |
JimmyZ | yes.. I'm using it :) | ||
14:05
jercos_ joined,
prammer joined
14:09
Hor|zon_ joined
|
|||
lizmat | cycling& | 14:11 | |
14:11
drbean left,
arlinius left
14:16
cognominal left,
drbean joined,
arlinius joined,
lee_ joined
14:17
colomon joined
14:20
arlinius left
14:23
salv0 left
14:24
colomon left
14:26
PacoAir left
14:29
salv0 joined,
drbean_ joined
14:30
drbean left,
lee_ left,
drbean_ is now known as drbean
14:31
woosley1 left
14:33
salv0 left
14:35
salv0 joined,
lee_ joined
|
|||
masak | a nice Haskell-perspective take on threads: www.haskellforall.com/2013/06/from-...in-33.html -- HN discussion: news.ycombinator.com/item?id=5937899 | 14:38 | |
timotimo | i don't think i really understand what's going wrong :| | ||
14:38
cognominal joined
|
|||
GlitchMr | rn: say pick * | 14:39 | |
camelia | rakudo 8f8f13: OUTPUT«Nil» | ||
..niecza v24-84-g19355dd: OUTPUT«» | |||
GlitchMr | I'm not sure whatever pick(*) should return Nil. | ||
I ask it to shuffle empty list, so I should get empty list. | |||
masak | hm, I think I agree. | 14:40 | |
GlitchMr | Not list that doesn't exist. | ||
14:40
MrMeek-afk joined
|
|||
masak | rn: say ().pick(*) | 14:40 | |
camelia | rakudo 8f8f13: OUTPUT«Nil» | ||
..niecza v24-84-g19355dd: OUTPUT«» | |||
GlitchMr | rn: sub prefix:<sort randomly> { pick *, @_ }; say sort randomly 3, 1, 4, 1, 5, 9, 2, 6, 5, 3; | 14:43 | |
camelia | rakudo 8f8f13, niecza v24-84-g19355dd: OUTPUT«3141592653» | ||
GlitchMr | I | ||
14:43
fhelmberger_ joined
|
|||
GlitchMr | I've a feeling it sorts @_ itself | 14:43 | |
rn: sub prefix:<sort randomly> { pick *, [,] @_ }; say sort randomly 3, 1, 4, 1, 5, 9, 2, 6, 5, 3; | |||
camelia | rakudo 8f8f13, niecza v24-84-g19355dd: OUTPUT«3141592653» | ||
GlitchMr | rn: sub prefix:<sort randomly> { @_.pick(*) }; say sort randomly 3, 1, 4, 1, 5, 9, 2, 6, 5, 3; | ||
camelia | rakudo 8f8f13, niecza v24-84-g19355dd: OUTPUT«3141592653» | ||
14:44
cosimo_ joined
14:45
kshannon_ joined,
sivoais joined
|
|||
GlitchMr | rn: say ([,] 1, 2, 3, 4).perl | 14:45 | |
camelia | rakudo 8f8f13, niecza v24-84-g19355dd: OUTPUT«(1, 2, 3, 4)» | ||
GlitchMr | Oh, right, I forgot it's chain operator. | ||
So I won't get (((1, 2), 3), 4) or anything silly like that. | 14:46 | ||
14:49
ecocode` joined,
fhelmberger left,
kaleem left,
birdwindupbird left,
ssutch left,
cosimo left,
MrMeek left,
araujo left,
kshannon left,
MrMeek joined,
arlinius joined
14:50
MrMeek-afk left,
dalek left,
sivoais left
14:51
dalek joined,
ChanServ sets mode: +v dalek
14:52
ecocode left
14:53
konundra left,
konundra joined
14:54
GlitchMr left,
GlitchMr joined,
sivoais joined
14:55
kaleem joined
14:56
araujo joined
14:57
birdwindupbird joined
|
|||
masak | GlitchMr: technically it's "list associativity", not "a chain operator". "chain associativity" is for things like infix:<eq> which do comparisons. | 15:01 | |
jnthn | .oO( are the tests for chain associativity doing chain smoking? ) |
15:02 | |
15:04
xlat left
15:07
ecocode` left
15:11
jeff_s1 left
15:29
snearch joined
15:42
breinbaa1 joined,
breinbaa1 left
|
|||
dalek | ecs: 2341bcf | (Stéphane Payrard)++ | S11-modules.pod: Minor Spelling and formatting changes I suppose this does not warrant changing the version number. |
15:44 | |
15:44
Woodi_ joined,
rjbs- joined,
BinGOs_ joined,
Maddingu1 joined,
Lorn_ joined,
avarab joined,
avarab left,
avarab joined
15:46
daxim left,
Timbus left,
Woodi left,
cotto left,
breinbaas left,
Maddingue left,
BinGOs left,
rjbs left
15:48
kaleem left
15:52
breinbaas joined
15:53
cotto joined
15:54
btyler_ joined,
domidumont left
15:56
btyler left
16:00
SamuraiJack left
|
|||
mls | All tests successful. \o/ | 16:01 | |
masak | time to write more tests! | ||
16:03
vk joined
16:08
xilo joined,
kaleem joined
16:10
snearch left
16:11
Maddingu1 is now known as Maddingue
16:13
daxim joined,
Timbus joined,
dag left,
hypolin joined
16:15
woolfy1 joined,
FOAD_ joined,
kshannon joined
16:16
DrEeevil joined,
moritz_ joined
16:17
prammer_ joined,
telex left,
telex joined,
betterwo1ld joined
16:18
Util_ joined,
logie_ joined,
chayin_ joined
16:19
cooper_ joined,
woolfy left,
kshannon_ left,
FOAD left
16:20
mtk left,
bonsaikitten left,
sftp left,
woosley left
16:21
prammer left,
moritz left,
cooper left,
logie left,
chayin left
16:22
Chillance left,
FOAD_ is now known as FOAD,
Chillance joined,
Hor|zon_ left,
sftp joined,
woosley joined,
Hor|zon joined,
mtk joined,
Celelibi joined
16:23
SamuraiJack joined
16:24
konundra left
|
|||
dalek | ast: 0cb4df8 | coke++ | S12-attributes/clone.t: pugs fudge |
16:25 | |
16:29
fhelmberger_ left
16:30
SamuraiJack left
16:34
daxim left,
kaleem left
|
|||
timotimo | Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("This is ", Pod::FormattingCode.new(type => "C", config => ().hash, content => Array.new("A ", Pod::FormattingCode.new(type => "I", config => ().hash, content => Array.new("Amazing")), " Test!")), " for reals;"))))) | 16:36 | |
that seems like it worked | |||
r: say "have a newline on the house!" | 16:38 | ||
camelia | rakudo 8f8f13: OUTPUT«have a newline on the house!» | ||
timotimo | thanks, camelia | ||
r: =begin podThis is C<an amazing I<test> for reals> yeah=end podsay $=pod.perl; | |||
camelia | rakudo 8f8f13: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("This is ", Pod::FormattingCode.new(type => "C", config => ().hash, content => Array.new("an amazing ", Pod::Formatti… | ||
timotimo | oh, that *always* worked | ||
16:39
FROGGS joined,
ssutch joined
16:41
atroxaper left
|
|||
cognominal | sent a pull request for a rakudo typo | 16:42 | |
so much work for changing one character :( | |||
timotimo | hehe. | 16:44 | |
16:44
PacoAir joined
16:45
alester left
|
|||
cognominal | I think I have a pull request pending on nqp | 16:46 | |
timotimo | there's a function that works just like say, but outputs to stderr, right? | 16:49 | |
cognominal | timotimo, note | 16:50 | |
I don't know why it is not called "err" | 16:51 | ||
timotimo | mhm | ||
cognominal | github.com/rakudo/rakudo/blob/nom/.../IO.pm#L15 | ||
TimToady | because not all notes are errors | 16:52 | |
stderr can also be used for informational messages, such as traces | 16:53 | ||
cognominal | it prints to $*ERR nevertheless | ||
masak | and usage messages. | ||
cognominal | often, I err on checky ground. | 16:54 | |
masak | you mean "for debugging reasons"? | 16:55 | |
cognominal | s/in/on/ ? | ||
16:55
DAAWB73 joined
|
|||
FROGGS | lizmat++ # unslushing S11 | 16:57 | |
timotimo | r: =begin pod Foo! Z<inline comment> Bar!=end podsay $=pod.perl; | ||
camelia | rakudo 8f8f13: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Code.new(allowed => Array.new(), config => ().hash, content => Array.new("Foo! Z<inline comment> Bar!")))))» | ||
timotimo | r: =begin podFoo! Z<inline comment> Bar!=end podsay $=pod.perl; | 16:58 | |
camelia | rakudo 8f8f13: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("Foo! ", Pod::FormattingCode.new(type => "Z", config => ().hash, content => Array.new("inline comment")), " Bar!"))))… | ||
timotimo | ah, so the Z is visible to the converter. interesting. | ||
FROGGS | lizmat: atm I agree to all modifications | 16:59 | |
16:59
user1231 joined
|
|||
TimToady | atm I am still rather uncomfortable with the file/directory-centric view of identity | 17:00 | |
17:01
dakkar left
|
|||
TimToady would prefer that official units, being immutable, have value semantics that are more independent of their containers | 17:02 | ||
but I'll need to read more and think more | 17:03 | ||
diakopter | TimToady: have you looked at lizmat's proposed new S11? | ||
oh, is that what you're talking about | |||
masak | TimToady! \o/ diakopter! \o/ | ||
FROGGS | I dont see a file/directory-centric view of identity | 17:04 | |
TimToady | The Gettysburg Address is not defined by which directory it's stored in | ||
"Therefor, an authoritative "database" of meta-information of installed compunits is needed in those directories that contain installed compunits." | 17:05 | ||
I would buy that if it said "for" rather than "in" | |||
but this presumes the metadata has to live in the directories | |||
FROGGS | TimToady: the directories are the vendor/perl/site/home where the installer database is stored, it is not about the dirs where .pm files might be | 17:06 | |
17:06
ajr_ left
17:07
ajr joined,
ajr left
|
|||
TimToady | it doesn't even have to be in files anymore | 17:07 | |
FROGGS | true, can be slurped from your twitter account on demand :P | ||
and then you have dirs for dev modules, these will work exactly like modules/units/whatever work now | 17:08 | ||
TimToady | it's like a git hash, and you don't care how git stores it | ||
FROGGS | right, the installer creates some sort of database, and the moduleloader must be able to read that | ||
and maybe you have different backends for dist storage | 17:09 | ||
[Coke] | I know lots of people who care about how git does it, because it's wrong! WRONG THEY TELL ME. | ||
FROGGS | like flat on disk, in an sql db, or whereever | ||
[Coke] | (they might be a little edgy.) | ||
TimToady | I'm all for dev modules working like P5's INC semantics, that's fine; just trying to keep the assumptions out of the library API | ||
FROGGS | right | ||
there is basically no other sane way to handle dev modules | |||
TimToady | well, I wouldn't go that far, but p5's methods is certainly well-honed over time | 17:10 | |
*thod | |||
FROGGS | btw, my proposal was that @*INC stays, and will be there for P5-style module loading, while %*CUSTOM_LIB points to the installer DBs | 17:11 | |
so you could even have an installation db on a stick, und plug it in and it works (because its path is known to %*CUSTOM_LIB because panda was told to honor it) | 17:12 | ||
17:12
colomon joined,
user1234 joined
|
|||
FROGGS | @*INC because that is what 'use lib' mangles | 17:13 | |
TimToady | also, I'm not sure I see the utility of separating out a 'unit' verb; it just seems to force repetition of the name after the actual class/module keyword... | ||
but these are first impressions... | |||
17:14
birdwindupbird left
|
|||
FROGGS | well, a semicolon form of a package description can replace a unit statement | 17:14 | |
but only in this case | |||
17:14
ggoebel2 joined
17:15
kaleem joined
|
|||
TimToady | "If a compunit contains a unit declaration, but was loaded from a directory that is not part of the installation, then the credentials are ignored." | 17:15 | |
there again, it's the directory that is deciding | |||
that's not how I see it | 17:16 | ||
masak | lizmat++ # got the discussion going | ||
TimToady | sure, lizmat++ :) | ||
17:17
Woodi joined,
ponbiki_ joined,
zakalwe_ joined,
smash_ joined
|
|||
diakopter | I think unit could be implied in usual cases | 17:17 | |
17:17
spider-mario_ joined
|
|||
diakopter | but optional override in others | 17:17 | |
TimToady | well, lemme cogitate on it from a language point of view | 17:18 | |
17:18
athomason_ joined
|
|||
FROGGS | TimToady: I read it more like 'directory tree', or, the dir in which its DB is... | 17:18 | |
TimToady | I'm not saying there's no reason for the separation, I just don't see it yet | ||
17:18
spider-mario left,
spider-mario_ is now known as spider-mario
|
|||
TimToady | well, pecking order is still defined somewhere, but more likely in something like @*INC | 17:18 | |
FROGGS | but yes, one or two "directory"'s could be stripped/relaced | ||
p* | |||
17:20
amkrankruleuen joined,
amkrankruleuen left,
amkrankruleuen joined
|
|||
TimToady | where we stop thinking about INC as a list of directories, but start thinking about it as a list of library repositories (presumably local in some unspecified fashion), some of which might be represented as local directories | 17:20 | |
FROGGS | I'd really like to start an implementation with an sql-db backend... (for dist storage, not only metadata storage) | ||
diakopter | are we thinking of the local installation as just another auth? | ||
TimToady | or all of which might be local directores, but we don't assume it on behalf of the library API | ||
FROGGS | diakopter: local installations | 17:21 | |
diakopter | FROGGS: lemme clarify: | ||
FROGGS | where "local" dont mean it must be on your pc | ||
TimToady | local is a location; auth has nothing to do with location, and everything to do with identity | ||
17:21
jercos_ is now known as jercos,
user1231 left,
mtk left,
Hor|zon left,
betterwo1ld left,
Woodi_ left
17:22
smash left,
athomason left,
ggoebel left,
zakalwe left,
ponbiki left,
djanatyn left
|
|||
TimToady | but maybe one could bend it around into some kind of "local unauth" direction :) | 17:22 | |
FROGGS | diakopter: auth is like "github/FROGGS" | ||
TimToady | "unauthorized meddling" :) | ||
diakopter | I'm suggesting that to specify that auth (localsystem) when requesting to load a module, it's a kindof meta-auth that picks from the ones installed locally based on the other criteria | ||
17:22
betterworld joined
|
|||
FROGGS | and %*CUSTOM_LIB<home> points to some sort of database of installed modules | 17:22 | |
diakopter | hm, maybe I should read the diff | ||
TimToady | metoo :) | ||
diakopter | (and S11 for that matter, since it probably has completely escaped my mind again) | ||
17:23
Hor|zon joined
|
|||
FROGGS | I dont understand the localauth thing... | 17:23 | |
if I installed Module::Build from cpan, the auth is "cpan" for example | |||
TimToady | "in the current namespace (or module, or class)" is confusing two levels of semantics | 17:24 | |
17:24
ssutch left
|
|||
FROGGS | and it stays "cpan" when it gets installed | 17:24 | |
TimToady | "in the current namespace (such as package, module, or class)" would be more accurate | ||
FROGGS .oO( so TimToady++ hits the edit button *g* ) | |||
TimToady | "Every compunit has a C<UNIT> namespace" now it's reading like UNIT is a package-like thing rather than a lexical scope | 17:26 | |
FROGGS | hmmm, I must have missed that | ||
TimToady | we avoided using the term "namespace" precisely because Parrot was using it to mean "package", and because it means something more ambiguous in the literature than "package", and we wanted to distinguish packages from lexical scopes | 17:27 | |
17:28
djanatyn joined,
kaleem left,
mtk joined
|
|||
FROGGS | brb | 17:28 | |
TimToady | so I don't really think s:g/package/namespace/ is an improvement from that standpoint | 17:29 | |
17:30
Rotwang joined
|
|||
TimToady | I can also see the problem with using "package", so maybe there's some other term that better indicates a global namespace that is not lexical | 17:31 | |
17:32
rindolf left
17:35
diakopter joined
|
|||
TimToady | it's also messing with the idea that moduleness is the minimal set of semantics for export, changing some instances of "module" to "compunit", and others to "namespace", one of which is too specific for export, and the other too general | 17:36 | |
since things that are not compunits can export, but not all namespaces can export | 17:37 | ||
17:38
konundra joined
|
|||
timotimo | r: class Base { has $.foo; }; class Sub { has $.bar = $!foo * 1000 }; Sub.new(:foo(5)).perl.say | 17:39 | |
camelia | rakudo 8f8f13: OUTPUT«===SORRY!===Attribute $!foo not declared in class Subat /tmp/sU2ZGIaUMm:1------> $.foo; }; class Sub { has $.bar = $!foo⏏ * 1000 }; Sub.new(:foo(5)).perl.say» | ||
timotimo | r: class Base { has $.foo; }; class Sub { has $.bar = $.foo * 1000 }; Sub.new(:foo(5)).perl.say | ||
camelia | rakudo 8f8f13: OUTPUT«===SORRY!===Virtual call $.foo may not be used on partially constructed objectsat /tmp/xiBCiOSMjD:1------> $.foo; }; class Sub { has $.bar = $.foo⏏ * 1000 }; Sub.new(:foo(5)).perl.say expecting any of: scoped dec… | ||
timotimo | where's the best place to put code like that? | 17:40 | |
r: =begin pod :frob<wob wob>Foo! Z<inline comment> Bar!=end podsay $=pod.perl; | 17:42 | ||
camelia | rakudo 8f8f13: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ("frob" => "wob wob").hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("Foo! ", Pod::FormattingCode.new(type => "Z", config => ().hash, content => Array.new("inline comm… | ||
timotimo | hm. | 17:43 | |
r: try { require Term::ANSIColor <&colored>; } say &colored.defined; | 17:52 | ||
camelia | rakudo 8f8f13: OUTPUT«===SORRY!===Two terms in a rowat /tmp/0RYhJT9Glv:1------> { require Term::ANSIColor <&colored>; } ⏏say &colored.defined; expecting any of: postfix horizontal whitespace infix stopper infix … | ||
timotimo | star: try { require Term::ANSIColor <&colored>; }; say &colored.defined; | ||
camelia | star 2013.02: OUTPUT«===SORRY!===Undeclared name: &colored used at line 1» | ||
timotimo | isn't that how it's supposed to be done? | ||
r: try { require Term::ANSIColor <&colored>; }; say &colored.defined; | |||
camelia | rakudo 8f8f13: OUTPUT«===SORRY!===Undeclared name: &colored used at line 1» | ||
TimToady | your declaration is inside the block's lexical scope | 17:53 | |
dinner & | |||
timotimo | oooh | 17:56 | |
r: require Term::ANSIColor <&colored>; say &colored.defined; | |||
camelia | rakudo 8f8f13: OUTPUT«Could not find Term::ANSIColor in any of: /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/lib, /home/p6eval/… | ||
timotimo | r: try require Term::ANSIColor <&colored>; say &colored.defined; | ||
camelia | rakudo 8f8f13: OUTPUT«False» | ||
timotimo | that's how it's supposed to be done! | 17:57 | |
star: try require Term::ANSIColor <&colored>; say &colored.defined; | |||
camelia | star 2013.02: OUTPUT«False» | ||
timotimo | star: use Term::ANSIColor; say colored("huh?", "bold"); | ||
camelia | star 2013.02: OUTPUT«huh?» | ||
17:57
kaleem joined
17:58
kaleem left
17:59
stevan_ left
|
|||
timotimo | star: try require Term::ANSIColor <&colored>; say colored("huh?", "red"); | 18:07 | |
camelia | star 2013.02: OUTPUT«No such method 'Any' for invocant of type 'Parcel' in at src/gen/BOOTSTRAP.pm:876 in at src/gen/BOOTSTRAP.pm:870 in any at src/gen/BOOTSTRAP.pm:867 in block at /tmp/YZ_wiiGb97:1» | ||
18:09
ssutch joined,
spider-mario left,
spider-mario joined
|
|||
timotimo | oh, yikes, if i wanted to make tables work i'd either have to translate the logic for recognizing delimiters to the grammar or call back to the grammar from Perl6::Pod | 18:11 | |
dalek | ecs: 803d6f1 | (Elizabeth Mattijsen)++ | S11-modules.pod: Small fix, as spotted by sjn and others. |
18:12 | |
lizmat | back from cycling, will digest what's been said about S11 | 18:13 | |
will be back in ~2.5 hours | |||
dalek | kudo/nom: ffa9838 | (Stéphane Payrard)++ | src/Perl6/Grammar.nqp: typo |
18:15 | |
kudo/nom: b4d858d | pmichaud++ | src/Perl6/Grammar.nqp: Merge pull request #172 from cognominal/typo typo |
|||
timotimo | i can understand why that decision was made; merging multiline table cells is not easy to do when you've gone into a subrule that knows nothing about that ... | 18:17 | |
ssutch | pmichaud i think this is good to go: github.com/rakudo/rakudo/pull/170 | 18:19 | |
18:23
stevan_ joined
18:24
stevan__ joined
|
|||
timotimo | all of this is hard :| | 18:24 | |
18:26
rindolf joined
18:27
kaare_ joined
18:28
stevan_ left
18:32
ilogger2 joined,
ChanServ sets mode: +v ilogger2
|
|||
tadzik | timotimo, I recognize your problems ;) | 18:36 | |
as they say, "been there, done that". At least you can blame me :) | 18:37 | ||
timotimo | you won't see me blaming you. | ||
i'm just looking for a way to make developmen tpossible without a huge compile cycle each time i change a little thing | |||
tadzik | Pod development? | 18:38 | |
timotimo | yes | 18:39 | |
tadzik | doing 'make perl6' instead of 'make' is a biiig difference | ||
and usually that's what you're after | |||
timotimo | i put a bit nicer debugging into Pod::To::HTML and made it recognize D<...|...> and Z<...> tags properly | 18:40 | |
that makes a bit of a difference already | |||
tadzik | cool! | ||
timotimo | but i can't seem to make it load Term::ANSIColor non-fatally :( | ||
tadzik | load it conditionally, eh? | ||
timotimo | indeed | 18:41 | |
i'm wondering: can i call a token on a text that's not in the source code? | 18:44 | ||
tadzik | it could be possible in nqp | 18:46 | |
timotimo | that ought to be enough for now | 18:47 | |
in that case i could probably parse the cell contents with the pod_textcontent rule or something similar | 18:48 | ||
which i'd have to do after they were concatenated from multilines | |||
tadzik | table parsing, mmm | 18:49 | |
timotimo | you buy the awesomeness that is pod6 tables with the pain that is implementing them | 18:51 | |
18:52
abnorman joined
18:54
Chillance_ joined
18:56
cognominal joined
|
|||
cognominal | r: say "a b c" ~~ / :s [\w]+ / ; "a b c" ~~ / :s [\w]+ /; say "a, b , c" ~~ / :s \w+ % [ ',' ] / | 18:57 | |
camelia | rakudo 8f8f13: OUTPUT«「a 」「a, b , c」» | ||
cognominal | r: say "a b c" ~~ / :s \w+ / ; "a b c" ~~ / :s [\w]+ /; say "a, b , c" ~~ / :s \w+ % ',' / | 18:58 | |
camelia | rakudo 8f8f13: OUTPUT«「a 」「a」» | ||
18:58
dmol joined
18:59
ssutch joined
|
|||
cognominal | I have trouble to understand the sigspace mode. It works inconstantly with quantifiers and with the % operator. | 18:59 | |
oops I hav a stray expression at the middle of each line. | 19:00 | ||
I thought that to force sigmode on a atom, that is matching spaces around him when it is not otherwise possible. I could "group" it. It works with % but not for | 19:02 | ||
a quantified atom | |||
19:06
BinGOs joined
19:08
segomos joined
19:16
kaleem joined,
kaleem left
|
|||
timotimo | isn't sigspace always off for the beginning? | 19:20 | |
unless you put a <?> or something? | |||
19:21
abnorman left
|
|||
PerlJam | timotimo: aye, it is. | 19:28 | |
timotimo | cognominal: ^^ | ||
cognominal | timotimo, in my examples. I start all my regex with a :s | 19:31 | |
PerlJam | r: say "a, b ,c" ~~ / :s [<?> \w ]+ % ',' / | 19:32 | |
camelia | rakudo b4d858: OUTPUT«「a, b ,c」» | ||
Util_ | #ps time | ||
timotimo | ... post script? | ||
19:32
domidumont joined
|
|||
masak | timotimo: #parrotsketch | 19:32 | |
PerlJam | cognominal: nothing in your regex matches the whitespace in front of "b" though. | 19:33 | |
cognominal | r: say "a b c" ~~ / :s [ <?> \w]+ / ; | ||
camelia | rakudo b4d858: OUTPUT«「a b c」» | ||
cognominal | ok, thx | 19:34 | |
19:34
tomyan joined
19:40
abnorman joined
|
|||
PerlJam | say "a , b ,c " ~~ / :s [ \w ]+ % ',' /; | 19:41 | |
r: say "a , b ,c " ~~ / :s [ \w ]+ % ',' /; | |||
camelia | rakudo b4d858: OUTPUT«「a , b ,c 」» | ||
PerlJam | huh. | ||
ah ... there's even a section about this at S05:1132 | 19:43 | ||
r: say "a , b ,c " ~~ / :s \w + % ',' /; | |||
camelia | rakudo b4d858: OUTPUT«「a 」» | ||
PerlJam | r: say "a ,b ,c " ~~ / :s \w + % ',' /; | 19:44 | |
camelia | rakudo b4d858: OUTPUT«「a 」» | ||
PerlJam | r: say "a, b, c " ~~ / :s \w + % ',' /; | 19:45 | |
camelia | rakudo b4d858: OUTPUT«「a」» | ||
PerlJam | unless I'm misreading the spec, that's a rakudobug. | 19:47 | |
cognominal | someone has got to look gist.github.com/cognominal/5846277 someday | 19:56 | |
lue | hello world o/ | 19:58 | |
cognominal | hi lue \o | 20:01 | |
20:03
bluescreen10 joined
|
|||
dalek | rl6-roast-data: 33a3a09 | coke++ | / (5 files): today (automated commit) |
20:10 | |
timotimo | Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Code.new(allowed => Array.new("A"), config => ("allow" => "A").hash, content => Array.new(" Foo!\n\n"))))) | 20:14 | |
i made the allowed property work in the generated ast; now i only have to make code blocks parse such allowed formatting codes :| | 20:15 | ||
jnthn | Up to 71.42%, eh :) | ||
timotimo | jnthn: does that include or exclude the huge amount of not-asked-for tests that appear in the middle? | 20:16 | |
[Coke] | we're plateauing! | ||
jnthn | timotimo: huh? no idea :) | ||
timotimo | S02-names-vars/perl.rakudo.jvm: 103 tests more than planned were run | 20:18 | |
S32-exceptions/misc.rakudo.jvm: 395 tests more than planned were run | |||
integration/advent2009-day16.t: 7 tests more than planned were run | |||
[Coke] | timotimo: I blame junctions. | ||
timotimo | is it a bad idea to fudge these? | 20:19 | |
FROGGS | why do you want to silence it? | 20:20 | |
[Coke] | timotimo: yes. don't fudge them. | ||
fix them. | |||
once we get past 95%, we can talk about fudging. | |||
timotimo | hehehe | 20:21 | |
FROGGS | right, that would be the day we want to put in to a release and call it "ready" | ||
btw, perl 5's loose not is weird | 20:22 | ||
masak | so, Rakudo on the JVM passes 71% of the test suite? that sounds like... a lot. | 20:23 | |
timotimo | no, just 71% of the tests rakudo passes | ||
masak | oh! | ||
yes, of course. | |||
timotimo | aiui | ||
jnthn | yes | 20:24 | |
masak | still, that sounds like a lot. | ||
jnthn | I'm wondering if that "395 tests more than planned were run" means "there was no test plan but you died before the end" | ||
I'm pretty sure S32-exceptions/misc.t is planless | |||
timotimo | interesting, L<I<foo bar>|baz <a newline appears here> quux> causes the L<...> to not be parsed. | 20:25 | |
jnthn | yeah, it's that | ||
timotimo | ah, planless. in that case, it's all good :) | ||
jnthn | So no, doesn't look like we're over-estimating. | ||
FROGGS | lets fudge EOF \o/ | ||
jnthn | The 71% or so is accurate | ||
lizmat | TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248785 : I call a file anything that can be accessed by a some kind of key | 20:27 | |
in the end, they're all eval strings anyway, that get compiled in different contexts | |||
also: everytime I say "directory" in S11, I really mean a directory that is part / can be part of an @*INC, or can be specified with -I | 20:28 | ||
so *not* any subdirectories of such directories | 20:29 | ||
if there is a more generic term for file and directory, I'll be glad to use those | |||
timotimo | my first idea, "repository", sounds way too loaded | ||
sorear | o/ | 20:31 | |
lizmat | TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248813 : the reason I said "in" and not "for", is to allow relocation of directories, and/or to have that database be part of the data (subdirectories and files) it is about | ||
jnthn | o/ sorear | 20:34 | |
lizmat | at runtime, the order of search directories can be changed (unshifting to @*INC or whatever we come up with) | ||
so there cannot be one central database for all installed compunits | |||
this is one of the things learned from Perl 5 (as decided about .packfiles at the last Q&A Hackathon on Lancaster) | 20:35 | ||
TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248876 : allowing auth/ver and associated information (such as emulates and exlcudes) with package like statements | 20:37 | ||
gives problems as soon as there is more than one package like statement in a compunit | |||
-use- only knows about compunits currently | |||
we could also go completely the other way and saying that -use- really only knows about package like statemens | 20:38 | ||
but then we get into a problem for development, because of new files we cannot really know what package like statements are in there | 20:39 | ||
timotimo | please excuse repeating my question, but since we're on the module/use/... topic anyway: why won't try require Term::ANSIColor <&colored>; say &colored.defined; give True if the module is installed (and use Term::ANSIColor instead of try require will make it work)? | ||
lizmat | so if we want to go that way, we would have to install each compunit before it can actually be run | ||
timotimo: because runtime importation with require is NI ? | 20:40 | ||
timotimo | aaw, for reals? :( | ||
FROGGS | r: try require Term::ANSIColor <&colored>; say ::('&colored').defined | 20:41 | |
camelia | rakudo b4d858: OUTPUT«False» | ||
FROGGS | r: try require Term::ANSIColor <&colored>; say ::('colored').defined | ||
camelia | rakudo b4d858: OUTPUT«False» | ||
20:41
domidumont left
|
|||
FROGGS | r: try require Term::ANSIColor <colored>; say ::('colored').defined | 20:41 | |
camelia | rakudo b4d858: OUTPUT«False» | ||
lizmat | jnthn would knowf for sure | ||
FROGGS | it is implemented | ||
jnthn | r: require Term::ANSIColor | 20:42 | |
camelia | rakudo b4d858: OUTPUT«Could not find Term::ANSIColor in any of: /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/site/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/5.5.0-devel/languages/perl6/lib, /home/p6eval/… | ||
lizmat | TimToady: there is a certain charm about making use load package like blocks, rather than files | ||
jnthn | star: require Term::ANSIColor | ||
camelia | star 2013.02: ( no output ) | ||
FROGGS | github.com/perl6/roast/blob/master...uire.t#L63 | ||
jnthn | star: require Term::ANSIColor <&colored>; say ::<&colored> | 20:43 | |
camelia | star 2013.02: OUTPUT«sub colored(Str $what, Str $how) { ... }» | ||
FROGGS | star: try require Term::ANSIColor <&colored>; say &colored.defined | ||
camelia | star 2013.02: OUTPUT«False» | ||
FROGGS | star: require Term::ANSIColor <&colored>; say &colored.defined | ||
camelia | star 2013.02: OUTPUT«True» | ||
jnthn | star: require Term::ANSIColor <&colored>; say colored('whale', 'blue') | ||
camelia | star 2013.02: OUTPUT«whale» | ||
FROGGS | ha! | ||
try is messing with it | |||
jnthn | FROGGS: No, r: vs star: | ||
FROGGS | star: require Term::ANSIColor <&colored>; say &colored.defined | ||
camelia | star 2013.02: OUTPUT«True» | ||
FROGGS | star: try require Term::ANSIColor <&colored>; say &colored.defined | 20:44 | |
camelia | star 2013.02: OUTPUT«False» | ||
jnthn | oh | ||
lizmat | TimToady: but then we would need a gitlike blob structure to keep code in | ||
FROGGS | ----------------^ | ||
jnthn | try I guess is implying an extra scope | ||
Probably incorrectly in this cse. | |||
FROGGS | hmmm | ||
jnthn | *case | ||
FROGGS | r: try my $x = 7; say $x | ||
camelia | rakudo b4d858: OUTPUT«7» | ||
lizmat | timotimo: according to spec, you should be able to say :OUR<All> to have things exported to :OUR | 20:46 | |
r: try require Term::ANSIColor :OUTER<&colored>; say &colored.defined # does this work? | |||
timotimo | oh! | ||
camelia | rakudo b4d858: OUTPUT«===SORRY!===Undeclared name: &colored used at line 1» | 20:47 | |
lizmat | r: try { require Term::ANSIColor :OUTER<&colored>}; say &colored.defined # does this work? | ||
camelia | rakudo b4d858: OUTPUT«===SORRY!===Undeclared name: &colored used at line 1» | ||
timotimo | r: say ::('&colored').defined; | ||
camelia | rakudo b4d858: OUTPUT«False» | ||
lizmat | r: try { require Term::ANSIColor :OUR<&colored>}; say &colored.defined # does this work? | ||
camelia | rakudo b4d858: OUTPUT«===SORRY!===Undeclared name: &colored used at line 1» | ||
FROGGS | star: { require Term::ANSIColor :OUTER<&colored>}; say &colored.defined # does this work? | ||
camelia | star 2013.02: OUTPUT«===SORRY!===Undeclared name: &colored used at line 1» | ||
FROGGS | use star | ||
timotimo | star: try require Term::ANSIColor <&colored>; say ::('&colored').defined; | ||
camelia | star 2013.02: OUTPUT«False» | ||
timotimo | star: try require Term::ANSIColor <&colored>; say ::('colored').defined; | ||
camelia | star 2013.02: OUTPUT«False» | ||
timotimo | star: try require Term::ANSIColor :OUR<&colored>; say ::('colored').defined; | 20:48 | |
camelia | star 2013.02: OUTPUT«False» | ||
timotimo | star: try require Term::ANSIColor :OUR<&colored>; say ::('&colored').defined; | ||
camelia | star 2013.02: OUTPUT«False» | ||
timotimo | star: try require Term::ANSIColor :OUR<&colored>; say &colored.defined; | ||
camelia | star 2013.02: OUTPUT«===SORRY!===Undeclared name: &colored used at line 1» | ||
lizmat | I guess the :XXX<…> part is really NYI | ||
timotimo | mhm | ||
FROGGS | star: try require Term::ANSIColor <&colored>; say GLOBAL:: | ||
camelia | star 2013.02: OUTPUT«("Term" => Term).hash» | ||
FROGGS | star: try require Term::ANSIColor <&colored>; say GLOBAL::Term::ANSIColor:: | 20:49 | |
timotimo | oh, maybe that's it! | ||
camelia | star 2013.02: OUTPUT«("EXPORT" => EXPORT).hash» | ||
timotimo | star: try require Term::ANSIColor <&colored>; say Term::ANSIColor::colored("foo?", "red"); | ||
camelia | star 2013.02: OUTPUT«Could not find symbol '&colored' in method <anon> at src/gen/CORE.setting:10522 in at src/gen/Metamodel.pm:2488 in any find_method_fallback at src/gen/Metamodel.pm:2476 in any find_method at src/gen/Metamodel.pm:925 in at src/gen/BOOTSTRAP.pm:883 in an… | ||
timotimo | star: try require Term::ANSIColor <&colored>; say GLOBAL::Term::ANSIColor::colored("foo?", "red"); | ||
camelia | star 2013.02: OUTPUT«Could not find symbol 'colored' in method <anon> at src/gen/CORE.setting:10522 in at src/gen/Metamodel.pm:2488 in any find_method_fallback at src/gen/Metamodel.pm:2476 in any find_method at src/gen/Metamodel.pm:925 in at src/gen/BOOTSTRAP.pm:883 in any… | ||
timotimo | star: try require Term::ANSIColor <&colored>; say GLOBAL::Term::ANSIColor::EXPORT<colored>("foo?", "red"); | ||
camelia | star 2013.02: OUTPUT«No such method 'Any' for invocant of type 'Parcel' in at src/gen/BOOTSTRAP.pm:876 in at src/gen/BOOTSTRAP.pm:870 in any at src/gen/BOOTSTRAP.pm:867 in block at /tmp/nIrgpPc23f:1» | ||
timotimo | star: try require Term::ANSIColor <&colored>; say GLOBAL::Term::ANSIColor::EXPORT<&colored>("foo?", "red"); | ||
camelia | star 2013.02: OUTPUT«No such method 'Any' for invocant of type 'Parcel' in at src/gen/BOOTSTRAP.pm:876 in at src/gen/BOOTSTRAP.pm:870 in any at src/gen/BOOTSTRAP.pm:867 in block at /tmp/scTekHWx72:1» | ||
timotimo | ... | ||
lizmat | TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248904 : that part was a perhaps ill-thought out way of allowing developers to have "unit" specification in their development file | 20:51 | |
but it would be ignored, so that it would become an auth(Any):ver(Any), so they don't have to change the "unit" statement while developing | 20:52 | ||
TimToady,diakopter: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248928 : it is. But then your compunit is *always :auth(Any):ver(Any), because you cannot specify auth/ver with package like statements anymore | 20:53 | ||
20:55
ssutch left
|
|||
lizmat | TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248967 : completely agree, too bad this didn't come across. I felt like I was going to lean too close to an implementation that I have in mind | 20:55 | |
sorear | somehow I had remained blissfully ignorant of the existance of multianewarray | 20:56 | |
lizmat | FROGGS: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7248970 : I hope you don't intend his sql-db backend to be used for doing the smartmatch needed to find a compunit matching a variable auth/ver specification, such as "use Dog:auth(/:i jrandom/):ver(v1.2.1 | v1.3.4);" | 20:57 | |
there are quite some smartmatch situations that you can't mimic in SQL easily | 20:58 | ||
FROGGS | why not play with an sql backend? | ||
the matching logic would be in perl of course | 20:59 | ||
an sql db would just be a bit nicer than a filessytem | |||
PerlJam | sqlite++ | 21:00 | |
lizmat | ah, but that is my point really about the database: once a repository directory has been access, all of its installed compunits would have their meta-information already in memory | ||
and it would just be a matter of minimum of 4 smartmatches to find a compunit's content (aka file) | 21:01 | ||
FROGGS | lizmat: I mean to store the file in that database too | ||
lizmat | ah! | ||
well, I guess we then come to the point that each @*INC entry is really an object with a given API | 21:02 | ||
and some installations could then use SQLite to store the files in | |||
if you ask me, that goes against KISS | |||
FROGGS | KISS ? | ||
lizmat | Keep It Simple, S…. | 21:03 | |
masak | "Keep It Simple, Senior-developer" :) | ||
lizmat | fill in derogatory term starting with S | ||
timotimo | :D | ||
lizmat | :-) | ||
timotimo | that's derogatory? | ||
masak | oh yah | ||
lizmat | it's only one step up to Senile-developer | 21:04 | |
FROGGS | I'm not saying that putting files in a db will the ultimate thing, I just think it is easier to test module installation+lookup with that approach | ||
because the filesystem storage can be kind of hairy | |||
[Coke] | timotimo: traditionally, the second S is "Stupid" | ||
FROGGS | (I'm talking about a S11-somulation module) | ||
lizmat | that would simply be a mangling function that is dependent on the storage system being used | 21:05 | |
some file systems would just got for s/::/\// | |||
others would need to add some mangling | |||
but since the database knows which file belongs to which compunit, the actual filename is not important | 21:06 | ||
21:06
vk joined
|
|||
lizmat | one could even argue that a repository directory would not have any subdirectories at all | 21:06 | |
to allow for quicker lookups on more modern filesystems | 21:07 | ||
(think ReiserFS and the like) | |||
TimToady: writ irclog.perlgeek.de/perl6/2013-06-25#i_7249053 : I found the use of module/class/package really confusing, and I tried to normalize that | 21:08 | ||
timotimo | does =begin pod :allow<I> \nC<foo I<italic?>> \n=end pod have an italic inside the C<...>? | 21:09 | |
lizmat | I wasn't aware of the Parrot ambiguity (although one could argue that is not so important anymore) | ||
timotimo | in other words: will :allow on a block cause "Code" formattingcodes allow other tags inside? | ||
21:10
vk left
|
|||
lizmat | TimToady: wrt irclog.perlgeek.de/perl6/2013-06-25#i_7249139 : we need a glossary here, maybe at the beginning of the document, or maybe completely separately ? | 21:11 | |
This has been suggested many times before, I think, even a few days ago again | |||
</replies to comments made earlier today> | 21:14 | ||
labster | good postnoon, #perl6 | 21:21 | |
lizmat++ has been busy | 21:22 | ||
lizmat | yes, but if that's a good thing, that remains to be seen :-) | ||
timotimo | smart me, comparing strings with == again | 21:23 | |
nqp: say("Z" == "A") # success! | 21:24 | ||
camelia | nqp: OUTPUT«1» | ||
masak | or, as they would have said in the olden days, "garbage in, garbage out". | 21:25 | |
labster | lizmat: well, at the very least, this is going to move discussion forward. | 21:27 | |
lizmat | I sincerely hope so, so that I can finally really start implementing whatever we decide on | ||
labster | I have a hard time knowing whether what I'm doing is the "right" thing, but eventually I end up deciding to just choose *something*, because it's better than nothing. | 21:29 | |
lizmat | know the feeling | 21:30 | |
I will check the backlog tomorrow, sleep& | |||
labster | g'night, lizmat | ||
timotimo | hum. | 21:34 | |
if i put a :my @*FOO_BAR := 1, 1, 1, 1, 1, 1; into token compunit, shouldn't that be set when my pod tokens hit? | |||
i *suppose* i could set this in pod_toplevel, though | |||
for some reason that doesn't seem to work. huh? | 21:38 | ||
lacks parens, it seems | 21:39 | ||
21:44
stevan_ joined
|
|||
timotimo | huh | 21:48 | |
is there something wrong about :my @*POD_ALLOWED_FCODES := @*POD_ALLOWED_FCODES;? | 21:52 | ||
apparently that line swallows up my complete list immediately | 21:56 | ||
21:58
Guest1337 joined
|
|||
timotimo | nqp: my $foo := nqp::list(1, 2, 3, 4); | 21:58 | |
camelia | nqp: ( no output ) | ||
timotimo | nqp: my $foo := nqp::list(1, 2, 3, 4); say(+$foo); | ||
camelia | nqp: OUTPUT«4» | ||
timotimo | maybe i just need to change the sigil | ||
22:01
bluescreen10 left,
ssutch joined
|
|||
timotimo | i'm at my wit's end now. | 22:06 | |
nqp: say(1<<27); | 22:07 | ||
camelia | nqp: OUTPUT«Confused at line 2, near "say(1<<27)"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | nqp: say(1+<27); | ||
camelia | nqp: OUTPUT«Confused at line 2, near "say(1+<27)"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
timotimo | r: say 1+<27; | ||
camelia | rakudo b4d858: OUTPUT«134217728» | ||
timotimo | nqp:: say(134217728); | ||
22:07
tomyan left
|
|||
timotimo | er. | 22:07 | |
well, whatever. it seems like i'm resolving this by making bitfields >_< | |||
nqp: say(0b111111111111111111111111111); | 22:08 | ||
camelia | nqp: OUTPUT«134217727» | ||
sorear | verifier appears to be working :D | 22:17 | |
timotimo | ooh sweet! :) | 22:18 | |
now you can start with the splitter :D | |||
whyyyyyy is it still b0rken?! | 22:21 | ||
dalek | p: 91407c7 | sorear++ | / (3 files): Add asm-commons and asm-tree to build |
||
p: 6e09227 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/AutosplitMethodWriter.java: Start on a bytecode verifier/spliter component; does not work yet |
22:22 | ||
timotimo | why is my dynamic variable disappearing? | 22:34 | |
... my $*foo := $*foo should copy the previous value, shouldn't it? | 22:35 | ||
nqp: my $*foo := 100; { my $*foo := $*foo; say($*foo) }; say($*foo); | |||
camelia | nqp: OUTPUT«100» | ||
timotimo | apparently not :o | ||
but i read it somewhere >_< | |||
sorear | no | 22:37 | |
possibly in perl 5 docs | |||
in perl 5, local $foo = $foo does what you expect, because the local is processed after the rhs is evaluated | |||
in perl 6, variables are always created at block entry | 22:38 | ||
you need to use my $*foo = CALLER::<$*foo>, or (short form) temp $*foo | |||
timotimo | does that work in nqp? | 22:40 | |
and inside tokens? | |||
huh?! | 22:42 | ||
not even :my $temp := $*FOO; :my $*FOO := $temp; works?! | |||
maybe because those two are in the same scope and the variable gets put into the lexpad "at the beginning of the scope" or something | 22:48 | ||
sorear | like I said, at block entry. | 22:53 | |
timotimo | i really don't know how to solve this damn mistery | ||
there's no other way to properly reset a variable when leaving a token? | |||
a dynamic variable, even | |||
sorear | github.com/perl6/nqp/blob/master/s....nqp#L3031 | 22:54 | |
timotimo | that may work in a method, but not so easily in a token where i still have to do matching | 22:55 | |
and i don't want to create a token to wrap that just to have that work | |||
that seems like a very bad time | |||
22:59
skids joined
|
|||
timotimo | i can't even turn this into a list and push/pop like a stack because i have no way of specifying that it should be popped again when the backtracker kicks in | 23:01 | |
pmichaud | dynamic variable is indeed what you want here. | 23:02 | |
23:02
lee_ joined
|
|||
sorear | o/ pmichaud | 23:02 | |
pmichaud | Perl 6 says that "temp $*foo" should do what you want, I think. | ||
afaik that's NYI in NQP and Rakudo as yet. | |||
sorear | can you use my $*foo := nqp::getcallerlexdyn('$*foo') or however that's spelt? | 23:03 | |
pmichaud | I would not be opposed to adding it to NQP grammars. | ||
yes, nqp::getcallerlexdynwhatever should be a reasonable workaround for now. | |||
timotimo | phew | ||
pmichaud | please feel free to add ":temp $*foo" as an NQP issue | 23:04 | |
then I'll remember to get to it when I get tuits | |||
timotimo | will do | 23:05 | |
for grammars only? | 23:06 | ||
or should the issue cover temp in nqp in general, too? | |||
No registered operation handler for 'getcallerlexdyn' - huh? did i misspell it? | |||
ah, perhaps getlexouterdyn | 23:07 | ||
nope. | |||
getcallerlexdyn should be right | 23:08 | ||
but it doesn' texist | |||
oh, getlexdyn might be all i need, without "outer" | |||
ssutch | it's unfortunate that this junk is on the top of planetsix planetsix.perl.org/ | 23:10 | |
23:12
rjbs joined
|
|||
timotimo | d'oh, the config for :allow<A B C> is turned into "allow" => "a b c" | 23:16 | |
well, nothing i can't handle. | |||
23:20
arlinius joined
23:23
omakase joined
|
|||
masak | ssutch: I kindly asked them to stop mailing to that address. | 23:34 | |
if it were up to me, p6a should be hooked straight into planetsix. | 23:36 | ||
shouldn't* | |||
lue | are the announcements usually posted on some blog that is also monitored by planetsix? | 23:37 | |
23:37
berekuk joined
23:40
berekuk left
|
|||
masak | good question. | 23:40 | |
timotimo | i'm getting closer and closer to working :allow for =code blocks and friends | 23:45 | |
that will hopefully make S26 so much better | |||
aw, shucks. =begin without matching =end :( | 23:47 | ||
ssutch | is there a destructuring assignment like my $a,$b = (1,2); | 23:52 | |
timotimo | yes, there is | 23:53 | |
r: my ($a, $b) = (1, 2); say "$a, $b"; | 23:54 | ||
camelia | rakudo b4d858: OUTPUT«1, 2» | ||
ssutch | r: sub f() { (1, 2) }; my ($a, $b) = f(); say "$a, $b"; | ||
camelia | rakudo b4d858: OUTPUT«1, 2» | ||
timotimo | r: my ($a, $b, $c, $d, $e) = <hello ssutch how are you>; ($a, $b, $c, $d, $e) .= pick(*); say "$a $b $c $d $e"; | 23:55 | |
camelia | rakudo b4d858: OUTPUT«hello you how ssutch are» | ||
ssutch | r: my ($a, $b) = [1,2]; say "$a $b" | ||
camelia | rakudo b4d858: OUTPUT«1 2 » | ||
ssutch | r: my ($a, $b) = [1,2]; say "a=$a b=$b" | ||
camelia | rakudo b4d858: OUTPUT«a=1 2 b=» | ||
ssutch | is that right? | ||
23:56
Guest1337 left
23:57
Guest1337 joined
|
|||
timotimo | arrays are apparently handled like items there | 23:58 | |
i think you need to use [ ... ] a lot less if you want to be happy in perl6land :) |