»ö« 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 fhelmberger joined 00:17 fhelmberger left 00:18 rurban joined 00:24 rurban left 00:33 xenoterracide__ joined 00:42 xenoterracide__ left 00:44 chenryn left 00:45 chenryn joined 01:02 Sqirrel left 01:03 Sqirrel joined 01:09 btyler left 01:12 klapperl joined 01:13 chenryn left 01:14 chenryn joined 01:15 klapperl_ left 01:16 rurban joined 01:20 treehug8_ left 01:21 rurban left
vendethiel seems like perl can't ever find my module 01:37
oh, it's okay 01:38
01:47 backlash_jack left 01:55 Su-Shee_ joined 01:58 Su-Shee left 02:19 rurban joined 02:23 Khisanth joined, rurban left 02:24 thou joined 02:35 plobsing joined 02:38 hoverboard joined 03:21 rurban joined 03:23 colomon left 03:24 colomon_ joined 03:25 Alula left, rurban left 03:36 Alula joined 03:37 rurban joined 03:43 xragnar_ joined, xragnar left, xragnar_ is now known as xragnar 04:01 Alula left 04:12 Alula joined 04:13 Sqirrel left, SamuraiJack__ joined 04:16 thou left 04:46 xenoterracide__ joined 04:50 BenGoldberg left 04:53 araujo left 05:01 rindolf joined 05:03 oetiker joined 05:05 rurban left 05:15 oetiker left, oetiker joined, jules_ joined 05:16 thou joined 05:25 thou left 05:36 rurban joined 05:38 skids joined 05:39 rurban1 joined 05:40 xinming joined 05:42 rurban left 05:43 hoverboard left 05:44 SevenWolf joined 05:52 rurban1 left 05:55 igorsutton joined 06:01 SamuraiJack__ left 06:07 xenoterracide__ left 06:13 hoverboard joined, fhelmberger joined 06:18 fhelmberger left
zacts so I wonder if ideas have been pondered about using llvm in some way for perl6 06:25
tadzik pondered, yeah, I think someone even tried to build something at some point 06:27
zacts tadzik: oh cool
tadzik github.com/ekiru/Bennu there
it looks dead though
thing is, llvm is nice and all, but is also, as the name suggests, low-level 06:28
so it's not exactly fitting perl 6
zacts ok
06:39 rindolf left 06:43 igorsutton left 06:50 rurban joined
Woodi morning hackatownicy and * :) 06:54
06:55 rurban left
Woodi I was reading Observer pattern aka Publish-Subscribe in Go4 and it is described in terms of notifications... Implementations may vary but maybe sometimes Supplies could just work as notifications of change/availability ? 07:00
btw. there are many methods/filters in Supplies/Rx... maybe sometimes a general mechanism like FSM for generating events could be usefull ? 07:02
07:14 nnunley left
timotimo morning * 07:21
07:23 darutoko joined
FROGGS morning 07:29
lizmat commuting&
07:29 lizmat left
timotimo jnthn: i'm confused. i have num and Num candidates for the bindpos_n methods; the one where bindpos_n was used with no type in the signature weren't meant to be bindpos_n and i fixed that now 07:30
07:31 hoverboard left 07:35 woolfy left 07:43 FROGGS left 07:50 bbkr_ left 07:52 rurban joined 07:56 rurban left, kurahaupo joined 07:58 Timbus left, kurahaupo left 08:02 Timbus joined 08:06 lizmat joined
tadzik itz starting \o/ 08:09
08:18 molaf joined 08:20 woolfy joined
jnthn Woodi: Supplies *are* an implementation of the observer pattern. 08:28
sergot_ \o/ 08:40
08:50 FROGGS joined 08:53 rurban joined
vendethiel mh, I can't pass what I want to remove to `trim-trailing` :( ? 08:55
08:57 rurban left
vendethiel m: my %p = {v => {p => ('a',)}};say %p<v><p>.perl; 09:02
camelia rakudo-moar 641398: OUTPUT«$("a",)␤»
vendethiel why is that $() ? 09:03
m: say (1,).perl;
camelia rakudo-moar 641398: OUTPUT«(1,)␤»
09:08 SevenWolf left
lizmat lotrortk 09:09
09:10 FROGGS left
vendethiel what 09:11
09:12 FROGGS joined
lizmat lknjasljhjh= 09:13
what can I day, not quite awake yet ?
*say 09:14
sigh
:-)
09:14 spider-mario joined 09:15 telex left 09:16 telex joined
vendethiel there's no glob ? mmh :( 09:17
m: say dir('**/*').perl
camelia rakudo-moar 641398: OUTPUT«Failed to get the directory contents of '**/*': Failed to open dir: 2␤ in block at src/gen/m-CORE.setting:14104␤ in any at /home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:1␤ in method contents at src/gen/m-CORE.setting:141…»
vendethiel doc.perl6.org/routine/dir => the link to IO::Path 404s 09:18
and it seems it actually only returns IO::Path, even for files. 09:22
09:26 FROGGS left, Su-Shee_ is now known as Su-Shee
vendethiel github.com/Nami-Doc/Sprockets.pl/b...ocator.pm6 'did what i could 09:27
lizmat wonders what a Sprockets::Locator is 09:29
vendethiel lizmat: Sprockets is a ruby library for asset management (filters, caching, dep, etc) 09:30
09:38 dmol joined 09:39 FROGGS joined 09:55 denis_boyun joined 09:56 rurban joined 09:57 vendethiel joined, Rotwang joined 10:00 rurban left
vendethiel m: 1 and (say 1) && (say 2) 10:09
camelia rakudo-moar 641398: OUTPUT«1␤2␤»
10:14 fhelmberger joined
FROGGS n: 1 and (say 1) && (say 2) 10:15
camelia niecza v24-109-g48a8de3: OUTPUT«1␤2␤»
FROGGS is that right?
vendethiel a bit surprising to me 10:17
10:18 SamuraiJack__ joined 10:19 fhelmberger left
dalek kudo/eleven: 6413980 | (Geoffrey Broadwell)++ | src/core/Temporal.pm:
Fix incorrect order of operations in sleep-timer()
10:22
kudo/eleven: 840d16d | (Tobias Leich)++ | / (103 files):
Merge branch 'nom' of github.com:rakudo/rakudo into eleven
kudo/eleven: 44ad975 | (Tobias Leich)++ | src/ (4 files):
Merge branch 'eleven' of github.com:rakudo/rakudo into eleven
panda/depends: 3be5bd5 | (Andrew Egeler)++ | lib/Panda/Builder.pm: 10:31
panda/depends: Remove old Build class when using Build.pm
panda/depends:
panda/depends: If two packages with Build.pm files were installed during the same panda
panda/depends: run (example: "panda install MIME::Base64 Auth::PAM::Simple"), the
10:31 dalek left 10:32 dalek joined, ChanServ sets mode: +v dalek
dalek kudo/nom: a672ad9 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Add MMD candidates for simple Callables

