»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:12 Psyche^_ joined 00:15 kivutar left 00:16 Psyche^ left 00:17 mathw joined, pernatiy joined 00:26 berekuk left
[Coke] rakudo: my $a is default(42); use Test; is $a, 42; say $a.VAR.default; 00:30
camelia rakudo 252008: OUTPUT«ok 1 - ␤42␤»
[Coke] rakudo: my $a is default(42); use Test; is $a, 42; is $a.VAR.default, 43;
camelia rakudo 252008: OUTPUT«ok 1 - ␤not ok 2 - ␤# got: '42'␤# expected: '43'␤»
[Coke] on the jvm, that now dies on the .default call. 00:31
00:33 berekuk joined 00:42 riceandbeans left 00:44 BitPuffin left 00:47 dayangkun joined 00:48 dayangkun left, berekuk left, Mouq joined 00:49 teslos left 00:50 dwarring left 00:51 mathw left 00:52 s00pcan left 00:54 mathw joined, berekuk joined 00:56 berekuk left 00:58 berekuk joined 01:00 berekuk left 01:06 skids joined 01:13 tokuhirom left 01:20 tokuhirom joined, stevan_ joined, thou left 01:38 kbaker joined 02:12 EvanTeitelman left 02:17 krunen joined 02:20 Mouq left 02:44 zakame left
[Coke] n: $*VM 02:50
camelia niecza v24-95-ga6d4c5f: ( no output )
[Coke] n: say so $*VM
camelia niecza v24-95-ga6d4c5f: OUTPUT«False␤»
[Coke] n: say $*VM.perl
camelia niecza v24-95-ga6d4c5f: OUTPUT«Any␤»
[Coke] n: say $*VM.gist
camelia niecza v24-95-ga6d4c5f: OUTPUT«(Any)␤»
dalek ast: a993413 | coke++ | S (2 files):
niecza fudge
03:01
ast: 4ae1f4c | coke++ | S (2 files):
niecza fudge
ecza: 473bd20 | coke++ | t/spectest.data:
run fudged tests
03:02
diakopter he played Bateman; he played Batman.
03:03 qiyong joined
qiyong hi all 03:03
diakopter hi qiyong
qiyong does p6 supoort package foo::bar;
diakopter rn: package foo::bar; 03:04
camelia niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Semicolon form of package definition indicates a Perl 5 module; unfortunately,␤ STD doesn't know how to parse Perl 5 code yet at /tmp/FbE9BqI11R line 1:␤------> package foo::bar⏏;␤␤Parse failed␤␤»…
..rakudo 252008: OUTPUT«===SORRY!=== Error while compiling /tmp/_dc9MsgxUU␤This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 style package block like "package Foo { ... }", or "module Foo; ...".␤at /tmp/_dc9MsgxUU:1␤------> pa…
diakopter rakudo's error is more helpful in this case 03:05
qiyong: yes, but it's called module foo::bar; 03:06
qiyong diakopter: and foo is the directory name?
diakopter if that's where it's stored, it can be loaded that way, yes
qiyong where's the doc for $^H? 03:11
perlvar
[Coke] $^H is S03:171 03:13
synopsebot Link: perlcabal.org/syn/S03.html#line_171
[Coke] er...
$^H is S28:171 03:14
synopsebot Link: perlcabal.org/syn/S28.html#line_171
qiyong perl and python, which is more powerful?
bonsaikitten qiyong: yes
[Coke] bonsaikitten++
qiyong bonsaikitten: are you from japan?
03:14 preflex_ joined, ChanServ sets mode: +v preflex_
bonsaikitten qiyong: most programming languages have the same expressivity, but sometimes a problem is easier to solve in one, or the other ... 03:14
no, I'm not ...
qiyong bonsaikitten: is bonsai japanese? 03:15
03:15 preflex left
bonsaikitten the word is 03:15
03:15 preflex_ is now known as preflex
qiyong in terms of lexical scope, what other scopes are there? 03:16
[Coke] package, file, dynamic 03:19
03:24 btyler joined
qiyong totally three? 03:24
four?
package vars don't need 'my'? 03:25
03:25 cognominal left, cognominal joined 03:28 BenGoldberg left 03:39 btyler left 03:41 zakame joined
qiyong where bar is the filename, right? like bar.pm 03:49
TimToady class scope 03:52
package vars are usually introduced with 'our', class vars with 'has' 03:53
you can also introduce something into anonymous scope with 'anon' 03:55
we don't use package vars much in p6
03:59 fridim_ left
TimToady there are several variants on lexical scope, too, depending on how long the bindings last 03:59
constants have the longest bindings, 'my' the shortest, and 'state' is in the middle
in another sense, every object provides its own scope to its attributes 04:01
04:07 zakame left 04:11 kbaker left 04:23 pernatiy left, pernatiy joined 04:26 araujo left, araujo joined 04:40 zakame joined
moritz \o 04:41
04:41 zakame left, zakame joined, Woodi left 04:42 Woodi joined 04:43 raiph joined 04:47 census left 05:05 qiyong left 05:22 SamuraiJack__ joined 05:29 SamuraiJack joined 05:30 qiyong joined 05:31 xenoterracide left 05:32 SamuraiJack__ left, xenoterracide_ joined 05:33 denis_boyun joined 05:45 johnny5_ joined
sjohnson hi!~ 05:58
05:59 johnny5_ left 06:00 johnny5_ joined 06:03 poor_soul joined
poor_soul hi, #perl6 :) 06:04
i'm currently wrestling with Perl 6 module apparatus 06:06
06:07 denis_boyun left 06:08 bbkr__ joined
poor_soul i've got file lib/A/B.pm which says basically 'class A::B is export {...}', then file lib/A.pm which says 'module A; use A::B; sub version is export {...}' 06:10
06:11 bbkr_ left
poor_soul when i do 'use A' in an app file, i don't obtain the definition of A::B 06:11
06:11 denis_boyun joined
JimmyZ you need add your dir ..../lib/ to he search path 06:12
s/he/the/
@INC, like p6
*p5 06:13
poor_soul ofc i did that
JimmyZ you have 'module A::B;' in B.pm? 06:14
poor_soul i get the definitions in A.pm, but not those of A/B.pm, if if they are use'd inside A
in B.pm i only have 'class A::B is export; method a {...}' etc 06:15
s/if if/even if/ 06:16
06:16 denis_boyun left
JimmyZ github.com/perl6/DBIish/blob/maste...sh.pm6#L15 06:16
poor_soul what do you mean? 06:19
06:19 pupoque joined
JimmyZ an example 06:19
poor_soul i'll try to experiment with that, brb 06:21
06:33 FROGGS[mobile] left
poor_soul ok, i made that work 06:34
now the problem is, when i try to do 'use A <B>', it says: no EXPORT sub, but you provided positional argument in the 'use' statement 06:35
i dont see EXPORT sub explained in S11, where could i find it? 06:36
06:36 FROGGS joined 06:43 xenoterracide_ left 06:45 Woodi left 06:46 Woodi joined 06:50 domidumont joined 06:54 domidumont left
moritz I don't think it's specced or documented yet 06:54
poor_soul i'm trying to do 'my ::B ::= A::<::B>' alternatively, but i get 'expecting any of: scoped declarator' 06:55
06:55 domidumont joined
moritz basically it's an our sub EXPORT(*@args) { } that receives the argument list that you provided in the use statement 06:55
poor_soul: try it without the leading :: 06:56
poor_soul same error 'Cannot use :: as a type name' and then 'expecting ...' 06:57
nothing changed
moritz and what is A::<::B> supposed to mean? 06:58
poor_soul i was trying 'my B ::= A::<B>' after 'use A' to import B into the namespace
moritz why not just use A::B then? 06:59
poor_soul well, A::B is fine since it's short, but in case of longer names, it's quite a hassle 07:00
moritz but A::<B> is longer than A::B
07:00 Woodi left
moritz so I don't understand why you want to use A::<B> instead of A::B 07:00
poor_soul but B is not
moritz yes, I got that part.
poor_soul i wanted to call A::B as B 07:01
moritz yes
07:01 dmol joined
moritz but why are using A::<B> und other complicated notations? 07:01
poor_soul because use A <B> doesn't work
do we know what an EXPORT sub should do? 07:02
qiyong what is \% ?
moritz yes
poor_soul i could implement it in the module
moritz it should control what to export
poor_soul so to make use A <B> work
moritz poor_soul: you can just do use A; constant B = A::B; 07:03
(provided that module A has an A::B)
poor_soul but it's not a constant, it's a class
moritz and then use B
so what/
argm
s{\/}{?} 07:04
poor_soul does it work the same?
moritz poor_soul: do you expect to modify the class?
yes, works the same
qiyong: in what context?
qiyong getopt('oDI', \%opts);
poor_soul modify the class, you say, how? 07:05
qiyong: creates a reference to hash
moritz qiyong: please find a more appropriate channel to ask Perl 5 questions
poor_soul: dunno. But you seem to object declaring it as a constant
qiyong does p6 have ref? 07:06
moritz poor_soul: it was more meant toung in cheek. Never mind
poor_soul sorry, i wasn't objecting it, i simply didn't know i could do that
moritz qiyong: perl6advent.wordpress.com/2011/12/...nces-gone/
poor_soul: ok. Then I guess my response wasn't very helpful, sorry
poor_soul: to add a bit more context, types and constants are simply stored without sigils in the lexpads and our-scopes 07:07
07:07 kaleem joined
moritz poor_soul: and 'constant A = ...' happens at compile time, which is usually what you want for types too 07:07
poor_soul: so even if it's a bit unintuitive at first, 'constant' is actually a great tool to create aliases for type names 07:08
07:11 zakharyas joined
poor_soul so, A.pm says 'module A; use A::B; constant B = A::B; ...' . If i then do 'use A; my $b = B.new;' it errors out with Undeclared name: B 07:12
i'll brb 07:13
07:13 xinming left 07:14 pupoque left
moritz poor_soul: yes, because you didn't do anything to make B visible in your main script 07:14
poor_soul: constants are lexically scoped by default
poor_soul: so you'd have to say our constant B = A::B if you want it to be available in your main script
07:14 xinming joined
TimToady r: subset Foo of Int; my Foo $x = "bar"; 07:15
camelia rakudo 252008: OUTPUT«Type check failed in assignment to '$x'; expected 'Foo' but got 'Str'␤ in block at /tmp/XuVy5m7giW:1␤␤»
TimToady r: subset Foo of Str; my Foo $x = "bar";
camelia rakudo 252008: ( no output )
TimToady another way
r: BEGIN my \Foo = Str; my Foo $x = "bar"; say $x 07:16
camelia rakudo 252008: OUTPUT«===SORRY!===␤No compile-time value for Foo␤»
TimToady um
n: BEGIN my \Foo = Str; my Foo $x = "bar"; say $x 07:17
camelia niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Lexical Foo is not a package at /tmp/hvSimr3tfp line 1:␤------> BEGIN my \Foo = Str; my Foo⏏ $x = "bar"; say $x␤␤A type must be provided at /tmp/hvSimr3tfp line 1:␤------> BEGIN my \Foo = Str; my Foo…
07:21 teslos joined
dalek rlito/replito: 9643c62 | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - TODO update
07:28
rlito/replito: a0beddf | (Flavio S. Glock)++ | t5/01-perlito/080-array.t:
Perlito5 - tests - slice tricks

