»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by moritz on 25 December 2014.
00:09 Ugator left 00:16 Peter_R left 00:17 gfldex left 00:26 Tux__ joined 00:28 rurban joined 00:30 raiph left 00:31 Mouq joined 00:32 raiph joined 00:35 [Sno] left
dalek kudo-star-daily: 04f7943 | coke++ | log/ (9 files):
today (automated commit)
rl6-roast-data: ff5c980 | coke++ | / (5 files):
today (automated commit)
00:46 Tux__ left
[Coke] colomon: mojo6 is basically a skeleton, nothing usable, unless hoelzro is even more amazing than I thought. :) 00:49
00:50 spider-mario left 00:53 lizmat joined
dalek ast: b354a93 | skids++ | S04-declarations/my.t:
Add tests for RT#102414

Current status:
Original error fixed on moar and parrot, NullPointer on jvm. One of two errors added later to the ticket seem to be fixed. Spec clarification still needed as to one of the two syntaxes. However since that syntax is the one that now works, test it.
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=102414
00:57 andreoss left 01:01 [Sno] joined 01:08 kjs_ left
skids m: loop (my $x = 1, my $y = 2; $x > 0; $x--) { $y.say }; # Gives "Useless use of , warning" 01:08
camelia rakudo-moar ffbb70: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $x = 1, my $y = 2" in sink context (line 1)␤2␤»
masak m: my $x = 1, my $y = 2; say "$x $y" 01:09
camelia rakudo-moar ffbb70: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $x = 1, my $y = 2" in sink context (line 1)␤1 2␤»
masak I contest that it's useless.
01:09 espadrine_ left
skids m: loop (my $x = 1; my $y = 2; $x > 0; $x--) { $y.say }; # Gives "Useless use of , warning" 01:10
camelia rakudo-moar ffbb70: OUTPUT«===SORRY!=== Error while compiling /tmp/TdiW3990MA␤Missing block␤at /tmp/TdiW3990MA:1␤------> loop (my $x = 1; my $y = 2; $x > 0⏏; $x--) { $y.say }; # Gives "Useless use␤»
masak may not be idiomatic, but skids++ just showed that it can be useful.
skids Well, to C coders that is idiomatic :-). 01:11
Kristien generating javascript code is difficult 01:19
I wish JavaScript had goto.
timotimo just make craptons of functions :P 01:20
like you did for your SSA
Kristien my new SSA doesn't have that!
it also supports more than one basic block per function :P
and there are conditional jumps that actually compile to if statements
skids RT#69492 might be closeable? 01:21
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=69492
Kristien I bet φ instructions will be fun to implement. 01:22
masak they usually are.
Kristien the obvious implementation is having each jump set a variable that indicates the block it comes from, and have the phi instruction look it up in a table :P 01:23
01:27 colomon left 01:29 colomon joined
vendethiel- m: say ^10 01:33
uh? camelia?
01:36 raiph left, ilbot3 left, Diederich left, Timbus_ left, jdv79 left, amkrankr1leuen left 01:44 ilogger2 joined, ChanServ sets mode: +v ilogger2, timo joined, alinbsp_ joined, alinbsp_ is now known as alinbsp 01:45 timo is now known as Guest76060 01:46 Mouq joined 01:47 adu joined 01:48 woshty joined, jfried joined, avar joined, jantore joined, colomon_ joined 01:50 colomon_ is now known as colomon 01:51 mtj_ joined 02:04 Guest76060 is now known as timotimo 02:15 Peter_R joined
Kristien goes to sleep 02:16
02:20 bjz joined 02:35 asdf12z_ joined, andreoss joined 02:36 Peter_R left 02:42 Peter_R joined 02:43 Peter_R left, Peter_R joined, Peter_R left, Peter_R joined 02:47 ilbot3 joined 02:53 alinbsp left 03:09 muraiki_ joined 03:15 andreoss left
Mouq I'm thinking the "my $x = 1, my $y = 2;" warning is to help people who don't yet know the difference between item and list assignment 03:24
(still, LTA)
m: my $y; my $x = 1, $y =2;
camelia ( no output )
03:24 colomon left
Mouq m: my $x; $x = 1, my $y = 2; 03:24
camelia ( no output )
Mouq m: my $x = 1, my $y = 2; 03:25
camelia ( no output )
Mouq Oh, last expression
m: my $x = 1, my $y = 2; 1
camelia rakudo-moar ffbb70: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $x = 1, my $y = 2" in sink context (line 1)␤»
Mouq m: my $y; my $x = 1, $y = 2; 1
camelia rakudo-moar ffbb70: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $x = 1, $y =" in sink context (line 1)␤»
Mouq m: my $y; my $x = 1, say "side effects!"; 1
camelia rakudo-moar ffbb70: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $x = 1, say \"side effects!\"" in sink context (line 1)␤side effects!␤»
03:25 colomon joined
Mouq std: my $y; my $x = 1, say "side effects!"; 1 03:26
camelia std f9b7f55: OUTPUT«ok 00:00 139m␤»
03:30 muraiki_ left
skids So in RT, I notice sometimes there are automated updates to tickets when roast updates are made. But not for the ones I did. 03:30
03:32 noganex joined
Mouq skids: I've noticed that too, I'm not sure if that feature still works though. Or maybe there's some special incantation niether of us know for commit messages or something 03:33
m: my @a; (0,1,2).map(-> $k {(2,3,4).map(->$k2 {@a[$k][$k2]})}).eager.Parcel = 4..12; say @a.perl 03:34
camelia rakudo-moar ffbb70: OUTPUT«Array.new([Any, Any, Any, Any, 6], [Any, Any, Any, Any, 9], [Any, Any, Any, Any, 12])␤»
Mouq ^^ Notice, it autovivifies @a's elements, but the assignment is wrong
m: my @a; (0,1,2).map(-> $k {(2,3,4).map(->$k2 {@a[$k][$k2]})}).eager.Parcel = 4..12; (0,1,2).map(-> $k {(2,3,4).map(->$k2 {@a[$k][$k2]})}).eager.Parcel = 4..12; say @a.perl
camelia rakudo-moar ffbb70: OUTPUT«Array.new([Any, Any, 4, 5, 6], [Any, Any, 7, 8, 9], [Any, Any, 10, 11, 12])␤»
Mouq ^^ But doing it twice, it works fine 03:35
The past few days I've been trying to get LoL assignment to a) do autoviv and b) do assignment correctly 03:36
I'm not sure where the above bug comes from, but I'm guessing it's a bug in Parce.STORE 03:37
skids (RT#64990 is an example of a ticket with the automatic roast notice.) 03:38
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=64990
Mouq Golfed:
m: my @a; (@a[0][1], @a[0][2], @a[1][1], @a[1][2]) = 1,2,3,4; say @a.perl
camelia rakudo-moar ffbb70: OUTPUT«Array.new([Any, Any, 2], [Any, Any, 4])␤»
Mouq skids: Right, but that was back in 2009 :/ 03:39
skids Yeah.
The other thing is I mailed two followup emails to RT for tickets I had no comment in, and they did not seem to take.
psch std: my $x = 1, my $y = 2; 1; 03:40
camelia std f9b7f55: OUTPUT«ok 00:00 138m␤»
psch aren't we just warning too much then for that assignment?
m: my $x = 1, my $y = 2; 1;
camelia rakudo-moar ffbb70: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $x = 1, my $y = 2" in sink context (line 1)␤»
psch or is that not a warning std would catch? 03:41
skids Yes I think just the warning is the problem. I noticed that because roast files were emitting them.
psch m: my @a; @a[0][1] = 1; say @a.perl 03:42
camelia rakudo-moar ffbb70: OUTPUT«Array.new([Any, 1])␤»
psch m: my @a; (@a[0][1],) = (1,); say @a.perl
camelia rakudo-moar ffbb70: OUTPUT«Array.new([Any, 1])␤»
psch m: my @a; (@a[0][1], @a[0][2]) = (1, 2); say @a.perl 03:43
camelia rakudo-moar ffbb70: OUTPUT«Array.new([Any, Any, 2])␤»
03:43 raiph joined
skids m: my @a; (@a[0][2], @a[1][2], @a[0][1], @a[1][1]) = 1,2,3,4; say @a.perl 03:44
camelia rakudo-moar ffbb70: OUTPUT«Array.new([Any, 3], [Any, 4])␤»
psch oh but there's an NPE on jvm
i'll check that out
skids m: my @a; my @b := (@a[0][1], @a[1][1], @a[0][2], @a[1][2]); @b = (1,2,3,4); @a.perl.say; # same behavior this way. 03:47
camelia rakudo-moar ffbb70: OUTPUT«Array.new([Any, Any, 3], [Any, Any, 4])␤»
psch std: my (int $a) 03:53
camelia std f9b7f55: OUTPUT«ok 00:00 137m␤»
psch hm
are those parens superstituous?
oh, found it, S03:Declarators 03:54
synopsebot Link: perlcabal.org/syn/S03.html#Declarators
psch m: my :(int $a = 5)
camelia rakudo-moar ffbb70: OUTPUT«===SORRY!=== Error while compiling /tmp/xE2UOAcy1a␤Malformed my␤at /tmp/xE2UOAcy1a:1␤------> my ⏏:(int $a = 5)␤»
psch m: my :(Str $x = "foo")
camelia rakudo-moar ffbb70: OUTPUT«===SORRY!=== Error while compiling /tmp/lXvt9KuXrV␤Malformed my␤at /tmp/lXvt9KuXrV:1␤------> my ⏏:(Str $x = "foo")␤»
psch p: my :(Str $x = "foo") 03:55
camelia rakudo-parrot ffbb70: OUTPUT«===SORRY!=== Error while compiling /tmp/UpOxwmm3le␤Malformed my␤at /tmp/UpOxwmm3le:1␤------> my ⏏:(Str $x = "foo")␤»
skids Mouq: it looks to me like on that first list assignment, each autoviv nukes the existing array. 03:56
Mouq skids: Ohh, nice! So @a[0] = [Any, 1]; and then @a[0] = [Any, Any, 2] 03:59
03:59 |Tux| joined
psch std: my :(Dog $foo is woof = 42) 03:59
camelia std f9b7f55: OUTPUT«===SORRY!===␤Malformed my at /tmp/xONOC85Ix0 line 1:␤------> my ⏏:(Dog $foo is woof = 42)␤ expecting any of:␤ name␤ scoped declarator␤Parse failed␤FAILED 00:00 134m␤»
psch huh, std and specs don't agree, apparently
std: my (Dog $foo is woof = 42) 04:00
camelia std f9b7f55: OUTPUT«===SORRY!===␤In parameter declaration, typename 'Dog' must be predeclared (or marked as declarative with :: prefix) at /tmp/ZPkSmA9Aac line 1:␤------> my (Dog⏏ $foo is woof = 42)␤Parse failed␤FAILED 00:00 136m␤»
Mouq m: my @a; my \p := @a[0]; (p[1], p[2]) = 1,2; say @a.perl 04:04
camelia rakudo-moar ffbb70: OUTPUT«Array.new([Any, 1, 2])␤»
04:04 telex joined
asdf12z_ any good books, guides, or tours whatever you want to call them to perl6? 04:19
psch asdf12z_: learnxinyminutes.com/docs/perl6/ is a good introductory tour 04:20
asdf12z_ is supplies core to perl6 or is it part of it's standard lib? 04:21
Mouq perl6 -e'my @a; @a[0,1;2,3] = 1,2,3,4; say @a.perl'
Array.new([Any, Any, 1, 2], [Any, Any, 3, 4])
psch m: Supply.interval(1).tap(-> $s { say "{$s}th tap }); sleep 5
camelia rakudo-moar ffbb70: OUTPUT«===SORRY!=== Error while compiling /tmp/9tdJhXEzOZ␤Unable to parse expression in double quotes; couldn't find final '"' ␤at /tmp/9tdJhXEzOZ:1␤------> .tap(-> $s { say "{$s}th tap }); sleep 5⏏<EOL>␤ expectin…»
psch m: Supply.interval(1).tap(-> $s { say "{$s}th tap" }); sleep 5
camelia rakudo-moar ffbb70: OUTPUT«0th tap␤1th tap␤2th tap␤3th tap␤4th tap␤5th tap␤»
asdf12z_ :(
skids asdf12z_: Core, but only recently implemented, so you need the moarvm backend.
asdf12z_ seems like a lot of 'overloading' with sigils and things packaged into core 04:22
wouldve been nice to see things like that be more explicitly imported in
Mouq asdf12z_: Can you give an example? I'm not sure what you mean
skids For the most part, nothing gets in the way.
psch why? async is hard. having tools to make it easy is useful 04:23
asdf12z_ but what if i don't need it?
it's for visibility purposes
skids Don't use it, then.
asdf12z_ still for visibility purposes
psch what does visibility mean in this context?
asdf12z_ i should be able to understand by looking at some module or code what its using it its module/code 04:24
skids I'm having a hard time imagining where visibility gets impaired.
asdf12z_ just by its imports
psch that sounds rather C-ish to me
asdf12z_ it is, which i like, but not the way C does it 04:25
but it's true in mostly every other modern/popular language too
psch yeah, i find that confusing. why is exponentiation a basic operation, but logarithms aren't? - looking at python here 04:27
i.e. i have to 'from math import log' to log()
asdf12z_ visibility in that if i look at a piece of code, i have to remember all of perl6 core vs things that are not part of core and having to process that
psch maybe log() is special because people (probably?) want to log-to-file more often than log-base-e 04:28
asdf12z_ if you want a great example, i like the way golang does it
very very little to remember that are part of golang's core, very little keywords 04:29
skids really hates includes, personally.
asdf12z_ everything else is part of its standard lib
psch i haven't looked at golang at all
asdf12z_ makes reading code so much easier
psch FWIW, i don't see any benefit in having a «list of stuff to expect in this file» at the top 04:30
asdf12z_ with perl6 i feel like i have to memorize a lot BEFORE i even touch any modules, libs
psch i think i understand the argument for not having everything implicitely imported, but i don't understand the argument for having it in the stdlib (which is always there) but not imported
because runtime exports mean that maybe we only import something later on, and that gets more confusing than having everything there from the start 04:31
*the posibility of runtime...
asdf12z_ oh i guess thats true for runtime imports 04:32
but i guess that can be solved by common coding practice?
psch m: module Foo { constant TAU = 2 * pi }; BEGIN try EVAL "say TAU"; try EVAL "say TAU"; END { import Foo; say Foo::TAU }
camelia rakudo-moar ffbb70: OUTPUT«6.28318530717959␤»
skids Perhaps we'll eventually have a lot of "no" pragmas and then if you like, you can turn off parts of the language for visibility. 04:33
psch m: module Foo { constant TAU = 2 * pi }; { say TAU; CATCH { default { say "no TAU :(" } } }; END { import Foo; say Foo::TAU }
camelia rakudo-moar ffbb70: OUTPUT«===SORRY!=== Error while compiling /tmp/tcNNRvSi6a␤Undeclared name:␤ TAU used at line 1␤␤»
psch grml
can't push the constant to runtime like that
m: module Foo { our \TAU = 2 * pi }; { say Foo::TAU; CATCH { default { say "no TAU :(" } } }; END { import Foo; say Foo::TAU } 04:34
camelia rakudo-moar ffbb70: OUTPUT«===SORRY!=== Error while compiling /tmp/Ag9PltD_yY␤our scoped term definitions (only 'my' is supported at the moment) not yet implemented. Sorry. ␤at /tmp/Ag9PltD_yY:1␤------> module Foo { our \TAU = 2 * pi ⏏}; { sa…»
psch ...and an NYI :)
psch stops noise-ing about
asdf12z_: there might be an argument made for "don't do runtime imports", but i doubt the practice would achieve more than (potentially very) big BEGIN blocks 04:35
or maybe INIT, i'm a bit fuzzy on phasers 04:36
asdf12z_ i mean to a newcomer that doesn't know perl, it just seems overwhelming in that there's a lot to remember for just using perl6 minus any libraries, you can say if you don't want it, don't use it, but i'm still forced to memorize it exists just in case later on i see it
so i know Supplies isn't pulled in by some import 04:37
Mouq m: module Foo { constant TAU is export = 2 * pi }; { say Foo::TAU; CATCH { default { say "no TAU :(" } } }; { import Foo; say TAU }
camelia rakudo-moar ffbb70: OUTPUT«6.28318530717959␤6.28318530717959␤»
asdf12z_ or some kind of magical trickery some lib is doing
skids But you also have to memorize what to exmplicitly include on the flip side, so...
asdf12z_ that's not true, i can just look up the standard lib in golang and find what i want to use 04:38
so i don't have to memorize every lib's name
psch asdf12z_: p6doc exists, albeit incomplete
asdf12z_ besides the naming of supplies is ambigious 04:39
psch asdf12z_: the plan is to have it available in the REPL as well, for the self-documenting introspection
skids But you can just look up identifiers you find in sources in the docs, when you don't know them, so I'm not seeing the difference.
asdf12z_ but i'd have to memorize it to know where to look is what im saying
skids Right or through introspection.
psch m: #| does the magicks␤sub foo() { warn "NYI" }; say &foo.WHY 04:40
camelia rakudo-moar ffbb70: OUTPUT«does the magicks␤»
skids why? You see someone using class "fnord" and you look up "fnord"?
psch m: say "Life, the Universe, and Everything".WHY
camelia rakudo-moar ffbb70: OUTPUT«42␤»
asdf12z_ skids: and then if fnord doesn't exist, i'd have to look at the libs its importing to see which one creates that namespace ?
skids Wait what who put that in there. 04:41
psch skids: lizmat++ iirc
asdf12z_ skids: unless i memorized every identifier to know it doesn't come from perl6 core, then i'd go look at the imports, otherwise i'd have to check in 2 places
skids I... really don't see your point. 04:42
psch m: module Foo { sub baz is export { } }; import Foo; say &baz.package 04:43
camelia rakudo-moar ffbb70: OUTPUT«(Foo)␤»
psch asdf12z_: ^^^ would that help?
asdf12z_ no 04:44
because i can look at perl6 code and see something like `convert;` 04:45
and i won't know (unless i memorized every identifier perl6 has) if convert is some macro or part of perl6
or if* 04:46
its a non-issue if it was small enough to memorize
thats my point 04:47
psch but it works the other way around as well. if there's no «use» or «import» statement at the top you know nothing's been imported 04:48
well, except for runtime imports, as mentioned
if those exists you can check what they export, which is probably a smaller list that golang's stdlib
i understand your point, but to me that's not a language design issue, it's a tooling issue 04:49
and yes, the tools are lacking at the moment
but thanks to p6doc/POD6 and introspection we can get that from the language itself 04:50
i.e. it's probably not very hard to write a tool that you point at a file and ask it about an identifier and it gets you the package it comes from with the documentation that exists 04:51
nobody's gotten around to that yet though
asdf12z_ in golang its very different, and i'm not trying to make perl6 like golang of course, it's just an example
gobyexample.com/range-over-channels for instance 04:52
anything that doesn't begin with fmt namespace is part of golang
Mouq asdf12z_: And you may want to check out doc.perl6.org too. The search interface isn't perfect, and it doesn't know everying, but it should be able to identify the majority Perl 6 builtins
asdf12z_ anything that does, is part of the fmt lib
so if i didn't know what `make` was, i do _know_ it comes from golang
its very easy to reason about 04:53
skids How does it benefit you to know whether it comes from golang or a lib, exactly, other than telling you weher eto look for docs?
asdf12z_ knowing where to look is really really important man 04:54
skids But if you had an search tool that could just find it across docs, that would solve the problem, no?
asdf12z_ especially if this code wasn't just some short example and 1,000+ lines of code
depends on how good the search tool is 04:55
psch that makes me wonder if our "did you mean" could extend to installed modules 04:58
it probably could but would be expensive or need an index
asdf12z_ im just giving my impressions as an outsider of anything perl 05:00
skids Well, expense really isn't as much of a concern in the error path.
asdf12z_ i've just been casually looking at perl6 talks on youtube whenever i have the time 05:01
and sometimes it seems perl6 was made for perl users
skids Another good way to cut your teeth is try the one-liners github.com/dnmfarrell/Perl6-One-Liners 05:02
psch skids: right, but depending on the available CURs that could still be too expensive
skids: wouldn't want my LWP one-liner to crawl all modules for "geptrint" :) 05:03
skids Yeah, it sounds like something you'd want to turn on with an --ide flag or something. 05:04
psch asdf12z_: well, perl6 is still perl, nobody ever denied that 05:10
hrm, no idea how to fix the NPE in «my (int $x)», but the null-check that should've thrown a more specific error only created an Exception but didn't throw it 05:21
that's at least something i suppose... :)
05:36 fil_ joined
fil_ hellos 05:36
yoleaux 30 Jan 2015 17:27Z <FROGGS> fil_: soon meant 7 hours later :o) (I had no idea when I would get around to it, and what it would involve... happily it is just about setting a flag to true)
skids o/
fil_ is there a convention about putting classes in files like there is in java? 05:37
any1? 05:38
skids Very often the easiest way to provide a single class module is to name it after the class, but files can contain multiple classes.
fil_ are the best practices about how to split your work up into multiple files documented anywhere? 05:39
it's not clear to me how I should be splitting up my work...
05:39 adu left
fil_ in Java it's easy--the language forces you to have 1-to-1 05:39
skids Well, not quite yet, but if you look at modules.perl6.org you can see what others are doing.
fil_ i spent the last half hour doing that 05:40
didn't see much consistency
ok, sounds like it's premature to be asking...
05:40 fil_ left 05:44 adu joined 05:50 konsolebox joined 06:03 adu left 06:05 jack_rabbit joined 06:09 Mouq left 06:28 adu joined 06:35 khisanth_ joined
moritz good morning 06:36
.tell fil_ IMHO it's best practice to put each class that is publicly accessible into a separate class. As for rest, use your best judgement :-) 06:38
yoleaux moritz: I'll pass your message to fil_.
asdf12z_ niecza is no longer in development right? 07:01
:( perl6 on the clr would be cool
07:03 darutoko joined
moritz asdf12z_: aye 07:04
asdf12z_: I still hope somebody starts a CLR backend for rakudo 07:05
07:15 adu left 07:18 raiph left 07:24 [Sno] joined 07:34 xfix joined 07:40 FROGGS[mobile] joined
FROGGS[mobile] o/ 07:41
07:42 Rounin joined 07:43 yeahnoob joined
tadzik o/ 07:51
07:54 Oe_eden joined 07:55 Mouq joined
FROGGS[mobile] tadzik: breakfast? 07:56
08:01 nige joined
Oe_eden is there a perl6 oreilly book in the making yet or will they update programming perl to accomidate perl6? 08:07
tadzik FROGGS[mobile]: yep 08:14
FROGGS[mobile] Oe_eden: I fear such an oreally book will take a fear years from now 08:15
I dont think anybody is working at it atm, given that we want to get 6.0.0 out
that said, I hope the Perl 6 book gets revived, and I'd like to write a chapter or two about topic I know well 08:17
Oe_eden hmm also I own version 2 op PP but I noticed only yesterday at Fosdem that v3 is almost twice the size... what is that about?
08:19 lizmat joined
FROGGS[mobile] ask wendy :o) 08:21
I honestly dont know
08:24 sqirrel joined
dalek kudo/nom: 0959c68 | Mouq++ | src/core/ (2 files):
Try once more to do LoL assignment correctly

There shouldn't be any need to muck about with special cases in the case of LoL assignment; that handling should be the same as in normal LoL access. This patch makes sure we're returning the proper container after an LoL access of any sort; this way, assignment is trivial.
kudo/nom: 84ca774 | Mouq++ | src/core/ (2 files):
Merge branch 'nom' of github.com/rakudo/rakudo into nom
Mouq Far too many hours went into that tiny patch
Lists are hard :P
08:27 denis_boyun joined
lizmat Mouq++ 08:27
lizmat is going to try that now
Mouq lizmat++ for alerting me in the first place 08:30
08:31 denis_boyun__ joined, denis_boyun left 08:36 labster_ joined 08:37 mr-fooba_ joined, denis_boyun__ left, jdv79_ joined 08:38 jschulz_ joined, atta_ joined, sven_123_ joined 08:39 __rnddim__ joined, __rnddim__ is now known as lue, xinming_ joined, xiaomiao joined 08:40 petercom1and joined, pochi_ joined, avuserow_ joined 08:41 petercom1and left, petercom1and joined, FROGGS[mobile] left 08:42 colomon_ joined, rmgk_ joined, rmgk_ is now known as rmgk, gfldex joined 08:44 masak__ joined, esaym joined
dalek ast: 4954d43 | lizmat++ | integration/weird-errors.t:
Unfudge passing test
08:45 colomon left, labster_ is now known as labster, colomon_ is now known as colomon, petercom1and is now known as petercommand 08:46 mst joined 08:47 _sri joined 08:48 esaym left 08:49 esaym153 joined
pmichaud bonjour, #prl6 08:49
08:50 awwaiid joined, lestrrat joined 08:54 rurban joined 08:58 rurban1 joined 09:02 alinbsp joined 09:03 haroldwu left, haroldwu joined, kshannon_ joined 09:04 rindolf joined 09:06 rindolf left 09:07 FROGGS joined, FROGGS[mobile] joined 09:09 sqirrel left, simcop2387 joined 09:13 [Sno] left 09:20 kjs_ joined, FROGGS[mobile] left 09:21 FROGGS left 09:23 atroxaper joined 09:29 wilx left 09:38 brrt joined 09:39 anaeem1_ joined, nige left
dalek kudo/nom: 27ebd7e | lizmat++ | src/ (3 files):
Implement the "aka" trait on methods

This basically aliases a method to other names in the same package. This is different (apparently) to the "handles" trait on method.
method foo aka <bar baz> { # can do $o.foo, or $o.bar or $o.baz for same effect
09:50 anaeem1_ left 09:51 anaeem1_ joined 09:52 FROGGS joined
FROGGS lizmat: that's my version: multi trait_mod:<is>(Routine $r, :$aka!) is export { $r.package.^add_method($aka, $r) }; 09:53
@all: I want to improve the Perl 6 book, and write one or two chapters (regexes/grammars and perhaps something else I have knowledge of).... somebody also picks topics?
@all: would be nice if one or two ppl would subscribe to 1-2 topics 09:54
09:55 [TuxCM] joined, anaeem1_ left
tadzik [Tux]: how's it going? :) 09:57
I managed to get internets
I'll also update rakudo and see if it breaks my stuff too
moritz FROGGS: there are already regexes and grammar chapters in book 10:02
*the book 10:03
FROGGS: no objections to improvements though
do the live streams work today? 10:04
10:04 brrt left 10:06 rurban left
tadzik in the room I'm in (graphics), there was a conversation like "we don't know, we only see this bar going up and down" 10:06
FROGGS sits in the Rust talk and sees that their development is identical to ours... just is put in different words 10:07
i.e. the speaker calls it "Empiric Iteration", we call it Whirlpool
tadzik heh
is it also in K? 10:08
FROGGS in the Janson
tadzik ah
nine dj_goku: thanks! 10:11
10:12 jack_rabbit left 10:13 Kristien joined
dalek kudo/nom: 4dd6c91 | lizmat++ | src/core/traits.pm:
Better implementation of "aka" trait on methods
10:16 dagurval joined 10:18 masak__ is now known as masak
masak good antenoon, #perl6 10:18
big day today, huh?
10:18 masak is now known as Guest26461, rurban joined
FROGGS masak: aye, Rust will be released this year :P 10:18
10:18 Guest26461 is now known as masak_grr
masak_grr \o/ 10:19
10:19 rurban2 joined
moritz but that's no news, I thought? 10:19
I mean, they've had that timeline for several weeks now 10:20
or even months
FROGGS moritz: to somebody like me that does not care about other languages it is :o)
masak_grr hah! we've had our deadline for *years*, and it's always been "around 18 months from now" :P 10:21
10:23 rurban2 left 10:24 synopsebot joined, spider-mario joined
moritz masak_grr: what's _grr today? :-) 10:25
10:30 _dolmen_ joined
FROGGS use std::thread::Thread; -- Rust 10:30
10:30 [TuxCM] left, yeahnoob left
dalek kudo/nom: 6c957ba | lizmat++ | src/core/traits.pm:
Unbust the Method.handles trait
masak_grr moritz: just the same old nickserv business.
moritz: it passes after a while. 10:33
tadzik FROGGS: all I can think of is "use std::badger::Badger::BADGER" :P
FROGGS *g* 10:34
10:34 yeahnoob joined
cdc moritz: rtmp://stream-a.fosdem.org:1935/play/janson_a 10:36
10:37 jack_rabbit joined
alpha- is there a page for Perl 6 which is equivalent to perlfunc in Perl 5 ? 10:38
FROGGS alpha-: perhaps this? doc.perl6.org/routine.html 10:39
[ptc] is the sound dropping out all the time for anyone else?
alpha- thanks
FROGGS you might want to highlight 'sub' using your browser in case you are searching for subs only...
alpha- hmm 10:40
FROGGS though, many stuff exists as methods only where it makes sense
alpha- FROGGS I see that there is no 'async' keyword/function/operator/whatever 10:41
perl6 has no 'async' ?
10:41 lizmat left
FROGGS it is a keyword 10:41
Kristien green thread master race
TimToady async is callled 'start' now, and returns a promise
alpha- oh ok 10:42
moritz cdc: thanks
TimToady and it's really a statement prefix operator
moritz [ptc]: sound is stable here
TimToady so it might or might not take a block
[ptc] moritz: thanks; must be just my settings 10:43
FROGGS alpha-: here are slides about that topic: www.jnthn.net/articles.shtml look out for async and concurrency
alpha- thanks FROGGS
FROGGS alpha-: I can also find talks (videos) in case you are interested 10:44
cdc moritz: this stream doesn't work anymore here :'(
[ptc] are the slides at least available? The link doesn't appear on live.fosdem.org 10:45
cdc it works again \o/ 10:46
alpha- FROGGS not atm, I will read the slides and try writing examples, thanks
cdc [ptc]: I don't see them either
[ptc] cdc: it's nice to know it's not just me :-)
10:47 gfldex left
alpha- what is the alternative to perlbrew for Perl 6? e.g. a non-root install of perl6 contained in some directory 10:47
10:47 jack_rabbit left, gfldex joined
FROGGS there is rakudobrew 10:47
alpha-: but for rakudo we always do a non-root install by default
so, cloning rakudo will also get you set up, though rakudobrew also installs useful modules and the module installer 10:48
moritz alpha-: github.com/tadzik/rakudobrew/
10:49 raiph joined 10:50 yeahnoob left, kaare_ joined
alpha- No suitable nqp executables found! 10:51
I think I am missing something
tadzik is that what rakudobrew said?
alpha- no, it's from rakudo Configure.pl
FROGGS alpha-: perl Configure.pl --gen-moar
alpha- ok
FROGGS alpha-: though I thought you get hints printed O.o 10:52
gfldex try perl Configure.pl --backends=moar --gen-nqp --gen-moar
[ptc] INSTALL.txt in the rakudo repo has good installation instructions 10:53
moritz gfldex: --gen-nqp is implied by --gen-moar
gfldex: and --backend=moar too (unless you have more NQPs available)
10:54 konsolebox left
alpha- I can't figure out what NQP is even after reading the description page 10:54
is it like llvm ?
FROGGS alpha-: it is like a very simple version of Perl 6, that lets us write the very core Perl 6 compiler parts also in a Perl 6-ish language 10:55
nqp-m: say("hello world")
camelia nqp-moarvm: OUTPUT«hello world␤»
alpha- interesting
FROGGS like in my example, the parenthesis are mandatory in nqp code 10:56
timotimo o/
[ptc] timotimo: \o 10:57
alpha- are moarvm and nqp strictly perl6 stuff or there are any other projects using this ?
moritz alpha-: there aren't
timotimo we have toy interpreters for ruby and python
moritz alpha-: well, there's a python compiler work-in-progress on nqp 10:58
timotimo and there was a tcl implementation but that was more or less relying on many parrot internals
moritz github.com/arnsholt/snake/