for grep, grep-index, first, first-index, last-index
10:45
10:47 hummeleB1 joined
dalek kudo/eleven: 3f8e0e1 | (Tobias Leich)++ | src/core/CompUnitRepo/Local/Installation.pm:
unbreak CompUnitRepo.install

We cannot use Hash.v (because it does not exists) and also not Hash:v, because it will complain about storing something into Pairs.
10:51
lizmat oops, FROGGS++ 10:57
FROGGS :o)
10:58 rurban joined
dalek nda/depends: d2e4608 | (Tobias Leich)++ | lib/Panda/Bundler.pm:
s/$*EXECUTABLE_NAME/$*EXECUTABLE/
10:59
masak I wonder if Supply.migrate isn't really the "join" (or μ) transformation of a monad. 11:00
the signature for it is right: T(T(A)) -> T(A)
masak is listening to jnthn++'s Reactive Programming talk for the first time
11:02 rurban left
timotimo oooh the video is up now? 11:07
11:11 itz joined 11:13 virtualsue joined
FROGGS timotimo: no, we're seeing him live... 11:14
timotimo jnthn: please explain again what you meant with the num candidate? i have num and Num candidates
oooh!
i'm jealous
vendethiel same.
colomon_ o/
vendethiel masak: sounds like join to me :)
colomon_ knows not why he has an underscore this morning.
11:40 pippo joined
pippo o/ #perl6 11:41
11:41 SamuraiJack__ left
pippo Little typo to be corrected at doc.perl6.org/type/EnumMap 11:42
say %e.values; # prints "1 2\n" if the previous line # printed "a b\n", "b a\n" otherwise
should be say %e.values; # prints "1 2\n" if the previous line # printed "a b\n", "b a\n" otherwise
should be say %e.values; # prints "1 2\n" if the previous line # printed "a b\n", "2 1\n" otherwise
colomon_ pippo++ 11:43
pippo :-)
o/
11:43 pippo left 11:44 prevost joined 11:47 dwarring left 11:51 woolfy left, bowtie left 11:55 nnunley joined 11:57 Rotwang left 11:58 prevost left 12:00 rurban joined, Rotwang joined 12:01 rindolf joined 12:02 bowtie joined 12:04 rurban left
masak vendethiel: but is Supply a monad and a comonad? I think the latter. (but I'm not really good at distinguishing them yet) 12:10
dalek kudo/nom: 74b5674 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Properly MMD grep/first and friends
12:13
12:16 zakharyas joined
vendethiel masak: a monad is something with a safe wrapping operation (and an unsafe unwrapping one). A comonad is something with a safe unwrapping (but an unsafe wrapping) 12:19
masak ooh
that's gonna make it a lot easier to think about.
vendethiel masak: in most cases, these kind of constructs don't respond to the monad laws, because of exception semantics
(ie they don't respect the right identity law) 12:20
masak ok, I see how List (for example) has a safe wrapping operation. you just take e to [e], right.
12:20 virtualsue left
masak and there's no natural way to go the other way, because lists can have several elements -- which by the way leads to some hilarity in Perl 5. 12:20
vendethiel (so I've heard)
masak $ perl -E 'my $a = (5, 6, 7); say $a' 12:21
7
jlaire you can do that in C, too :P
masak $ perl -wE 'my @a = (5, 6, 7); my $b = @a; say $b'
3
vendethiel it'd be the first, though :)à
jlaire int x = (5, 6, 7);
masak ^ hilarity 12:22
vendethiel jlaire: but the comma isn't a list operator in C :). It's merely a semicolon operator at the statement level
masak heck, that should be the prototypical example of "there's no safe unwrapping" :)
vendethiel hahaha
jlaire vendethiel: my point exactlyl, the comma is also a sequencing operator in scalar context in Perl 5
jnthn o/
I gived my talk :) 12:23
masak moving on, what does it mean for Supply to have safe unwrapping but no safe wrapping?
jnthn++
jnthn timotimo: Link to latest gist?
vendethiel masak: a monad has `return` (Monad a => a -> m a), whereas a comonad has a `extract` (Comonad w => w a -> a) 12:26
FROGGS m: class Foo { my $.thing = 42 }; say Foo.thing
camelia rakudo-moar a672ad: OUTPUT«(Any)␤»
12:26 Rotwang left
jnthn r: class A { my $.x = 42 }; A.x = 69; say A.x 12:26
vendethiel masak: Supply is something that can be used to wrap values and you have to use its flatMap (.tap I think ?) to get a value 12:27
camelia rakudo-jvm a672ad: OUTPUT«(timeout)»
..rakudo-{parrot,moar} a672ad: OUTPUT«69␤»
12:27 Rotwang joined
masak vendethiel: so, aha. a List[e] is an "e consumer" and a Supply[e] is an "e producer" 12:29
vendethiel masak: colist is the comonad of list 12:30
masak vendethiel: but... what does it mean for Supply to have no safe wrapping.
?
vendethiel masak: doesn't supply have a wrapping operation ? 12:31
or is it something else ? I don't really know supply
masak m: given Supply.for(1..10,1..10) { .tap(&say) } 12:32
camelia ( no output )
masak hm.
seems I don't really know it either :)
jnthn .for currently runs asynchronously
masak m: my $s = Supply.new; $s.tap(&say); $s.more("OH HAI")
camelia rakudo-moar a672ad: OUTPUT«OH HAI␤»
masak \o/
vendethiel: is any of that wrapping? I don't see it.
jnthn That's probably not great.
vendethiel masak: wrapping would be .more, wouldn't it ? 12:33
masak oh yes.
you're right.
vendethiel but Supply is not really a monad, so you have to look in a weird way to see it :)
masak what makes it "not safe"?
in the way List[e] -> e is not safe.
jnthn vendethiel: It lazy lists are a monad, then supplies are a monad too... 12:34
masak well, comonad.
vendethiel masak: I think it's a monad
there's no safe unwrapping for Supply 12:35
[14:26] <14vendethiel> masak: Supply is something that can be used to wrap values and you have to use its flatMap (.tap I think ?) to get a value
masak ok...
I would expect it to be a comonad, since we've used duality to get observables from lists. 12:36
12:36 kivutar joined
masak or from iterables/enumerables, more exactly. 12:36
vendethiel masak: what would be `extract` for supply then ? 12:37
Woodi jnthn: I'm probably more then bad in explaining things... Supplies/Rx push _elems_ to receivers what is one possible implementation of Observer pattern. Other is: subscribing objects could be just _notified_ about available elems, and then receivers can get value
masak vendethiel: well, .tap is a kind of `extract`, I think. 12:38
vendethiel masak: no, it's a fmap
12:38 denis_boyun_ joined
masak oh, ok. 12:38
vendethiel masak: an extract would mean you could do `my $a = $s.tap;`
masak Woodi: I fail to see the significant difference. 12:39
12:39 denis_boyun left
masak vendethiel: yes, you're right. 12:39
.tap is an fmap.
I think Erik Meijer said that Supply (well, Observable) is a comonad. 12:40
masak falls back to Appeal to Authority 12:41
vendethiel doesn't really like erik meijer 12:42
but then again, maybe somebody who knows what they're talking about would be better
masak :) 12:43
12:43 denis_boyun_ left
masak maybe I should instead ask: what's a colist, and what is a use case for one? 12:43
12:45 rurban joined
Woodi masak: for example receivers can skip intermediate updates. when updates are pushed sometimes it can fire additional unneeded updates somewhere else in the chain of supplies. I think observer patter is not the same as triggers 12:45
timotimo github.com/jnthn/zavolaj/pull/40/filesjnthn 12:46
Woodi but it's implementation dependend, just saying... 12:47
jnthn timotimo: yeah, that looks fine to me. 12:48
masak Woodi: seems to me there's a trivial isomorphism between (a) receiving a value and conditionally ignoring it, and (b) receiving a notification about an update and conditionally getting the value.
timotimo jnthn: cool, feel free to merge that, then 12:49
masak Woodi: that's why I don't see any significant difference.
dalek volaj: ac41467 | (Timo Paulssen)++ | lib/NativeCall.pm6:
assign_pos for CArray
volaj: 92c8f2d | (Timo Paulssen)++ | lib/NativeCall.pm6:
these weren't meant to be num methods.
volaj: 2cd79b0 | jonathan++ | lib/NativeCall.pm6:
Merge pull request #40 from timo/assign_pos_carray