replito now uses minimal Carp
07:28 dalek left 07:29 dalek joined, ChanServ sets mode: +v dalek
masak morning, #perl6 07:32
lizmat morning masak and the rest of #perl6!
lizmat wonders what to attack today 07:33
moritz \o
07:39 pupoque joined
Ulti thanks geekosaur I'll have to do some jiggery pokery to build parrot then, or just update the current parrot MacPort so that the version is what Rakudo wants 07:39
yoleaux 10 Sep 2013 22:27Z <geekosaur> Ulti: MacPorts does not build as root and can't write outside the build area
poor_soul sorry, i'm back 07:44
moritz: i made that 'our constant B = A::B', but it's the same result 07:45
moritz :( 07:51
jnthn lizmat: attack masak! 07:54
lizmat directly? or by using macro's ?
jnthn With a macro named marco! 07:57
lizmat: More practically, perhaps figure out the VAR failures on JVM backend... ;)
lizmat like .VAR.default not working ? 07:58
poor_soul moritz: i've got a pastebin for your use, let's work this issue out :) pastebin.com/Tps5aAXz
masak jnthn: we already have one of those in here. 07:59
moritz poor_soul: oh, I think I see what the problem is, hang on 08:00
poor_soul: ah yes 08:01
poor_soul: the 'our constant B = ...' is inside module A, so you are actually (re?)-declaring A::B
08:02 eternaleye left
moritz poor_soul: if you move the constant declaration before the 'module A;' line, the constant is actually B, and stuff works 08:02
use A::B;
our constant B = A::B;
module A;
our sub v is export { say "A::v"; }
poor_soul my god, what a thinko i did
moritz: you're my saviour 08:03
masak moritz saved a poor soul
moritz :-) 08:05
poor_soul if i can utter a wish, i would like a warning on redeclarations like those 08:06
moritz r: { package A { our $B } }; package A { our $B }
camelia rakudo 252008: ( no output )
dalek rlito: 596ae83 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - use context information when "use" is the last statement; reported by Stanislav Poussep
08:07
moritz poor_soul: the problem is that it's perfectly legal to do that
maybe it shouldn't be
dunno
masak depends. what's the use case? 08:08
moritz it's a p5 heritage thing, and I don't know if anybody has really thought it through
poor_soul: though to be honest I don't think it's a wise move to export aliases to other namespaces 08:09
dalek rlito/replito: 596ae83 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - use context information when "use" is the last statement; reported by Stanislav Poussep
08:10
rlito/replito: 45eb9c1 | (Stanislaw Pusep)++ | / (4 files):
Revert "Perlito5 - js - can't handle "return ()"; trying "return (true)" instead"

This reverts commit c528e36f7e4b9b647fc8f1cb7a7cff3302295cf9.
rlito/replito: 189ed1b | (Stanislaw Pusep)++ | / (3 files):
Merge branch 'master' into replito
moritz poor_soul: the reason the author called it A::B and not B in the first place is probably that A::B is the better name
poor_soul: so it's fine to declare local aliases, but exporting these aliases seems a bit dodgy
masak I could argue that one both ways.
maybe the whole language should have a clearer boundary between "non-experted names" and "exported names". 08:11
but it's also possible that would be impractical, and it's better kept as a social agreement.
moritz masak++ # non-experted names 08:12
poor_soul but think about this: you've got lib/A/B/C.pm and lib/A/B/C/D.pm, and want to call them as A::C and A::D 08:13
the solution is that aliasing, or is there another way? 08:14
08:14 xinming left
moritz poor_soul: well, there are two solutions. One is not naming them A::B::C in the first place, when you want them to be named A::C 08:14
poor_soul: but if A::B::C is the most fitting name, then yes, alias. But keep the alias to your own code.
poor_soul: there's not much point in nested namespaces if you export flatter aliases 08:15
poor_soul moritz: you mean in the A.pm file?
moritz poor_soul: yes
08:15 xinming joined
masak moritz: it's really the same idea as with inwards-facing attributes and outwards-facing methods... but on a package level. 08:29
moritz: and the motivation is the same, too: retaining refactorability inside while adhering to a contract outside.
moritz masak: oh, good point 08:32
lizmat r: sleep * # shouldn't this be the same as sleep Inf ? 08:33
camelia rakudo 252008: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤ in method Numeric at src/gen/CORE.setting:961␤ in sub infix:<==> at src/gen/CORE.setting:3685␤ in sub infix:<==> at src/gen/CORE.setting:3683␤ in method ACCEPTS at src/gen/CORE.setting:3…
lizmat it's not in the spec, but it feels it should 08:35
masak lizmat: wfm
lizmat: * doesn't mean Inf in all possible cases... but in this case, I don't mind.
08:35 raiph left 08:37 dakkar joined
moritz agreed 08:38
mathw o/ 08:40
08:40 qiyong left
masak mathw! \o/ 08:45
09:00 qiyong joined 09:08 kivutar joined 09:13 daxim joined
mathw hi masak 09:13
09:14 sqirrel joined
lizmat r: Instant.new(Inf) # yet sleep still is specced to have Inf as the default for its Instant parameter 09:20
camelia rakudo 252008: OUTPUT«Type check failed in assignment to '$!x'; expected 'Rat' but got 'Num'␤ in block at src/gen/CORE.setting:865␤ in method BUILDALL at src/gen/CORE.setting:848␤ in method bless at src/gen/CORE.setting:837␤ in method new at src/gen/CORE.setting:13773␤ in block a…
lizmat TimToady: spec problem or something that would need to be fixed in Instant.new ? 09:21
masak well, Inf has often been referred to as being "type-curious".
lizmat S29:293 to be precise
synopsebot Link: perlcabal.org/syn/S29.html#line_293
masak it seems to in some sense straddle all comparable types.
moritz lizmat: known spec problem
masak which hasn't really seen the light of implementation. 09:22
i.e. Inf is typed as "anything you want it to be": Real, Str, Instant...
moritz or is a solution specced now, just not yet implemented?
Num, Rat, Int
lizmat "multi sleep-till ( Instant $till = Inf --> Bool )" is what is specced
jnthn urgh argh
masak the spec is there, but I'm not sure it's implementable.
which would explain why it hasn't been implemented.
jnthn I think this is either unimplementable or if it is I dont' care to work out how.
'cus the answer will probably be crazy. 09:23
masak this is one place where TimToady's intuition runs up against type theory best practices.
and we're literally unable to tell whether it's a good idea or a bad one to go crazy in the way TimToady suggests. (and if so, how)
:P
jnthn Well, we'd need to work out how to allow Int, Rat, etc. represent a notion of Inf 09:24
Which on most backends will mean making everys ingle one of them consume more memory so we have a place to store that.
lizmat well, I don't think it's a problem to implement sleep-till with INf as the default
and defer type checking to runtime
masak *usually* the way these things are resolved is that a type-theoretic solution snaps into place, and everyone goes "phew!", and "how come we didn't think of this sooner?"
but that hasn't manifested with Inf yet. 09:25
lizmat well, I'll go crazy with sleep-til, deferring type checking to runtime
jnthn lizmat: Why not zoid^Wmultis?
A multi that takes an Instant, and a multi that takes Inf?
masak hm, maybe a stopgap solution is to have things like Inf.Str(), Inf.Instant(), etc
lizmat well, the setting doesn't allow Inf yet
masak it's ugly, but it's unambiguous.
lizmat must be $Inf
jnthn masak: Yes but what does Inf.Str return? 09:26
masak jnthn: a Str type object, specially tailored to always compare last.
arnsholt An infinitely long string. D'uh. =p
jnthn masak: The type object is the type object...
masak arnsholt: you belong here, for sure :P
jnthn: you're saying There Can Only Be One?
jnthn masak: Well, there's only one ->WHAT in the st 09:27
masak jnthn: how about the type object of an anonymous Str subtype, then?
jnthn I guess you can have moer than one if you want to allow ATypeObject.WHAT to sometiems not be identity
masak Str::LolI'mSoInfinite
jnthn Yes, an anonymous subtype has a different type obj 'cus it's a different type. 09:28
masak jnthn: I think that would be acceptable for Inf.Str()
walk &
09:30 sqirrel left 09:36 teslos_ joined 09:39 teslos left, teslos_ is now known as teslos
dalek rlito: 1fef5af | (Flavio S. Glock)++ | / (4 files):
Perlito5 - js - autoquote special cases
09:43
10:01 qiyong left
dalek rlito: f506e45 | (Flavio S. Glock)++ | t5/01-perlito/050-string.t:
Perlito5 - tests - now it works with many perl5.1x versions
10:05
kudo/nom: 79c0f51 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Get sleep(), sleep-time() and sleep-till() up to spec