assign_pos for CArray
timotimo i hope it also works. somebody ought to test it :P
All tests successful. 12:50
that doesn't sound too bad. though i don't know if it actually gets tested :)
jnthn *sigh* You didn't run the tests before sending the PR? :P
masak lizmat: subtests show up in prove without the -v option -- probably shouldn't. 12:51
I just ran the spectests. failures in S17-supply/on.t and S17-supply/watch_path.t
timotimo jnthn: i did now! :)
if the observer is moving at the right speed between where i wrote the code and where i sent the PR from, it could conceivably be that i tested it before i sent the pull request 12:52
because relativity!
jnthn I thought I was feeling heavy 'cus of all the pizza but no, it's because relativity :P 12:54
12:54 zakharyas left
timotimo did your talk get recorded again? 12:57
jnthn I saw a video camera :)
masak m: use v5; my $a = (5, 6, 7); say $a 12:58
camelia rakudo-moar a672ad: OUTPUT«5 6 7␤»
masak FROGGS: ^ bug
timotimo i wonder if the recording from this talk will be up before the one from plpw will be
masak FROGGS: where do I submit 'use v5' bugs?
timotimo that was plpw, wasn't it?
jnthn masak: uh...is that actually really using v5?
FROGGS no
masak oh. :)
how do I try 'use v5' things using camelia? 12:59
timotimo i don't think we can do that yet
masak I see.
jnthn And when we can it'll likely be star: ...
FROGGS 'use v5' is noop right now here
someday it will be in star, yeah
hopefully in <3months or so 13:00
jnthn lovemonths?
FROGGS maybe a bit more, dunno
*g*
masak in lovemonths, gotcha.
FROGGS there are only lovemonths :o)
jnthn FROGGS: What's the blocker? "Just" getting the patch on Rakudo eliminated? 13:01
FROGGS jnthn: yes
well, and then it is "only" about getting closer and closer to Perl 5
jnthn FROGGS: If we were to get that patched into Rakudo in the next days, we could have it in the monthly, and get v5 into the next star in theory, no? 13:04
FROGGS jnthn: yes, this should be no problem at all 13:05
that's the patch btw: github.com/rakudo-p5/v5/blob/maste...kudo.patch
timotimo and it could be in the weekly, too :) 13:07
flussence
.oO( I have a feeling this christmas is going to be "the" one :)
13:10
timotimo every christmas is the christmas 13:11
vendethiel masak: good question :)
masak: github.com/ekmett/comonad/blob/mas...Comonad.hs 13:12
masak looks
vendethiel (that's for comonad, not colist - can't find good stuff for colist)
I found an article but it's wrong 13:14
masak really interesting question during lizmat++'s talk: what's the percentage of pure perl modules on CPAN?
things that complicate the answer: (a) dependencies might not be pure Perl, and (b) the DarkPAN is largely not using XS. 13:15
timotimo is DarkPAN just a word for "modules that are not uploaded to the CPAN"? 13:16
masak yes.
timotimo want to put it into S99?
:)
masak it's a thing that Perl 5 Porters take quite seriously.
timotimo: oki.
timotimo right. "how will this change affect the DarkPAN"?
masak right. 13:17
timotimo right.
masak (b) means we'll never know the "real" answer. 13:18
I would still like to actually traverse CPAN and find out the answer, with and without (a).
timotimo mhm
13:20 SamuraiJack__ joined
dalek ecs: 6feffb1 | masak++ | S99-glossary.pod:
[S99] "DarkPAN" entry

Nobody expects the Spanish Darkquisition!
13:21
timotimo the Panish Darkquisition?
masak hehe
jnthn
.oO( СPANish inquisition )
13:22
lizmat masak: do the subtest show up without indentation ?
masak lizmat: yep. 13:24
lizmat ah?
masak chuckles at the word "Cokleisli" in the .hs source file above
lizmat: would you like a gist?
oh wait 13:25
hold on -- I'm stupid, that's what.
lizmat: never mind :/
yeah, everything works. 13:26
13:26 nebuchadnezzar joined
masak PEBKAC 13:26
anyway, here's the failed tests stats: 13:28
t/spec/S17-supply/on.t -- Failed tests: 4-5
t/spec/S17-supply/watch_path.t -- Failed tests: 7, 9, 11, 13, 15, 17, 19, 22-23
13:32 SamuraiJack__ left
masak in t/spec: 13:36
$ git grep -c sleep | perl6 -ne 's/^ <-[:]>+ \://; our $sum; $sum += $_; END say $sum'
92
:/
58 of those are in S17-*/
I bet a lot of those can be eliminated by using Scheduler cleverly.
masak just gave a TDD course where he said "you should inject time, not sleep literally -- unfortunately, it's not done so often in practice..." 13:37
jnthn masak: Yeah, I mentioned we could use a TestScheduler-alike, as Rx does. If you're curious enough to implement it... ;-) 13:38
masak I am.
jnthn In theory it's not much code
masak I see that as a potential win for the S17 tests.
jnthn See the Scheduler interface.
Me too :)
masak *nod*
jnthn uh, s/interface/role/ :) 13:39
masak first in my queue, though: :expires for .squish
jnthn ooh :)
++masak # squishing NYIs 13:40
FROGGS timotimo: you might enjoy: www.infoq.com/presentations/invokedynamic - by jnthn++
13:41 xenoterracide__ joined
jnthn I just identified the minimum revert needed to unbust Panda builds against HEAD MoarVM that various folks have seen (the SEGV happened around compiling Builder.pm) 13:42
dalek kudo/nom: d154cc8 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Fix Supply.grep for Regexes
ast: 6f14b03 | (Elizabeth Mattijsen)++ | S17-supply/grep.t:
Add tests for Supply.grep(Regex)
13:43
lizmat jnthn ^^^ 13:44
should fix oddness you've seen
cognominal jnthn++ for www.infoq.com/presentations/invokedynamic 13:47
masak half-expected cognominal to make a French pun about invokedynamic 13:48
cognominal I can't think of any 13:49
masak ;)
cognominal jnthn has the right mix of informality and precision in his presentations that makes them so enjoyable 13:52
jnthn
.oO( Not sure precisely informal, or informally precise... )
13:54
cognominal s :g /interesting/really hard/ from jnthn's sublanguage to mine 14:00
masak .oO( www.preciselyinformal.org ) 14:04
vendethiel m: say 5 ?? $_ : 0; 14:16
camelia rakudo-moar 74b567: OUTPUT«===SORRY!=== Error while compiling /tmp/UxrhFTb1hz␤Please use !! rather than :␤at /tmp/UxrhFTb1hz:1␤------> say 5 ?? $_ ⏏: 0;␤ expecting any of:␤ postfix␤ infix stopper␤ infix or …»
vendethiel m: say 5 ?? $_ !! 0;
camelia rakudo-moar 74b567: OUTPUT«Nil␤»
14:16 hummeleB1 left
vendethiel mmh. 14:16
lizmat m: .say 14:17
camelia rakudo-moar 74b567: OUTPUT«Nil␤»
lizmat vendethiel: apparently $_ is by default Nil in the repl ? 14:19
vendethiel lizmat: I was just looking to see if I could get the ternary's "topic"
jnthn ?? doesn't topicalize
You can do that with if foo() -> $x { ... } or so 14:20
lizmat which makes much more sense then the Perl 5 idiom: if my $x = foo() { say $x } 14:22
jnthn gets the scoping righter 14:24
masak it's nice -- I use it occasionally for "interesting values of True". 14:25
jnthn aye
masak it's kinda cool that it just falls out of the principle that "blocks (even those in syntactic forms) can also have signatures"
lizmat p5: if ( my $x = 0 ) { } else { print "$x\n" } 14:26
perl5: if ( my $x = 0 ) { } else { print "$x\n" }
masak ENOP5
lizmat $ perl -e ' if ( my $x = 0 ) { } else { print "$x\n" }'
0
even weirder: $ perl -e ' if ( my $x = 0 ) { } else { } print "$x\n"' 14:27
so, it *is* in the scope of the if/else but not outside 14:28
$ perl -we ' if ( my $x = 0 ) { } else { } print "$x\n"'
Found = in conditional, should be == at -e line 1.
Name "main::x" used only once: possible typo at -e line 1.
Use of uninitialized value $x in concatenation (.) or string at -e line 1.
lizmat <3 Perl 6 14:30
cognominal What jnthn describes in plan b looks like a simplified version of bibliography.selflanguage.org/_static/pics.pdf There are other papers and it is used in v8. 14:32
vendethiel oh, I've spent 30 min trying to understand what happened then I remember perl6 does list flattening :( 14:37
ooh ... I'm using $ and not @ ... 14:43
14:48 xinming left
vendethiel that'll take some time to sink ... 14:50
But I hope what I'm doing will be useful to web frameworks in the future :)
14:50 xinming joined
masak workshop over for the day 14:55
&
14:59 lizmat left 15:01 PZt left 15:05 PZt joined 15:07 FROGGS left 15:13 xenoterracide__ left 15:16 molaf_ joined 15:20 molaf left 15:21 skids left 15:22 darutoko left, darutoko joined 15:27 rurban1 joined 15:30 lizmat joined, rurban left 15:32 woolfy joined 15:36 dmol left 15:39 FROGGS joined
vendethiel masak: I use it a lot 15:43
15:44 FROGGS left
vendethiel m: class A { has $.a; method m(:$.a) {say $.a} }; my $a = A.new; say $a.perl; $a.m(a => 6); say $a.perl; 15:47
camelia rakudo-moar d154cc: OUTPUT«A.new(a => Any)␤Cannot find method 'STORE'␤ in method m at /tmp/VGrBqogIkR:1␤ in block at /tmp/VGrBqogIkR:1␤␤»
vendethiel it's a bit surprising that $.a has to be rw in this case
(because it makes it public)
TimToady try it with :$!a instead 15:48
$.a is the virtual interface
vendethiel m: class A { has $.a; method m(:$!a) {say $.a} }; my $a = A.new; say $a.perl; $a.m(a => 6); say $a.perl;
camelia rakudo-moar d154cc: OUTPUT«A.new(a => Any)␤6␤A.new(a => 6)␤»
vendethiel Ah, alright. thanks TimToady 15:49
.oO( my autocomplete is gettign tired of all these tim )
TimToady make case sensitive :) 15:50
vendethiel even with `use v6;` p6 complains that "this looks like p5 code"
just because I don't know properly how to do a module that exports functions, meh !
TimToady starts looking around for his MJD quotations... 15:51
vendethiel tries to look for the difference between module and package 15:52
TimToady packages don't export
packages don't export in P5 either, but the way you turn a package into a module in P5 is not by using the keyword "module", is all 15:53
you make a module by installing something that can export to 'use', and in P6 you do that by saying 'module' 15:54
(or 'class')
(or 'grammar') 15:55
but in both P5 and P6, a package is just a place to poke symbols
15:55 dmol joined
TimToady P6 just makes it look more declarative to go beyond that 15:56
16:03 anaeem1 joined 16:11 guru joined, guru is now known as Guest49655, Guest49655 is now known as ajr_ 16:17 zby_home joined 16:42 dayangkun left
vendethiel to "poke symbols"? 16:46
vendethiel even expected our to have an `is export`-ish behavior, but fixed his code 16:47
16:48 chenryn left, chenryn joined
TimToady 'our' is the sense of 'globally nameable', like Yellowstone Park, not in the sense of "cultural imperialism", like the whole world must acquire the values of Hollywood 16:50
we don't export Yellowstone, but you know where to find it 16:51
16:52 hoverboard joined
TimToady cultural imperialism would be bad in a programming language, because it would violate the rule of the programmer knowing what language they're using 16:52
vendethiel ah, alright. 16:53
There's no construct to only import some names from a module, is there ?
16:53 jules_ left
TimToady sure, use Foo <just these names>; 16:54
or there are tags
vendethiel I really dig that.
mmh, and I just learned about `need`. 16:55
TimToady equivalent to P5's use Foo (); 16:56
vendethiel yeah, I'm reading through S11 (trying to find alias if they exist)
on the other hand, you can force a program to have any symbol with :mandatory,right ? even if they don't `use $ <it>` 16:57
TimToady doesn't remember the specifics :)
or whether rakudo implements any such thing... 16:59
vendethiel ah, there's apparently no aliasing
17:00 pschwenn joined 17:04 vendethiel left, pschwenn left 17:05 pschwenn joined 17:06 pschwenn_ joined 17:07 pschwenn_ left, denis_boyun joined, pschwenn left 17:08 chenryn left
TimToady you can always alias anything that is visible 17:09
17:09 chenryn joined
TimToady for the rare occasions you need to, that's probably sufficient 17:09
17:12 itz left 17:13 sqirrel joined 17:14 sqirrel left 17:22 [Sno] left 17:23 [Sno] joined 17:35 anaeem1 left, xilixy joined, xilixy left 17:38 vendethiel joined 17:42 Vlavv left 17:47 anaeem1_ joined 17:52 BenGoldberg joined 17:53 hoverboard left 17:54 woolfy left 17:55 Vlavv joined 18:04 araujo joined 18:05 zakharyas joined 18:06 cognominal left
flussence I've done good today... more crashes caused than chars of code added :) 18:06
vendethiel "batman does good - you did well" :P 18:07
ingy that's all week and good but... 18:12
grr
ingy returns to being lame
18:15 fhelmberger joined, hoverboard joined 18:19 fhelmberger left 18:20 cognominal joined 18:21 anaeem1__ joined 18:24 anaeem1_ left 18:27 rurban1 left 18:32 rurban joined 18:33 darutoko left, rurban left 18:34 SamuraiJack__ joined 18:36 dmol left 18:37 chenryn left 18:38 chenryn joined
vendethiel #` comments are so hard to type on an azerty :[ 18:38
.u 「 18:39
yoleaux U+300C LEFT CORNER BRACKET [Ps] (「)
18:42 SamuraiJack__ left 18:46 dmol joined 18:47 mj41 joined 19:00 hoverboard left
vendethiel . 19:03
m: say 'ping'
camelia rakudo-moar d154cc: OUTPUT«ping␤»
19:08 vendethiel left 19:12 vendethiel joined 19:19 BenGoldberg left 19:28 anaeem1__ left 19:37 rurban joined 19:44 kst` joined 19:46 hoverboard joined 19:59 rurban1 joined 20:02 anaeem1 joined 20:03 rurban left 20:05 mj41 left 20:09 kurahaupo joined 20:15 kurahaupo left 20:18 zakharyas1 joined 20:19 zakharyas left, igorsutton joined 20:20 igorsutton_ joined, igorsutton left
vendethiel m: my $s; sub a { UNDO $s = 1; fail "foo" }; try a; say $s; 20:25
camelia rakudo-moar d154cc: OUTPUT«1␤»
vendethiel m: sub do-stuff-with-db($param) { state $db = get-db-cnt(); ENTER $db.start-transaction; KEEP $db.commit; UNDO $db.rollback; } 20:27
camelia rakudo-moar d154cc: OUTPUT«===SORRY!=== Error while compiling /tmp/ItfhErpIys␤Undeclared routine:␤ get-db-cnt used at line 1␤␤»
vendethiel m: sub do-stuff-with-db($param) { state $db = get-db-cnt(); ENTER $db.start-transaction; KEEP $db.commit; UNDO $db.rollback; }; sub get-db-cnt { True }
camelia ( no output )
20:27 rurban joined
vendethiel is showing off p6 to yet another one 20:28
20:31 rurban1 left
timotimo o/ 20:32
vendethiel o/ timotimo
20:35 xragnar left 20:37 xragnar joined 20:40 Sqirrel joined 20:42 rurban1 joined
flussence m: await( (^10).map: { start { say $_ } } ) 20:44
camelia rakudo-moar d154cc: OUTPUT«0␤1␤2␤435␤␤6␤7␤8␤9␤␤»
20:46 rurban left 20:47 ajr_ left 20:50 rurban1 left 21:01 rurban joined 21:07 pippo_ joined 21:09 rurban left 21:17 rurban joined 21:25 btyler joined 21:26 dmol left, dmol joined
timotimo i can't watch the presentation on invokedynamic and i would have to sign up to download the mp3 file :\ 21:29
21:29 rindolf left
vendethiel ah, looks like I missed the link somehow 21:30
vendethiel thanks perlgeek.de
21:30 denis_boyun___ joined, denis_boyun left
timotimo signing up requires *lots* of info 21:33
21:34 zby_home left 21:36 pippo_ left 21:37 zakharyas1 left
vendethiel this talk starts with a good reminder about a great thing wrt perl 6 : it's good with dealing with known unknown 21:43
21:43 anaeem1 left 21:48 SevenWolf joined 21:49 rurban left
timotimo the ipv6 in this place seems very flaky 21:51
and i don't see a simple "turn ipv6 off" thingie in network manager
geekosaur gnome network manager? afaik you can go into the interface properties, ipv6 tab, set to link-local 21:52
you can't shut it off entirely but link local might as well be off since it's non-routable
21:58 colomon_ left 22:02 colomon joined 22:16 kivutar left 22:20 rurban joined 22:23 spider-mario left 22:25 rurban left 22:35 FROGGS joined 23:02 Rotwang left 23:04 vendethiel left 23:05 vendethiel joined 23:10 hoverboard left, igorsutton_ left 23:13 bjz joined 23:22 rurban joined 23:23 vendethiel left 23:27 rurban left 23:38 denis_boyun___ left, hoverboard joined