Since Duration and Instant were not known yet in control.pm, moved these subs to Temporal.pm where they seemed to be more at home.
10:13
lizmat working on the tests now 10:14
10:30 berekuk joined
lizmat wish we had something like p5's alarm() already 10:35
10:37 dmol left
masak too 10:37
10:37 PZt left 10:38 PZt joined
moritz call to weapons! 10:58
(alarm = al arm = take your weapon) 10:59
lizmat r: my $b = {sleep(Inf)}; say $b # works as expected 11:01
camelia rakudo 252008: OUTPUT«Block.new()␤»
lizmat r: my $b; eval('$b={sleep(Inf)}'); say $b # waits indefinitely ???? 11:02
camelia rakudo 252008: OUTPUT«Block.new()␤»
lizmat huh?
hmmm… why does this hang in the test-suite 11:03
ah, I think I know
dalek ast: 693cdad | (Elizabeth Mattijsen)++ | S29-context/sleep.t:
Adjusted sleep() related test to new spec implementation
11:08
11:12 kivutar left 11:16 teslos left
dalek rlito: 8a5c833 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - code cleanup
11:22
11:24 berekuk left 11:28 xinming left, berekuk joined 11:29 xinming joined 11:32 fhelmberger joined
dalek rlito: e3356de | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - code cleanup
11:34
lizmat just marked all of her Perl 5 modules on CPAN as HANDOFF 11:35
it's time to move on :-)
github.com/Perl-Toolchain-Gang/too...sting-help
hoelzro =O 11:36
masak lizmat++
lizmat: it's interesting to see how Perl 5 people are in different parts of the cycle relating to Perl 6.
lizmat: roughly, mst is three years ahead of everybody else :> 11:37
lizmat: I would count you as well, but AFAIK you never had an anti-Perl 6 phase.
lizmat please note that at the RaNIW, we're going to have at least 2 Perl 5 hard core guys 11:38
no, I don't think I ever had an anti-Perl 6 phase
but that was mostly I was too busy at $work :-)
moritz ribasushi and who else?
lizmat sno
jnthn Are they "hard core guys" 'cus the Perl 5 core is hard? :P 11:39
lizmat well, no, but they're deep in the DBI and DBIx::Class dev teams
masak .oO( you're hardcode, john sno )
tadzik :D 11:40
11:42 kivutar joined
dalek rlito: 88f8dd7 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - add special case for sort()
11:45
11:53 skids left
FROGGS lizmat++ # abandon modules 11:53
btw, I suggest that we organize a portathon after rakudo has landed on moarvm 11:54
(where we identify the most used deps first, and make sure these get tackled first) 11:55
11:56 sqirrel joined
colomon portathon++ 11:58
FROGGS but I think we should wait until it is reasonable fast, so we don't disappoint to much ppl 11:59
and then we make an hourly build of a binary star distribution :o) 12:00
hoelzro how will the multiple backends affect Rakudo *? will there just be Rakudo Star on Parrot, or will there be one per VM? 12:01
jnthn I think the source star will give you the choice of what you want, and the binary stars will be per VM. 12:02
lol...binary star
FROGGS *g*
jnthn treis to remember the story set in a binary star system where people sun-tanned different colors (blue and red, maybe) depending on which star they were most exposed to... :) 12:04
Oc course, those with frequent exposure to both were purple :)]
dalek rlito: a332ffa | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - use "else if"
12:05
12:06 kivutar left
FROGGS that is not star trek that is! 12:08
12:12 sqirrel left 12:13 xenoterracide_ joined
dalek ecs: 157b605 | (Elizabeth Mattijsen)++ | S29-functions.pod:
Add * as a possible parameter to sleep-like subs
12:17
12:32 adris joined 12:36 berekuk left 12:42 berekuk joined
masak walk & 12:48
poor_soul r: class A {sub free_s {say 'free_s';};method free_m {free_s;};submethod DESTROY {free_m;}} 12:49
camelia rakudo 79c0f5: OUTPUT«===SORRY!=== Error while compiling /tmp/27PKKHt9RO␤Undeclared routine:␤ free_m used at line 1␤␤»
poor_soul does someone know why it says free_m is undeclared? 12:50
moritz because you try to call it as a subroutine, but it's declared as a method
subroutines live (and are looked up in) lexical scopes, methods in method tables
FROGGS r: class A {sub free_s {say 'free_s';};method free_m {free_s;};submethod DESTROY { A.free_m }} # <-- so call it as a method 12:54
camelia rakudo 79c0f5: ( no output )
poor_soul moritz: of course you're right :P
FROGGS r: class A {sub free_s {say 'free_s';};method free_m {free_s;};submethod DESTROY { self.free_m }} # <--- or better using self
camelia rakudo 79c0f5: ( no output )
dalek rlito: 50054f4 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - code cleanup
poor_soul but shouldn't it print 'free_s'? 12:55
colomon wouldn't you actually have to create an object of class A for DESTROY to be called? 12:56
FROGGS I was about to say that
poor_soul: the class won't be destroyed
colomon not that I'm sure it would even be called in that case…. object lifetimes can be weird.
poor_soul i think i should go to bed today
FROGGS r: class A {sub free_s {say 'free_s';};method free_m {free_s;};submethod DESTROY { self.free_m }}; { my $a = A.new; } # you could expect 'free_s' here 12:57
camelia rakudo 79c0f5: ( no output )
FROGGS but this is sort of NYI and lacks some discussion/specs 12:58
12:58 pmurias joined
poor_soul FROGGS: wait a sec, why doesn't it print anything? 13:02
FROGGS <FROGGS> but this is sort of NYI and lacks some discussion/specs
I think it is not guaranteed when the garbage collector actually collects something 13:03
poor_soul FROGGS: you mean it's unsure because i did not define a meaningful new? 13:04
FROGGS no, I didn't mean that
I mean it is not implemented and needs clarifying
pmurias shouldn't it be guaranteed that the objects get collected before the end of the program?
dalek rlito: 6332f51 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - emitter - cleanup parenthesis
13:05
FROGGS it should be collected at the end at least, yes
why it doesn't call the DESTROY? no idea, I guess it is NYI
poor_soul that's quite the NYI 13:07
pmurias hmm, why do I sometimes get a forbidden apache error message for the irc log?
FROGGS I guess the gc lives in parrot, and I have no idea if there is some sort of callback/hook so that it possible could call the DESTROY method
pmurias: because there is an access limit 13:08
pmurias: bug moritz for details
moritz probably too many requests sent per hour, or buggy apache rate limit 13:09
13:12 berekuk left 13:14 SamuraiJack left, thou joined 13:16 kaare_ joined, PacoAir joined 13:19 pernatiy left 13:21 kbaker joined 13:27 denis_boyun joined 13:31 skids joined, berekuk joined
pmurias moritz: buggy rate limit as I can solve this by refreshing repeatedly 13:32
13:34 eternaleye joined, FROGGS left 13:36 lowpro30 joined
skids r: sub circumfix:<⟨ ❘> ($i) { "bra $i".say; }; sub circumfix:<❘ ⟩> ($i) { "ket $i".say; }; ❘1⟩; ⟨2❘; 13:38
camelia rakudo 79c0f5: OUTPUT«ket 1␤bra 2␤»
skids r: sub circumfix:<⟨ ❘> ($i) { "bra $i".say; }; sub circumfix:<❘ ⟩> ($i) { "ket $i".say; }; ⟨2❘; ❘1⟩
camelia rakudo 79c0f5: OUTPUT«===SORRY!=== Error while compiling /tmp/0D_KiT4wRO␤Confused␤at /tmp/0D_KiT4wRO:1␤------> mfix:<❘ ⟩> ($i) { "ket $i".say; }; ⟨2❘; ⏏❘1⟩␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ …
skids
.oO(something probably to do with starter/stopper designations)
13:39
13:39 denis_boyun left 13:42 mattp_ joined, mattp_ left 13:43 mattp_ joined
skids std: sub circumfix:<⟨ ❘> ($i) { "bra $i".say; }; sub circumfix:<❘ ⟩> ($i) { "ket $i".say; }; ⟨2❘; ❘1⟩; 13:43
camelia std 7c17586: OUTPUT«ok 00:01 55m␤»
mathw r: say ?"0"; 13:45
camelia rakudo 79c0f5: OUTPUT«False␤»
13:45 btyler joined 13:46 pernatiy joined
skids not that I have a clue how to go about making those and all of ⟨A❘B ⟩, ⟨A❘T | B⟩ and T ❘B⟩ work :-) 13:46
lizmat www.infoq.com/news/2013/09/jdk8-preview 13:48
13:48 adris left, mattp_ left 13:49 adris joined 13:53 kaleem left
pmurias skids: what are those crazy brackets supposed to do? 13:54
skids Dirac notation.
Bra changes a vector to a row matrix and ket changes it to a column matrix.
(bra modulo some possible convultions of the elements depending on the inner product in use at the time.) 13:55
*convolutions 13:56
.oO(convulsing elements)
13:57
13:57 adris left 13:58 mattp_ joined
jnthn In general, you have no idea of the timing of DESTROY. 14:05
So it's hardly "quite the NYI", since it's not actually very useful :) 14:06
colomon well, it shouldn't happen while you're still using the object. ;)
jnthn aye
but you dunno how much later
lizmat { my $o = Object.new; LEAVE $o.DESTROY }
jnthn lizmat: right. :) 14:07
That's teh reliable way.
flussence would calling it manually like that work properly if an automatic thing got implemented later?
14:08 lizmat left, lizmat joined
jnthn flussence: It'd probably be called a second time :) 14:08
lizmat but, isn't there a way to mark an object as de-activated ? 14:16
self := Nil
comes to mind
flussence fwiw I don't strongly care when DESTROY runs, I only wanted somewhere to put native function resource freeing stuff that looks neat & tidy
jnthn I'm pretty sure you can't bind to self, and if yuou did you're saying nothing about the object and everything about the lexical symbol self in the current method... 14:17
lizmat "Cannot use bind operator with this left-hand side"
r: class H is Hash { method DESTROY { self = () } }; my %h=H.new((a => 1, b=>2)); say %h; %h.DESTROY; say %h 14:18
camelia rakudo 79c0f5: OUTPUT«("a" => 1, "b" => 2).hash␤No such method 'DESTROY' for invocant of type 'Hash'␤ in block at /tmp/FcrRvf194D:1␤␤»
lizmat r: class H is Hash { method DESTROY { self = () } }; my %h:=H.new((a => 1, b=>2)); say %h; %h.DESTROY; say %h
camelia rakudo 79c0f5: OUTPUT«("a" => 1, "b" => 2).hash␤().hash␤»
lizmat r: class H is Hash { method DESTROY { self = H.new } }; my %h:=H.new((a => 1, b=>2)); say %h; %h.DESTROY; say %h 14:19
camelia rakudo 79c0f5: OUTPUT«("a" => 1, "b" => 2).hash␤().hash␤»
14:26 jnap joined, drigo joined
drigo :-) 14:27
Perl6 is stable? official realese?
nice syntax
easy migration whatever lang => perl6
rs
14:28 dmol joined 14:31 [Sno] joined
[Sno] anyone around can help fixing build issues when packaging raduko-star (with parrot) 14:32
poor_soul doesn't that mean that you could do this: as you get to install a new lexical symbol in a block, you check if there is a LEAVE phaser. If it's not present, make one that calls DESTROY for the symbol, else append the instructions to the existing one
when there are multiple symbols, put their DESTROYs in a list and use that in the LEAVE 14:33
ofc i meant refs to DESTROYs 14:34
[Sno]: what's the problem? 14:35
masak drigo: re stable -- not according to some measures. but a lot better all round than two-three years ago.
drigo: it all comes down to what you plan to use it for. some of us are using it quite a lot, and with nice results.
[Sno] poor_soul: ./Configure.pl tries to install --gen-parrot in configure stage, not during make install
drigo masak in web development 14:36
:) 14:37
poor_soul [Sno]: of course, it's needed for building nqp and rakudo
masak drigo: we have github.com/tadzik/Bailador/ which you should check out.
pmurias foo << 1 multiplies foo by 2 on the jvm?
[Sno] poor_soul: so I have to unbundle it - is there an option for that?
jnthn [Sno]: If you're packaging, you probably dont' want to be using the --gen... options. 14:38
poor_soul [Sno]: it's not bundled for what i know, it gets parrot from the webz
jnthn [Sno]: Those mean "I am doing a source build, please build all the dependencies first"
masak drigo: or perhaps even better, github.com/tadzik/zblog which uses bailador
[Sno] first shot was to give it a try (to get it all from one source)
but meanwhile it looks I should build parrot before and make it a prereq 14:39
jnthn [Sno]: You can also pass --with-nqp (and pass NQP's Configure --with-parrot) to tell it to use an installed one.
drigo masak ok, thanks u
poor_soul [Sno]: which distro?
[Sno] jnthn: yepp - but it's more effort - --gen-foo is simpler :(
poor_soul: pkgsrc
to have Perl6 on up to 15 platforms with one commit :D 14:40
masak [Sno]++ # welcome to #perl6!
lizmat [Sno]++
poor_soul [Sno]: you should always check the AUR for simple build instructions 14:41
[Sno] lizmat is responsible
she forces me to have an installed r* Saturday
masak :D
lizmat++ # responsible
[Sno] so … fu*** I have to package it, because no wildlife on machine :P
14:41 mattp_ left
hoelzro I have a package for Rakudo * for Arch 14:41
14:41 mattp_ joined
lizmat searches for the exit silently 14:41
hoelzro if you're interested
[Sno] blames lizmat
hoelzro: does it run on Darwin, AIX and HP-UX? 14:42
hoelzro oh, sorry, I misunderstood from the AUR reference
[Sno] if yes, I take a look and search what I can steal :D
nwc10 wonders how to implement a hard-to-hack "install Rakudo and get a free beer" promotion.
hoelzro that's one thing I would really like to help improve: Perl 6 packaging for OSen 14:43
pmurias int foo=...;bar = foo << 1 is equivalent to int foo=...; bar = 2 * foo?
poor_soul [Sno]: really, it's not that hard, perl Configure.pl --prefix=/usr --with-parrot=/usr/bin/parrot --with-nqp=/usr/bin/nqp && make 14:44
[Sno] jnthn: would it be "safe" to package parrot-5.7.0 (5.5.0 is bundled, but a developer release)
drigo masak I'm developer. net, I've always been curious to perl, but the syntax of perl5 is ugly, but syntax perl6 is nice and easy
rs :)
poor_soul [Sno]: then, for install, make DESTDIR=$dir install
jnthn [Sno]: There's not that much change between Parrot releases now, so the stable/developer distinction ain't worth much. 14:45
[Sno] jnthn: thanks
jnthn pmurias: JVM has a left shift instruction, and I'm fairly sure we're using it.
poor_soul hoelzro: do you think there's interest for perl6 git packages? 14:46
hoelzro git packages?
poor_soul hoelzro: i made some, like perl6-json-tiny-git, perl6-file-find-git, as to not need to use panda 14:47
hoelzro oh
well
what I'd *like* to do is have rakudo-star be a metapackage 14:48
that depends on the rakudo package, along with all the modules
that's been the real hurdle up until now
that and ENOTIME
poor_soul if we make enough of these, you can reproduce the modules list on R* and have a R*-git meta-package
hoelzro that'd be great 14:50
14:50 fhelmberger left
hoelzro I wrote a script to generate PKGBUILDs for all of the modules in R* 14:50
but I got stuck at writing the installer section for them
dalek rlito: 67d865d | (Flavio S. Glock)++ | / (4 files):
Perlito5 - js - reference stringification
14:51
poor_soul hoelzro: let's see, what did commands did you use in build() ? 14:52
hoelzro poor_soul: it's one my home machine; I'll have to look there
masak drigo: I am a Perl 6 developer at heart, but I move around in both the Perl 5 and Perl 6 worlds.
poor_soul hoelzro: i tried bootstrapping panda, but for some reason it didn't work
hoelzro hmm 14:53
poor_soul hoelzro: so i made a PKGBUILD for ufo
masak drigo: I can see what you mean by "ugly"... it's not something that bothers me, but it's interesting to hear of a .Net person who dislikes Perl 5 syntax but likes Perl 6 syntax :>
hoelzro that would be perfect
poor_soul and used that to buidl the modules
build*
tadzik poor_soul: I can try helping you with panda erros 14:54
drigo masak OO support nice in perl6
:)
poor_soul tadzik: panda builds File::Find ok, then fails on JSON::Tiny and Shell::Command. JSON::Tiny passes too if you fiddle a bit around, but i couldn't make Shell::Command build 14:55
[Sno] is any of parrot developers here, too? 14:56
anyone, sorry
jnthn is a Perl 6 and .Net guy too :)
poor_soul hoelzro: the only modules i tried which didn't work out so well with ufo were Panda itself and Rakudo::Debugger
[Sno] jnthn: there is something small wrong in parrot - can I send you the 2 patches? 14:57
poor_soul hoelzro: Panda because you need to install the files manually
jnthn poor_soul: Rakudo::Debugger isn't just a Perl 6 module, is probably why :)
[Sno] both issues in configure stage
jnthn [Sno]: A PR is better; I don't think I have a Parrot commit bit these days...
Somebody else here must, though :)
[Sno] okay, that answers (not so comfortable as wanted, but does ^^) 14:58
tadzik poor_soul: yeah, panda is a bit quirky and its author is an idiot
poor_soul: I'll try to fix it in the coming days
poor_soul hoelzro: i built Rakudo::Debugger by using panda-build in build() and then installing the files manually 14:59
hoelzro I see
nice
pmurias jnthn: what happened to your Parrot commit bit?
tadzik ha, so panda-build is useful for something. Good to know :)
14:59 FROGGS[mobile] joined
poor_soul hoelzro: if you need them, i can fix them up and put them in AUR, let me know 14:59
hoelzro poor_soul: I wouldn't mind having a look! 15:00
poor_soul hoelzro: is there an easy way to let you see them other than uploading to AUR? i would like you to review them before 15:01
jnthn pmurias: I didn't commit for ages and vaguely recall it not working out last time I tried..
hoelzro poor_soul: gist?
jnthn pmurias: And that was many, many months ago :)
hoelzro e-mail?
poor_soul hoelzro: im going for pastebin, is that ok? 15:02
hoelzro that's fine!
moritz is pretty sure his parrot commit bit still works, and would be surprised if jnthn's were revoked 15:03
jnthn moritz: Hm, maybe something else was wrong... 15:04
pmurias it must have bitrotted ;)
jnthn :P 15:05
pmurias * has
poor_soul hoelzro: here's the one for JSON::Tiny, it's the cleanest [pastebin.com/29FnVN5u]
hoelzro sweet, thanks!
woolfy Thanks to Sno I am trying to install Perl 6 Rakudo as well. This is scary...
poor_soul woolfy: from git or tar? which distro? 15:06
pmurias s/has/have/
woolfy I am following directions from rakudo.org/how-to-get-rakudo/ and downloaded the newest RakudoStar from rakudo.org/downloads/rakudo/
[Sno] woolfy: wait a bit, then you can use (cd lang/raduko-star && make install clean) 15:07
woolfy Sno: well, in my terminal window a lot of stuff is happening right now.
FROGGS[mobile] That sounds familiar :o)
woolfy I did have the prerequisites: GCC, Perl 5.8/newer, make utility, git, ICU4C. So I thought: let's just do it. 15:08
moritz jnthn: note that the --gen-parrot clone URL is not suitable for pushing
woolfy Interesting page, rakudo.org/how-to-get-rakudo/
It says: "Once these prerequisites are installed, build and install Rakudo as follows: "
JimmyZ jnthn: I'm seeing you're still there 15:09
woolfy "cd rakudo"
Which is not what I expected. lizmat did help me though. But I think this page needs some adapting so noobs like me would do things in the right order.
FROGGS[mobile] +1
please write down the weird parts 15:10
woolfy Yeeehaaaa.... doing a "make"
FROGGS: well, rakudo.org/how-to-get-rakudo/ goes from one way of installing Rakudo to another and then goes back to the first way... 15:11
jnthn moritz: Ohh...I'd hope I'd have though tof htat, though :)
dalek rlito: 87c649e | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - reference stringification - use less memory
FROGGS[mobile] Hmmm, will read it careful when I am at my pc
woolfy Like, the "cd rakudo" is what you do after the "$ git clone git://github.com/rakudo/rakudo.git" and not what you do after manually downloading the latest RakudoStar. 15:12
poor_soul hoelzro: i just remembered that there was a problem that i fixed directly in rakudo-git PKGBUILD: it didn't have a /usr/lib/parrot/5.6.0/languages/perl6/site which made ufo fail
Ulti woolfy if you clone the current git repo and follow the README file its a lot clearer
hoelzro hmm 15:13
curious
woolfy Ulti: your magical words mean nothing to me, I am sorry, have no idea what "clone the current git repo" means
poor_soul hoelzro: did it work for you
hoelzro poor_soul: I haven't tried yet
I'm still at work =/
poor_soul ooh ok
what do you say about the PKGBUILD 15:14
15:14 mberends joined
Ulti woolfy its totally worth learning what those magic words mean if you are a programmer :) git is easily the best revision management system around. The working copy of Rakudo is available for you to download, and the instructions bundled with the code are a lot clearer than that webpage... 15:15
mberends approaches to help woolfy
hoelzro poor_soul: looks good!
Ulti woolfy: github.com/rakudo/rakudo is where the git repository is stored for the Rakudo compiler, you can download the zip file 15:16
poor_soul well then, i'll upload them when i've cleaned them up
woolfy Ulti: Thanks, you are of course right. But I really think that a page that is called "How to get Rakudo" should explain a noob like me how to do stuff.
Ulti tbh the README in the rakudo star download is also a lot clearer than that webpage too
mberends woolfy: what operating system are you using? (sorry if I didn't look for that in the backlog)
poor_soul hoelzro: note that i didn't create them for all of the modules included in R* 15:17
woolfy Ulti: I am already doing the make. So it is busy.
mberends: I am already doing the make. So I am already doing the stuff.
hoelzro poor_soul: well, I was thinking of combining what you have with my generation script
Ulti woolfy I agree about the webpage, I just mean if you want clearer instructions they do exist and probably in what you downloaded already
woolfy I was commenting on confusing parts of the page...
at the moment I am doing the "make install" 15:18
Seems to be going into the right direction... :-)
mberends cool, that's plenty of progress :-)
Ulti woolfy are you on Windows?
woolfy No, I am on Ubuntu
Ulti you can apt-get install an olde version of Rakudo in Ubuntu 15:19
woolfy Ulti: too late for that... :-)
Ulti heh
the one you are making at the moment is a lot better 15:20
woolfy Hey, if Sno has Rakudo installed, I cannot stay behind, huh!
poor_soul hoelzro: aprat from the missing modules, there's the need to upload nqp-git as well, since latest rakudo-git needs more than the 2013.08 version
apart*
woolfy lizmat is out of the room for some time now, and for months now she tried to convince me to install Rakudo... when she gets back, I probably have it... :-) 15:21
hoelzro poor_soul: I have PKGBUILDs for the released versions, so hopefully that's good enough for R*
poor_soul hoelzro: are you the maintainer of rakudo and nqp on AUR? 15:22
hoelzro no 15:23
sadly, not
I maintain my own PKGBUILDs
dalek ecs: 6440475 | larry++ | S29-functions.pod:
remove pasto defaults to sleep variants
woolfy "This is perl6 version 2013.08 built on parrot 5.5.0 revision 0"
Ulti win 15:24
woolfy Pffff that was scary!!!!
masak :D
tadzik revision 0
Ulti I find putting "2>&1 > /dev/null" on the end of every command makes it less scary :3 15:25
mberends woolfy: also do a 'make testable' to update the spectest files, it takes only seconds.
tadzik That's like a book/game/film title
masak tadzik: when I imagine it, it's a good one! 15:27
tadzik: well, the book is great, the film slightly less so. 15:28
tadzik I'll name my next game "Revision 0"
masak don't bother about the game :P
poor_soul hoelzro: i named them perl6-$lib-git
pmurias jnthn: do we have a way to convert a serialized serialization context to something humanly readable? 15:31
FROGGS[mobile] ahh (Oktoberfestbier)++ 15:32
woolfy mberends: "make: *** No rule to make target `testable'. Stop." 15:33
jnthn pmurias: No, short of deserializing it :) 15:34
15:35 zakharyas left
poor_soul hoelzro: i've uploaded the modules, now i'm fixing nqp-git 15:35
hoelzro sweet
mberends woolfy: hmm, you must be in the Rakudo main directory for that to work. Try "make help" to see whether testable is one of the options.
woolfy mberends: no, testable is not one of the options. 15:37
But this works:
./perl6 -e 'say "Hello world"'
Hello world
15:37 denisboyun joined
jnthn woolfy: make test 15:38
poor_soul hoelzro: nqp-git in AUR too 15:39
woolfy jnthn: when I do that, this is the reply:
"To run the Rakudo compiler tests, use 'make rakudo-test'
To run the Perl 6 spectests, use 'make rakudo-spectest'"
jnthn woolfy: Oh, sorry, I ain't been watching and thought you were doing a repo build, not a star :) 15:40
mberends woolfy: those each take quite a long time to run, so don't waste time on them now. Rather just experiment a bit with your new installation :) 15:41
jnthn Well, can always run them in the background ;)
15:41 rindolf joined
jnthn make rakudo-test runs the quick sanity tests :) 15:41
woolfy mberends and jnthn: thanks... maybe later... at the moment I am just happy that I can try to join you this weekend in Frankfurt, now I have a functioning Perl 6! 15:42
jnthn just finished up his teaching gig and now has nothing to worry about but the weekend workshop :) 15:43
[Sno] documentation that raduko * requires gmp is mising
jnthn It...does?
[Sno] it's not mentioned in README - but without it fails linking 15:44
jnthn Fail. It's a Parrot optional thing that we don't even use...
[Sno] paste.scsys.co.uk/268120 15:45
well, parrot links and runs fine without
so I think, it's not a simple "fail" ;)
woolfy OK, 'make rakudo-test' is done in 29 seconds. Passed without failures. Sweet. 15:46
dalek ecs: 042527b | larry++ | S29-functions.pod:
Only the basic sleep supports sleeping forever.

It makes no sense ask sleep-timer to return how much time till forever, nor is there a need for sleep-till to calculate when the end of time is.
15:47
pmurias jnthn: serialization format version 7 is used only on the jvm? 15:48
[Sno] jnthn: neither bin/parrot nor lib/libparrot.dylib have a loader entry for gmp
but parrot_config has it in ldflags o.O 15:49
TimToady is amused that you folks assumed I really meant the Instant Inf, when it was merely a pasto :)
obviously you guys still think I'm smarter than I am... 15:50
jercos Have you considered that you might actually *be* smarter than you are? 15:51
pmurias jnthn: don't we depend on gmp for bignums on parrot? 15:52
masak TimToady: no, I was speaking generally about the expectations on Inf.
jnthn pmurias: No.
TimToady I used to be smarter than I are...
jnthn pmurias: We use the libtommath in the NQP repo :)
masak TimToady: for example, Inf is exapected to work in ranges where the other endpoint is a Str.
TimToady sure, I'd still like to push things in that direction, so we don't end up with too many typed infinities 15:53
but I'm not pushing it that hard since we invented * to fill most of those roles anyway 15:54
in a sense, sleep(*) is much more accurate than sleep(Inf)
poor_soul hm, here libgmp.so is linked in every parrot, nqp and rakudo related binary 15:55
[Sno] jnthn: thanks for the hint - there was an inconsitence in build configuration vs. sandbox configuration (for dependent packages) in lang/parrot 15:56
as said: not a simple "Fail" ;)
masak TimToady: why does it make sense with typed undefs but not typed infinities?
TimToady what is the "sense" thing to which you refer? 15:58
timotimo moritz: let me suggest 429 Too Many Requests (RFC 6585)
The user has sent too many requests in a given amount of time. Intended for use with rate limiting schemes.[18]
jnthn TimToady: I thought it was common, but apparently not... :P
jnthn decommutes :) 15:59
TimToady just uses horse sense
TimToady runs away from fires, toward water and grass
16:01 FROGGS joined, FROGGS[mobile] left
TimToady thinks integers suporting ℵ₀ is kinda like grass stretching to the horizon... 16:01
pmurias jnthn: would it be sensible to have test which check the exact format things serialize to? (likely with a way to automatically update them when changing the format) 16:03
TimToady string infinity I can be argued is not so normal
pmurias jnthn: stuff like ok(nqp::serialize(...) eq "...") 16:04
16:05 raiph joined
FROGGS TimToady: well, if you stream something, you might have a Buf/Str that as an unknown length, which sort of infinity unless the opposite an be proven... (I'm imagining a lazy evaluation of a stream) 16:06
dunno if that is too esoteric
s/as an/has an/; s/which sort/which is short/ 16:07
-.-
dalek kudo/nom: f7f3bb8 | (Elizabeth Mattijsen)++ | src/core/Temporal.pm:
Adapt sleep() and friends to new spec
16:09
ast: e49445b | (Elizabeth Mattijsen)++ | S29-context/sleep.t:
Adapt tests to adapted sleep() and friends spec
16:12 berekuk left 16:17 kaleem joined
masak today's mini-challenge: solve this Chinese 4th-grader's math problem. masak.org/carl/fourth-grade-math.jpg 16:18
don't report the answer on-channel. I just want to know how long it took you, in minutes. :)
FROGGS it would help if one could read the letter/words, right? 16:19
masak the task is to figure out how big the shaded area is. the one bit of information you get is that the upper edge of the rectangle has been bisected at its half point.
FROGGS: I'm assuming it says "what's the shaded area?"
FROGGS k
timotimo masak: can you explain that bisected comment? 16:20
because from the sketch i don't get that at all
maybe you meant the lower right corner?
oh!
now i get it
masak timotimo: the line that emanates from the lower right corner bisects the upper edge of the big rectangle into 50%-50% lengths.
followup challenge: write your solution as a nice Perl 6 program.
followup challenge II: write a small geometry deduction system, that (given the inputs of the task) can solve this problem on its own. 16:21
I'm guessing that the last task is a bit bigger than a mini-challenge, though... :)
FROGGS .oO( jnthn solved this a minute ago by writing the ode in moarvm bytecode format ) 16:22
masak try to avoid spoilers on-channel for people who want to cut their teeth on the problem themselves.
FROGGS code*
gah, I need a new keyboard
16:23 berekuk joined
masak jnthn writing an ode is kinda nice, too. 16:23
pmichaud good morning, #perl6
FROGGS pmichaud: \o/
16:24 domidumont left
masak pmichaud! \o/ 16:24
moritz \o pmichaud 16:25
masak fwiw, it took me 9 minutes to solve the problem with the area.
timotimo i was wondering last night: how efficient does an access to a $!foo in nqp and perl6 get? does it compile down to a hash access or will it become an access like storage_slots[1]?
pmichaud thought I'd stop in and say hello. :)
masak knowing the solution, I consider that a bit slow.
timotimo hello pm! :)
masak pmichaud: hello!
timotimo: the latter, I think. 16:26
timotimo that sounds good
masak timotimo: but it's really up to the repr, IIUC.
timotimo yeah, pretend i had been asking about P6Opaque
masak timotimo: and MI messes things up in some way, though not fatally.
timotimo well, you really just need to do it per-REPR-Metaobject-combination, no?
masak yeah, guess so,.
timotimo and i suppose monkey typing and MOP usage could make that quite a bit harder 16:27
moritz timotimo: P6Opaque uses array lookup for attribute access
timotimo moritz: and at what time does "$!foobar" become "3"? 16:28
[Sno] jnthn: is nqp available separately (to avoid raduko-star build it's own)?
timotimo [Sno]: yes, it is. the repository is perl6/nqp on github
[Sno] timotimo: a relase tarball 16:29
woolfy Oh that's nice, the 'make rakudo-spectest' just done in 1735CPU. Just 7 failed. I will pass the info forward to lizmat.
timotimo oh, you mean that
i think so; at least we make nqp releases
[Sno] yes, for packaging it's important to have tarballs ;)
moritz timotimo: I don't know exactly; I'd suppose at class composition time
rakudo.org/downloads/nqp/ 16:30
(for [Sno] )
timotimo oh, that's right, because all access to $!foo must be inside methods of that class
dalek ecs: db64e30 | dagurval++ | S32-setting-library/IO.pod:
Specced mkdir
[Sno] moritz: thanks
timotimo i totally forgot that
moritz timotimo: except when you use nqp::getattr :-)
timotimo hm, but can't i put $! into an anonymous method and pass it into that class? 16:31
that, too ... i wonder if that can be made more efficient in the optimizer, since it's used somewhat often in nqp itself
moritz nope, you'll get a compile-time error while compiling the method
timotimo that sounds good
moritz r: my $x = method () { $!foo }
camelia rakudo 79c0f5: OUTPUT«===SORRY!=== Error while compiling /tmp/eYhSbJxqKM␤Cannot understand $!foo in this context␤at /tmp/eYhSbJxqKM:1␤------> my $x = method () { $!foo⏏ }␤»
16:32 denisboyun left
timotimo i suppose nqp::getattr and nqp::setattr are used somewhat often inside nqp (maybe also the core setting?) to access a superclass' attributes 16:32
and nqp::getattr and nqp::setattr probably do a costy lookup?
moritz could only speculate 16:33
16:33 xinming left 16:34 kaleem left
timotimo is not sure how to figure that out 16:34
16:34 xinming joined
timotimo i suppose i could time a thousand nqp::getattr and a thousand $! accesses 16:34
16:38 drigo left
pmichaud jnthn can tell you more, but I'm fairly sure that $!attr lookups are designed to be quite optimizable 16:39
16:39 raiph left
pmichaud and that it's designed to be not costly 16:39
the same is true to some extent for nqp::getattr and nqp::setattr. Keep in mind that nqp can optimize nqp:: ops a fair bit... they aren't necessarily atomic opcodes 16:40
masak yep. the caption says 阴影面积 "the shaded area" -- I don't recognize the first character.
lizmat pmichaud o/ 16:41
pmichaud i.e., nqp::getattr($obj, SomeClass, '$!attr') can have a lot of optimization (all the way down to a slot lookup) as long as SomeClass has already been composed.
16:41 sqirrel joined
pmichaud again, jnthn++ knows the true details. 16:42
timotimo right; and the optimizer runs after compilation for that module is complete 16:43
so in theory it should all be composed already
pmichaud oh, I suspect the attr lookup could be optimized even before the optimizer phase runs.
i.e., as part of compiling the nqp::getattr opcode
dalek ast: fa7d022 | dagurval++ | S32-io/mkdir_rmdir.t:
IO::Path tests for mkdir rmdir
timotimo mhm
well, i know there's a way to run a sub every time the compiler encounters such an op and i can just return a bit of qast from that 16:44
and should have access to the context that has the world and class info and everything
pmichaud correct.
alas, I have to run off again... so many things to do here. bbl 16:45
timotimo was nice to hear from you, pm :)
pmichaud I expect to be available more often in the near future as things are settling down here. :)
masak \o/ 16:49
16:50 kaleem joined
FROGGS cool 16:53
16:55 denis_boyun joined
timotimo if that means anything, the jvm version of getattr just calls obj.get_attribute_boxed with a string 16:55
it may very well be that the jvm jit will turn that super efficient after a bit of warm-up
16:56 SamuraiJack joined
timotimo i always forget where i have to look to find all these things ... 16:56
so, getattr is mapped with add_core_pirop_mapping, that means it relies on parrot built-in functionality? 16:57
hm. 16:58
16:59 bluescreen10 joined 17:00 domidumont joined, dakkar left
arnsholt timotimo: It means that it results in a call to a single PIR op, which is probably implemented in src/vm/parrot/ops/nqp.ops 17:00
timotimo i can't find the getattribute implementation there 17:01
but it slightly worries me that it gets passed a string
17:01 raiph joined
arnsholt Hm? Attribute lookup is essentially a string => thing map lookup 17:02
TimToady which can happen at compile time, hopefully
timotimo it could be faster if the string => thing map lookup could be turned into just a static index into the repr's slots at compile time
if that's actually the way the repr is built 17:03
TimToady otherwise we really have no hope of ever running faster than P5
timotimo if the repr contains an actual hash map for string to thing, that wouldn't help much (thinking primarily of wasted space here), but above it said there was a struct-like thing underlying the p6opaque
arnsholt ATM that's what we do (from memory, but pretty sure) 17:04
timotimo "that" is what exactly?
arnsholt The REPR computes the offsets for each attribute, which is looked up when we get an attribute
17:05 spider-mario joined
arnsholt Oh, but there's the hint functionality (looked up the Parrot code now) 17:05
timotimo oh, right
perhaps at compile time we could ask the repr for the offset and provide that as the "hint" everywhere 17:06
i'll be afk for a bit first, though
17:06 kaleem left
arnsholt Yeah, I think there's something like that going on as well, but I'm not familiar with those bits 17:06
pmurias to do that we would need to know the exact class/REPR of an object 17:07
FROGGS TimToady: 17:10
TimToady: you actually think we *can* run faster as P5?
17:11 lizmat left
FROGGS because, Win95 runs faster as Windows 7 on my box, even if it has no USB support... 17:11
I would be happy if P5 would just be twice as fast as rakudo 17:13
17:19 berekuk left, lizmat joined
pmurias I would be really disappointed if we didn't manage to beat P5 in speed at some point 17:20
lizmat also: if we define speed in wallclock terms, Perl6 will most definitely beat P5 in the long run 17:21
it will need more cores than just the one that P5 will be using
17:22 iSlug joined 17:23 jnap left
pmurias are there any real reasons for Perl 6 to run slower than Perl 5? 17:24
TimToady P6 is also designed to beat P5 on a single core, when the optimizer gets good enough to recognize where P6's flexibility can be viewed as damage and routed around :) 17:25
the specs make a lot of guarantees about when the optimizer can assume things aren't going to change, but the compiler does not yet take much advantage of these guarantees
that is not even taking into consideration the possibility of JITs and such 17:26
nor is it taking into account the availability of native types
well, I guess P5 uses native int already, so P6's Int could be viewed as a small pessimization 17:27
17:27 ajr joined, ajr is now known as Guest74969
ribasushi wishitem: please make function calls cheap again in p6 17:27
TimToady likewise the preference for Rat over Num 17:28
ribasushi the impact of entersub in p5 is insane :(
TimToady indeed
part of the motivation for multi-dispatch is to do the type checking first, so the routine doesn't have to check again at binding, but we don't do much with that optimization yet either, afaik 17:29
17:29 berekuk joined
TimToady so it'll be a bit of apples/oranges comparison, since P5 does all the arg unpacking explicitly 17:31
masak wishitem: a resource that collects together various optimizations we could and eventually will do in Perl 6, along with concrete examples and references to other similar optimizations on e.g. the JVM or in v8.
lizmat is it really the moment in time already to talk about optimizations ? 17:32
masak .oO( given enough inlining, all subs are shallow ) :P
ribasushi TimToady: well, when the function sigs land in p5, an argument-less function becomes oranges-oranges comparison
masak lizmat: *talk* about them, yes.
17:32 jnap joined
TimToady ribasushi: nodnod, I'm looking forward to it :) 17:32
lizmat: the specs grep out to 55 mentions of "optimiz" 17:33
lizmat and 5 of "optimized away" :-) 17:34
TimToady and one mention of optimis, plus one optimal :)
timotimo lizmat: i'm kind of itching to get a bit of optimization in
ribasushi masak: inlining is for FP-wimps ;) 17:35
TimToady "optimalization" is a word that needs to be optimized :)
timotimo in a perfect universe, i'd of course be doing something entirely different, but my lack of skill and motivation in other areas kind of leaves me with not terribly many options than to do what interests me :P
ribasushi masak: but really I do not look forward to writing stuff like this ever again: github.com/dbsrgits/dbix-class/blo...als.t#L603
dalek ecs: cc24a5d | (Elizabeth Mattijsen)++ | S02-bits.pod:
Optimize spello away
17:36
ribasushi so cheap-funcalls please ;)
timotimo .o(for example, i could shove 6model into parrot-core, build a jit-compiler for parrot, create a perl6-on-cranes or something, ...)
17:36 raiph left
tadzik I'm curious about etymology of "optimalization". In Polish, we say "optymalizacja" 17:37
timotimo "torture test" indeed
17:37 iSlug left
lizmat tadzik: in Dutch "optimalisatie" 17:37
[Coke] waves to pmichaud in backscroll. 17:38
tadzik is puzzled with the silence regarding news.perlfoundation.org/2013/07/hag...ation.html 17:42
17:43 berekuk left
jnap yeah, me too 17:43
17:44 berekuk joined
lizmat rest assured, no news is good news 17:45
17:48 raiph joined
TimToady on the math problem, I didn't time it exactly, but it was about 45 seconds, subjective. 17:50
maybe I'm still smarter than I am
17:52 iSlug joined 17:55 nebuchadnezzar left
pmurias TimToady: isn't perl6-on-cranes a web framework? 17:57
FROGGS timotimo: you are famous now :o) de.webfail.com/9366caf3a37
17:58 slava left
tadzik he he 17:58
lizmat $ ack KeyHash src/core 18:00
src/core/stubs.pm
10:my class KeyHash is Iterable does Associative { }
that's rather disappointing for something that is supposed to be a role
18:01 daxim left
timotimo FROGGS: cool 18:03
it's lovely how they take the pictures from thingsfittingperfectlyintothings and not credit that tumblr, or the people that that tumblr credited...
timotimo bbl
lizmat hhmmm… how is one supposed to specify the default value of a hash that is an attribute ? 18:04
r: class A { has %.a is default(0) } 18:05
camelia rakudo f7f3bb: OUTPUT«===SORRY!=== Error while compiling /tmp/4H8Yx473yb␤Can't use unknown trait 'is default' in an attribute declaration.␤at /tmp/4H8Yx473yb:1␤------> ␤ expecting any of:␤ rw␤ readonly␤ box_target␤»
lizmat is this a NYI ?
18:05 nebuchadnezzar joined
FROGGS r: class A { has %.a is readonly } 18:07
camelia rakudo f7f3bb: ( no output )
FROGGS hmmmm 18:08
a bit weird
lizmat I guess for after the RaNIW
FROGGS I guess this happens in Perl6::Actions in scope_delarator 18:09
18:09 btyler left
lizmat has some work to do in that area for variable traits anyway 18:11
diakopter tadzik: lololol "its author is an ..." 18:12
tadzik diakopter: I, above all people, am allowed to say this :P 18:14
pmurias jnthn: potential craziness nqp-parrot's version 6 of the serialization format is different from nqp-jvm one (hllOwner thing) 18:17
jnthn: but it seems it won't be a problem as nqp only uses version 7 currently
18:18 dmol left 18:19 btyler joined
dalek ast: 41ee5af | dagurval++ | S03-operators/buf.t:
unfudge rakudo
18:19
18:20 rindolf left 18:28 nebuchadnezzar left, teslos joined 18:31 PZt left 18:36 bluescreen10 left 18:39 iSlug left
masak so, Rakudo release next week. 18:40
how close are we to running ecosystem things on the JVM?
(I'm sorry, I'm out of touch, and someone else might already have tried various things, saving me the trouble.) 18:41
lizmat :q
hugme hugs lizmat, good vi(m) user!
lizmat hehe
t/spec/S03-operators/set.rakudo.parrot .......................... Dubious, test returned 1 (wstat 256, 0x100) 18:42
Failed 244/296 subtests # just verified that making Set Iterable makes a lot of tests fail
masak why would we want Set to be Iterable...? 18:43
followup question: would a concerted effort to make the ecosystem pass on the JVM likely get us there in a week? 18:44
arnsholt masak: I don't think I'll be able to wrap up the NativeCall things in a week
masak arnsholt: OK.
arnsholt I'm making good progress, but there's a gnarly blocker which is preventing NativeCall.pm6 itself from getting off the ground
masak I see. 18:45
I wish I could help, but I probably can't. :/ 18:46
18:46 Mouq joined, nebuchadnezzar joined
arnsholt I've some thoughts gathered, but I need to hammer them out a bit more. Then check with jnthn and make sure it's actually a good idea 18:47
18:48 sqirrel left 18:50 zwut00 joined
lizmat masak: I have no idea, but the original Set code contained "is Iterable" and the spectests contain tests for the .iterator method 18:51
masak: which s supplied by Iterable
18:52 bluescreen10 joined
masak lizmat: what do those tests, by and large, try to accomplish? 18:52
rn: say Hash ~~ Iterable 18:53
camelia niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'Iterable' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 36) ␤ at /ho…
..rakudo f7f3bb: OUTPUT«True␤»
masak hm, if Hash is Iterable, I guess Set should probably be, too... :/
18:53 poor_soul left 18:54 dmol joined
lizmat masak: is $s.iterator.grep(Str).elems, 3, ".iterator yields three Strs"; 18:54
the spec says that Iterable is a *role* 18:55
masak makes sense.
18:55 SmokeMachine joined
masak r: my $s = set "a", "b", "c"; say $s.elems; say $s.grep(Str).elems 18:55
camelia rakudo f7f3bb: OUTPUT«3␤0␤»
masak hrm.
r: my $s = set "a", "b", "c"; say $s.elems; say $s.list.grep(Str).elems 18:56
camelia rakudo f7f3bb: OUTPUT«3␤3␤»
TimToady r: my $s = set "a", "b", "c"; say $s.elems; say @$s.grep(Str).elems
camelia rakudo f7f3bb: OUTPUT«3␤3␤»
TimToady we want sets to behave more like items in list context, so it can't do whatever it is that decides list interpolation semantics 18:58
masak fariy 'nuff.
air*
TimToady already put it into the RI Clogs 18:59
colomon prefers MI Clogs 19:00
pmurias RI Clogs?
lizmat ok, I'm lost now: does this mean it is ok for Sets/Bags not to be Iterable, or that they should be Iterable 19:01
and therefore I should try to fix the problems caused by making it Iterable ?
[Sno] I get a core first time building raduko-star: paste.scsys.co.uk/268143 19:02
redo the make succeeds
but when "make clean" and redo, it cores again
lizmat [Sno]: please report as bug to [email@hidden.address] 19:04
19:04 bluescreen10 left
[Sno] well, I don't know whether it's a bug or not, but will do 19:04
19:06 colomon left, alester joined 19:07 PZt joined
masak lizmat: pending further information, I'm leaning towards that Set should be Iterable. 19:10
lizmat: because Hash is.
19:10 denis_boyun left
masak lizmat: "further information" includes the realization, for example, that it being Iterable is what makes it flatten in list context, and that's why all those tests break. 19:11
in which case I would change my mind :)
lizmat that *is* what makes the tests break
doing some code cleanup / reorg now, will come back to it later 19:13
19:13 SamuraiJack left 19:14 colomon joined
masak lizmat: if being Iterable causes flattening, then Set shouldn't be Iterable, because (as TimToady said), Set shouldn't flatten by default. 19:17
dalek kudo/nom: 1980a70 | (Elizabeth Mattijsen)++ | src/core/stubs.pm:
Remove unnecessary KeyHash stub
masak lizmat: it's highly likely that those tests were written at a time when we thought Sets were more flattenable than our current understanding. 19:18
lizmat but maybe we can still have an iterator without it being Iterable ?
masak maybe. 19:19
if that passes all the tests, then sure.
but it feels... suspect.
lizmat it is suspect, but so is parsing of adverbs :-) 19:20
masak heh. :)
parsing of adverbs falls under "torment the implementors to serve the users".
not sure the same can be said for Set.iterator 19:21
moritz \o 19:22
masak o/
19:22 domidumont left 19:23 thou left 19:32 teslos_ joined
dalek rlito: 945df32 | (Flavio S. Glock)++ | TODO-perlito5:
Perlito5 - TODO update
19:33
19:35 teslos left, teslos_ is now known as teslos
dalek rlito: c1fe8eb | (Flavio S. Glock)++ | src5/lib/Perlito5/Exporter.pm:
Perlito5 - add minimal Exporter.pm; placeholder
19:37
19:38 FROGGS left, FROGGS joined 19:49 EvanTeitelman joined 19:52 FROGGS left 20:05 FROGGS joined 20:10 kbaker left 20:21 Guest74969 is now known as ajr_, FROGGS left 20:22 iSlug joined 20:23 stevan_ left
dalek ast: 7553f76 | (Elizabeth Mattijsen)++ | S02-types/ (2 files):
Skip tests for KeyHash for now
20:23
20:26 bluescreen10 joined 20:28 dmol left 20:31 jnap left, tgt joined 20:32 kaare_ left 20:34 btyler_ joined 20:36 btyler left, tgt left 20:37 tgt joined, tgt left
dalek kudo/nom: 69c3cce | (Elizabeth Mattijsen)++ | src/core/ (4 files):
Move at_key/delete to from role to class (where they should be)
20:39
lizmat calls it a day 20:40
gnight #perl6!
jnthn 'night, lizmat
colomon \o 20:43
20:43 kbaker joined 20:56 EvanTeitelman left 21:03 lowpro30 left, PerlJam joined 21:05 thou joined, skids left 21:09 denis_boyun joined 21:10 EvanTeitelman joined 21:12 dmol joined 21:13 iSlug left 21:19 dmol left 21:22 donaldh joined 21:23 jnap joined, stevan_ joined, kst`` joined 21:25 PacoAir left, kst` left 21:26 denis_boyun left 21:28 Mouq left 21:29 krokite joined 21:33 spider-mario left 21:35 dmol joined 21:47 btyler joined 21:48 btyler_ left 21:53 locsmif joined 22:00 zwut00 left
pmurias jnthn: why is 0 of the string heap always null? 22:07
diakopter it's not; it's off-by-one intentionally
geekosaur .oO { someone's been doing too much BSD }
jnthn pmurias: Forget the exact reason, but we need to represent the null string somehow... 22:08
pmurias: Think it turned out easiest to just do it that way.
pmurias: iirc, I special-cased it to always be in 0 as it messed up the seen hash... 22:09
22:09 dmol left
pmurias I'll to it that way to for consistency 22:09
s/to/too 22:10
22:10 BenGoldberg joined
jnthn You'll too it that way? ;) 22:10
22:10 dmol joined
jnthn oh, :2nd/to/ :) 22:10
22:12 dmol left
pmurias typing on irc and translating a ton of boring serialization code doesn't mix together well ;) 22:12
diakopter tell me about it 22:13
jnthn tell *me* about it - I had to write the original! :P 22:14
Maybe I shoulda put random stories about dugongs in the comments to make it more interesting.
diakopter *titter*
22:15 bluescreen10 left 22:16 tadzik left, tadzik joined
masak "The tale of the dugong and the serialization." 22:17
very popular with the 4yo crowd.
diakopter looks up what a dugong is
jnthn "A dugong swam past. After 2 bytes of padding, another dugong followed."
masak diakopter: www.weebls-stuff.com/songs/dugong/ 22:18
jnthn diakopter: www.weebls-stuff.com/songs/dugong/
darn, masak won :P
masak :P 22:19
jnthn: one of us has spent far too much time in the other's company :P
colomon masak++ # brightening up a five-year-old's dinnertime
masak :D
jnthn tbh, I wouldn't have thought of stealing a chart from xbox magazine to compare sea creatures.. 22:20
colomon does it ever stop?
masak colomon: also play www.weebls-stuff.com/songs/kenya/ for good measure.
jnthn no :)
Though it may go out of sync :)
masak colomon: no, it loops.
colomon cruel
jnthn Don't forget the one about cucumber farming... www.weebls-stuff.com/songs/cucumbers/ 22:21
masak so many quality videos. 22:22
I would also like to recommend the one about the mango: www.weebls-stuff.com/songs/mango/
locsmif hot tamale! 22:23
huf somehow reminds me of this www.youtube.com/watch?v=J8MRVGPGfWg 22:24
22:25 BenGoldberg left 22:30 berekuk left
donaldh jnthn: I'm back looking at ModuleLoader search_path which needs to produce absolute paths for the current $*CWD. 22:32
jnthn: haven't managed to figure out how to lookup IO::Spec.rel2abs .
22:32 Mouq joined 22:33 skids joined, ajr_ left
jnthn donaldh: Where'd you try looking? It comes from the setting... 22:33
donaldh jnthn: would it make sense for the setting to provide a sub to ModuleLoader, for ModuleLoader to call to get a search path?
jnthn donaldh: If you're in the module loader, then you have %settings_loaded handy...you can locate it via that... 22:34
donaldh: But I'm wondering if this is a clean way to do it...
donaldh jnthn: I guess I don't know how to introspect what I can get from %settings_loaded
jnthn Something like my $IO := nqp::ctxlexpad(%settings_loaded<CORE>)<IO>; 22:35
donaldh Could the setting register a sub that provides a search_path ?
22:35 berekuk joined
jnthn Then $IO.WHO<Spec> or so... 22:35
Yes, it could do that and it's probably cleaner.
If you put a method to register it into ModuleLoader 22:36
Then you can call it like
22:36 takesako left
jnthn nqp::gethllsym('perl6', 'ModuleLoader').register_absolutifier(sub ($path) { ... }); 22:36
Mouq r: my my $mine 22:37
camelia rakudo 69c3cc: OUTPUT«===SORRY!===␤Type 'my' is not declared␤at /tmp/eoLSv_z_a3:1␤------> my my⏏ $mine␤Malformed my␤at /tmp/eoLSv_z_a3:1␤------> my ⏏my $mine␤ expecting any of:␤ scoped declarator␤␤»
donaldh okay, I'll try that approach.
thanks for pointing out nqp::ctxlexpad as well. 22:38
jnthn r: class my { }; my my $mine
camelia rakudo 69c3cc: ( no output )
donaldh r: class my { }; my my $my; 22:39
camelia rakudo 69c3cc: ( no output )
Mouq r: my state $shrug
camelia rakudo 69c3cc: OUTPUT«===SORRY!===␤Type 'state' is not declared␤at /tmp/iPEKyWMsrX:1␤------> my state⏏ $shrug␤Malformed my␤at /tmp/iPEKyWMsrX:1␤------> my ⏏state $shrug␤ expecting any of:␤ scoped declarator␤␤»…
22:39 takesako joined
donaldh r: multi sub infix:<my>($a, $b) { $a + $b }; my $my = 1; $my = $my my $my 22:46
camelia rakudo 69c3cc: ( no output )
colomon r: multi sub infix:<my>($a, $b) { $a + $b }; my $my = 1; $my = $my my $my; say $my 22:48
camelia rakudo 69c3cc: OUTPUT«2␤»
masak 'night, #perl6
22:51 stevan_ left 22:57 census joined
dalek rl6-roast-data: 3c95946 | coke++ | / (5 files):
today (automated commit)
23:01
23:03 jnap left
jnthn sleep & 23:05
23:06 berekuk left 23:07 pupoque left
dalek gs.hs: 370c8c2 | coke++ | t/spectest.data:
This test is now out of reach.
23:08
23:12 jnap joined 23:15 btyler left, donaldh left 23:17 schen joined 23:18 schen left 23:26 teslos left 23:30 BenGoldberg joined, itz left 23:32 berekuk joined 23:33 itz joined
dalek ast: 7d57c4d | coke++ | S (2 files):
rakudo.jvm fudge
23:34
23:35 berekuk left 23:36 thou left, btyler joined
BenGoldberg yoleaux: karmatop 23:39
Err, oops
preflex: karmatop 23:40
preflex c: 202122; g: 9871; ##c: 7874; c/c: 7113; moritz: 4968; whiteknight: 4931; bacek: 4624; notepad: 4305; jnthn: 4245; #c: 3767
BenGoldberg If perl were named perl++ then it would have lots of good karma! :) 23:41
23:42 bearded_clam joined 23:44 btyler left 23:45 bearded_clam left 23:50 Vlavv left