»ö« 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.
dalek rl6-bench: 7877717 | (Geoffrey Broadwell)++ | analyze:
Add missing docs for --ignore-compile
00:01
rl6-bench: 9851dbc | (Geoffrey Broadwell)++ | / (2 files):
Add perl5/parse-json using JSON::PP
rl6-bench: 2252077 | (Geoffrey Broadwell)++ | analyze:
Compute an overall 'score' across all tests

The score is computed using the geometric mean of relative rates compared to a reference compiler (the first one in the timings file). It is expressed as "% of reference compiler's overall speed", so the reference compiler has a score of 100; higher is better, so 200 would be twice as fast "overall" compared to the reference.
timotimo japhb: the part where you write something like rakudo-moar/foo/bar/baz and it gives you a moarvm-foo, nqp-bar, rakudo-baz (or the other way around) 00:06
japhb timotimo: Ah yes, I understand. I've added it to my list. We'll see how far I get on the list before hack day is up. :-) 00:20
timotimo cool, thanks :) 00:28
00:30 atroxaper joined 00:35 atroxaper left 00:38 BenGoldberg left 00:39 BenGoldberg joined 00:59 carlin left 01:05 erkan joined, erkan left, erkan joined
japhb So it turns out the rc-forest-fire crashing is very dependent on board size. If I do 'perl6 perl6/rc-forest-fire 7 7 100' (where perl6 is r-m) it doesn't crash for me, and goes 100 generations as expected. 01:14
01:14 FROGGS_ joined
japhb But if I change to 8 8, it crashes sometimes, and with 9 9 it crashes reliably and quickly. 01:14
01:18 FROGGS left 01:26 Su-Shee left 01:27 klapperl joined, Su-Shee joined 01:30 klapperl_ left
japhb Two more tidbits: `perl6 --optimize=0` doesn't change anything about the crash behavior. Also, when it is flaky (as with 8 8 board size), it either crashes quickly (in the first 2-4 frames), or doesn't crash at all. There aren't any crashes that happen after after a few dozen frames. 01:30
01:34 hoverboard left 01:37 Khisanth left 01:50 Khisanth joined 02:04 rurban left 02:05 ren1us joined
dalek rl6-bench: 9733fca | (Geoffrey Broadwell)++ | bench:
Remove other 'open ... :p' use in bench
02:14
rl6-bench: ff533f6 | (Geoffrey Broadwell)++ | bench:
Add list-branches and list-tags commands to bench
02:16 rindolf joined
dalek rl6-bench: ebc6de8 | (Geoffrey Broadwell)++ | analyze:
Remove accidently committed debugging output
02:23
rl6-bench: 3485620 | (Geoffrey Broadwell)++ | analyze:
Add missing undef guards in analyze
02:25
02:29 thou joined 02:32 atroxaper joined 02:36 atroxaper left 02:43 xragnar left 02:44 xragnar joined 03:05 hoverboard joined
dalek rl6-bench: 1d5f665 | (Geoffrey Broadwell)++ | analyze:
Add a convenience sub for building English lists
03:11
rl6-bench: b90b844 | (Geoffrey Broadwell)++ | analyze:
Show summary scores in table view if available
03:30 ren1us left 03:31 ren1us joined 03:48 xenoterracide joined 03:54 xenoterracide left 04:06 ren1us left 04:12 Mouq joined
Mouq o/ 04:12
dalek rl6-bench: 4b8acf2 | (Geoffrey Broadwell)++ | timeall:
Fix formatting in `timeall --list-variants`
04:16
rl6-bench: 655c508 | (Geoffrey Broadwell)++ | timeall:
First step to tracking compiler commit dates
japhb And with that, it sounds like hack day is over. 04:17
.tell timotimo Sorry I didn't get all the way to your request, but hopefully the changes today will be useful anyway. :-) 04:18
yoleaux japhb: I'll pass your message to timotimo.
dalek c/redesign: 1cc683c | Mouq++ | lib/Mix.pod:
Headings were switched in Mix.pod
04:24
c/redesign: 477f056 | Mouq++ | lib/Mix.pod:
Merge branch 'master' into redesign
c/redesign: f69d8bd | Mouq++ | html/css/style.css:
Make selected menu-item more distinct
c/redesign: de6db9d | Mouq++ | lib/ (336 files):
Move type docs to lib/Type and lang docs to lib/Language

  (htmlify.p6 is not yet updated for this change)
Mouq japhb++
04:26 BenGoldberg left 04:33 atroxaper joined 04:35 pulkit joined 04:38 atroxaper left, pulkit_ joined 04:40 pulkit left, kaare_ joined 04:45 pulkit_ left 04:47 telex left 04:48 telex joined
dalek c/redesign: 9557eb6 | Mouq++ | / (3 files):
Adjust htmlify.p6 to account for moved docs

Still needs some abstracting to deal with the hypothetical lib/Routine and lib/Module dirs, but this works fine for now
04:57
Mouq That's all I'm doing tonight. I had a long day 05:01
\o
05:01 Mouq left 05:04 xenoterracide joined 05:06 hoverboard left 05:14 xenoterracide left 05:17 xenoterracide joined 05:24 xenoterracide left 05:50 darutoko joined 06:24 mj41 joined 06:31 mj41 left 06:35 atroxaper joined 06:40 atroxaper left 06:41 Pleiades` left 06:45 Pleiades` joined 07:06 FROGGS_ left 07:26 FROGGS[mobile] joined 07:31 [Sno] left, [Sno] joined
moritz Mouq++ 07:36
07:46 Rotwang joined 07:51 Rotwang left, FROGGS[mobile] left 07:55 anaeem1 joined 08:05 Rotwang joined
masak antenoon, #perl6 08:27
08:33 anaeem1 left, virtualsue joined 08:39 SevenWolf left, virtualsue left 08:40 anaeem1_ joined 08:42 itz joined 09:01 thou left 09:08 spider-mario joined 09:11 itz left 09:21 lizmat joined
lizmat good *, #perl6! 09:23
timotimo: could it be that you forgot to commit Missing test file: t/spec/S17-supply/zip_latest.t to roast ?
09:46 mj41 joined 09:47 kurahaupo left 09:52 Psyche^ left 09:53 Psyche^ joined
dalek ast: 00f7e30 | (Timo Paulssen)++ | S17-supply/zip_latest.t:
commit missing file.
09:56
timotimo my apologies 09:57
yoleaux 04:18Z <japhb> timotimo: Sorry I didn't get all the way to your request, but hopefully the changes today will be useful anyway. :-)
10:01 kurahaupo joined
timotimo that's all right :) 10:04
jnthn ==> Bootstrapping Panda 10:13
No such method 'path' for invocant of type 'CompUnitRepo::Local::Installation' in method destdir at C:\consulting\perl6\panda\lib/Panda/Installer.pm:22
:(
10:25 anaeem1_ left
timotimo isn't git pull enough to fix that? 10:26
jnthn seems not 10:29
10:29 carlin joined
jnthn Have latest Panda and Rakudo. 10:29
timotimo dang.
carlin that panda failure was caused by non-existant libs being removed from @*INC 10:30
timotimo which one is that?
carlin irclog.perlgeek.de/perl6/2014-06-14#i_8873146 10:31
timotimo the one you reporte or the one jnthn just ran into?
ah, yes
carlin they're the same one
timotimo did lizmat answer about that yet?
jnthn I think she said she'd look at it today
timotimo good
10:34 rindolf left
lizmat fixing now 10:38
10:46 dmol left 10:47 anaeem1_ joined
dalek kudo/nom: 6572438 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
Quick fix for panda breakage

Instead of not setting %CUSTOM_LIB<foo> if the directory does not exist, it will now just put the path in there (rather than the instantiated CURL object like before I broke panda).
10:54
lizmat hope that this fixes things 10:55
if not, I guess I'll have to revert these patches :-(
vendethiel lizmat: did you actually found out why that duplicated function was there :P ?
lizmat no 10:56
carlin hmm no
lizmat doesn't fix?
carlin I was getting that error jnthn was too but it looks like it was a different problem
introduced in eb1d2fdb I think 10:57
10:57 SHODAN left
lizmat that would be strange 10:57
that commit is merely putting identical code into a role and using composing it into the classes 10:58
10:59 SHODAN joined
carlin This is perl6 version 2014.05-179-geb1d2fd built on MoarVM version 2014.05-18-g6b19b4b 11:01
> %*CUSTOM_LIB<site>.path
Method 'path' not found for invocant of class 'CompUnitRepo::Local::Installation'
This is perl6 version 2014.05-178-g4d0bdd9 built on MoarVM version 2014.05-18-g6b19b4b 11:02
> %*CUSTOM_LIB<site>.path
IO::Path</home/carlin/rakudo/install/languages/perl6/site>
dalek kudo/nom: 331bfc8 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
Oops, missed one priming with path
11:11
kudo/nom: 7f22e92 | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Locally.pm:
Expose CUR::Locally.path
lizmat carlin: this seems to fix that for me
$ 6 'say %*CUSTOM_LIB<site>.path'
IO::Path</Users/liz/Github/rakudo.moar/install/languages/perl6/site>
so, this means that %*CUSTOM_LIB is either populated with an instantiated CURL object (that now allows .path) 11:13
or it is just a Str (which also allows .path)
@*INC just contains the CURL objects of directories that actually exist at startup time 11:14
11:15 kurahaupo left
carlin yip all works here now 11:15
lizmat++
11:26 pippo joined
pippo grammar G {rule TOP {^AA' '<one> <two> <three>$}; regex one {[\w+' ']*}; regex 11:26
timotimo that's not all of it, is it? :) 11:27
pippo grammar G {rule TOP {^AA' '<one> <two> <three>$}; regex one {[\w+' ']*}; regex two {''||[\w+' ']*}; regex three {[\w+' ']+}}; say G.parse("AA 111 11 11 3 3 333 ");
m: grammar G {rule TOP {^AA' '<one> <two> <three>$}; regex one {[\w+' ']*}; regex two {''||[\w+' ']*}; regex three {[\w+' ']+}}; say G.parse("AA 111 11 11 3 3 333 ");
camelia rakudo-moar fe867d: OUTPUT«「AA 111 11 11 3 3 333 」␤ one => 「111 11 11 」␤ two => 「」␤ three => 「3 3 333 」␤␤»
timotimo well, that certainly looks like it worked :) 11:28
pippo timotimo: no it was not :-))
timotimo in that case i don't know what the problem is :)
pippo .tell mouq: I found the solution for irclog.perlgeek.de/perl6/2014-06-10#i_8850807 see irclog.perlgeek.de/perl6/2014-06-15#i_8873951 11:30
yoleaux pippo: What kind of a name is "mouq:"?!
pippo .tell mouq I found the solution for irclog.perlgeek.de/perl6/2014-06-10#i_8850807 see irclog.perlgeek.de/perl6/2014-06-15#i_8873951
yoleaux pippo: I'll pass your message to mouq.
pippo .tell PerlJam I found the solution for irclog.perlgeek.de/perl6/2014-06-10#i_8850807 see irclog.perlgeek.de/perl6/2014-06-15#i_8873951 11:32
yoleaux pippo: I'll pass your message to PerlJam.
lizmat .tell FROGGS I'm starting to wonder whether %*CUSTOM_LIB should live in core at all 11:34
yoleaux lizmat: I'll pass your message to FROGGS.
pippo m: grammar G {rule TOP {^AA' '<one> <two> <three>$}; regex one {[\w+' ']*}; regex two {''||[\w+' ']*}; regex three {[\w+' ']+}}; say G.parse("AA 111 11 11 2 2 222 3 3 333 "); 11:36
camelia rakudo-moar fe867d: OUTPUT«「AA 111 11 11 2 2 222 3 3 333 」␤ one => 「111 11 11 」␤ two => 「2 2 222 」␤ three => 「3 3 333 」␤␤»
11:39 atroxaper joined 11:43 atroxaper left 11:55 mj41 left 12:12 vendethiel left 12:14 vendethiel joined
masak rt.perl.org/Ticket/Display.html?id=122095 is due to Moar's being a moving GC, right? 12:25
I *think* I agree that it's a bug.
vendethiel masak: isn't WHICH used for objects when used as indexes ? 12:30
12:31 anaeem1_ left
masak yes, exactly. 12:34
they're supposed to persist across an object's lifetime.
masak looks for support for that in the spec
S12-objects.pod: WHICH the object's identity value 12:35
the appropriate section about .WHICH and ObjAt in S02 seems to have been penned without any consideration of copying GCs. 12:37
lizmat TimToady assured that .WHICH should be immutable for the lifetime of an object 12:46
the other day
so I think we will need some lazy .WHICH setting 12:47
that, once set, will not change
imo, this could be as simple as a CASsed global counter 12:48
in pseudo code: method WHICH { $!WHICH = cas(++$counter) }
or rather: method WHICH { int64 $!WHICH ||= cas(++$counter) } 12:49
vendethiel could be a problem if you query the moved one after 12:50
12:51 cognominal joined
vendethiel i.e. : you have `$a = A.new; $b = A.new;`, you call `$a.WHICH` and its WHICH gets set. Then it gets moved, and `$b` gets moved at `$a`'s place 12:51
($a's old place). Now, you have a duplicated WHICH, don't you ?
lizmat no, because the counter is completely independent, it's just monotonously increasing 12:52
masak no, because $!WHICH would be an attribute inside the moved object, not related to the memory address at all.
lizmat the $counter just starts at 0, assigning 1 to the first object of which the .WHICH is requested
by just putting a counter in there, we would not be duplicating the .WHAT info in the .WHCIH 12:55
which could be considered a win
also, for Sets, Bags, Mixes, that depend on the .WHICH
we might also have a win there 12:56
the only pb with this approach, is if we get more than 9223372036854775807 different objects that have their .WHICH called during the lifetime of a process 12:57
12:58 Woodi joined 12:59 anaeem1 joined
lizmat to prevent racing issues, we maybe would need to have a counter per OS thread 12:59
TimToady at that point you'd have a 1 in 9223372036854775807 chance of a collision :)
lizmat yup, much less than now :-) 13:00
perhaps use the top 16 bits for thread ID 13:01
13:01 guru joined
lizmat which could have its debugging uses as well 13:01
13:01 guru is now known as Guest63815 13:02 Guest63815 is now known as ajr_
dalek p/qast_refactor: 724fff6 | jnthn++ | / (3 files):
Split QAST node children out into a role.
13:03
p/qast_refactor: b025b96 | jnthn++ | / (5 files):
Avoid direct QAST::Node usage.

In some places we used it just to hold children; have a QAST::NodeList to play that role.
p/qast_refactor: a3e24d5 | jnthn++ | src/QAST/ (20 files):
Re-structure QAST nodes and their creation.
p/qast_refactor: 2147886 | jnthn++ | src/QRegex/P6Regex/Optimizer.nqp:
Robustness fix to regex optimizer.
13:03 anaeem1 left 13:08 itz joined, itz left 13:24 zakharyas joined 13:25 itz joined 13:26 amirite joined
amirite i'm sad 13:26
lizmat hugs amirite 13:27
amirite just googled perl 6 and realized the likeliness of becoming a perl refugee is strong
vendethiel mmh ? 13:29
vendethiel reads www.perlmonks.org/?node_id=387411 and grins 13:30
amirite perl 5 has limitations that need to be formally resolved but never will (like proper oo encapsulation), perl 6's production release isn't likely to happen any time soon if ever, in the interim kids need shoes and family needs to eat 13:31
looks like i'll have to get into ruby or java and will forget about perl
which is sad because i love the idiomatic expressiveness of this language
and how easy it is to get things done 13:32
vendethiel amirite: i'm using p6 in production and doing good, thanks :)
vendethiel actually gave a talk about this yesterday
13:34 mj41 joined
xfix amirite: Perl 5 only lacks private properties, if this is what you care about. 13:36
Byt neither does JavaScript have them.
vendethiel so does JS, that doesn't prevent it from being used
vendethiel remembers maddingue yesterday : "js is for hipsters" 13:37
itz is your talk likely to appear on youtube?
vendethiel itz: my talk is in french :)
itz oh
vendethiel (but yes, it'll appear on youtube)
masak amirite: I'm using Perl 6 every day, for purposes that ultimately put food on my family. I agree there is work to be done, but I'm neither hopeful nor resigned about it. just ready to help. 13:38
itz my French is of the "oou est la vache?" level :)
xfix Private methods in Perl 5 can be done with my $private = sub { ... };, and called with $object->$private. 13:39
If this isn't a private method for you, then I don't know what is.
masak xfix: I wouldn't have objected if you hadn't said that last part. 13:40
xfix: Perl 5 needs a lot of things, but vehement defending of its shortcomings is not one of them :)
xfix: please tone down the defensive rationalization.
vendethiel doesn't know what perl 5 needs
I have a book about what it's got 13:41
cognominal woolfy++ for that
xfix Yes, I know it doesn't have private properties.
And Perl 5 should have them. It's not about privacy, but about encapsulation. 13:42
vendethiel oh, woolfy++ and lizmat++ quite a bit.
masak I'm at a point on my OO journey where I don't *care* much about private object attributes. (that is, I morally agree with Perl 5 and JavaScript's design choice there.)
woolfy :-)
vendethiel (cognominal++ too, sure ;).)
cognominal Sometimes beeing pushy is good. :)
vendethiel masak: I'm at a point on my OO journey where I don't care about OO :P
masak but I can totally side with someone who says that Perl 5 (and JavaScript) don't have private attributes.
woolfy vendethiel: you did not have a book about Perl at all; the book Programming Perl by our illustrious firestarter can show you how it is done in Perl 5, not how you should do it in Perl 6... 13:43
masak and protesting that they can be easily emulated is (a) a bit irreverent, and (b) largely immaterial.
xfix They cannot be easily emulated.
Unless you want some name convention to avoid conflicts. 13:44
masak xfix: function closures.
itz doesn't the inside-out OO have proper private methods in perl 5?
masak yes.
mj41 Hi. Does it make sense to use Qc as baseground for simple p6 template toolkit? My prototype here github.com/mj41/SP6
xfix masak: Those are private methods, not private attributes. 13:45
masak xfix: what part of the word "emulated" did you overlook?
vendethiel: I'm increasingly realizing that the best kinds of OO are heavily influenced by immutability, memoization, proper tail recursion and referential transparency.
vendethiel masak: ... or just "good data structures" 13:46
masak :)
xfix You can emulate private methods with some arbitrary naming convention.
Python does that for its __ properties.
Private attributes*
masak I'd call that a leaky abstraction, since anyone who would want to mutate such a "private" attribute would be able to.
and some people would be tempted to.
xfix This is not a real issue for me. Just don't do it. 13:47
dalek kudo/qast_refactor: 6d23540 | jnthn++ | src/Perl6/Actions.nqp:
Changes to match NQP qast_refactor branch.
13:48
woolfy mj41: maybe ask your question again? (I cannot answer it) 13:49
masak xfix: you may well take that position. but contrast it with function closures, where the language doesn't *allow* you to cheat.
xfix: given that, I'd call the emulation using function closures "real" and the emulation using a '__' prefix "fake". 13:50
vendethiel well, at the same time, you can actually have private properties in JS (two different ways, and a "real" one coming into ES6) 13:51
masak vendethiel: two ways? which is the other one? 13:53
vendethiel masak: solution #1 : `function Car () { this.setSpeed = function (s) { speed = s }; var speed; }` 13:54
mj41 woolfy: Simple template system is useful for many use cases. And for me the really easy way is to use say Qc 'html { $title } html ...'. So I did a prototype. 13:55
masak mj41: make sure you add it to the ecosystem. 13:56
mj41 woolfy: Pull requests, patches and forks welcome github.com/mj41/SP6
masak: ok, I'm going to try 13:57
xfix masak: in Python, properties starting with __ are special. 13:58
cognominal vendethiel: the language I was talking about yesterday was indeed idris, and specifically this paper. eb.host.cs.st-andrews.ac.uk/drafts/...torial.pdf 13:59
I am getting old, my memory is not so good :(
xfix They are converted to something like __UniqueClassName_property.
vendethiel masak: solution #2 : gist.github.com/Nami-Doc/8f90d2fb43dc453c77b0
cognominal: so I was right :D
cognominal yes, you were.
14:06 dayangkun joined 14:08 pippo left, kaare_ left
amirite www.google.com/trends/explore#q=%2F...amp;cmpt=q 14:10
i think we can conclude "perl" is not going to be a relevant term in the web application industry after 2 or 3 years unless perl 6 becomes official within the next year 14:13
lizmat cycling&
masak vendethiel: firstly, I find your depending on variable/function hoisting and using variables before declaring them confusing. a matter of tastes, I guess. 14:15
14:15 hoverboard joined
vendethiel masak: I just wrote them in incorrect order and didn't fix it because laziness :) 14:15
masak vendethiel: secondly, given that the first solution exists, why would I ever want to use the second?
vendethiel masak: because performance-wise, attaching functions to an instance is pretty bad.
masak oh, good point.
vendethiel++
cognominal amirite: Perl will be the relevant term in web programming when we get Perl 6 in browsers so that people can eventually have their favorite dynamic language in the browser, written In Perl 6. This will certainly take more than one year. Which is not a probleme because ES6 will do no better :) 14:18
hubris++
timotimo oh yikes
14:21 hoverboard left
masak I may not agree with cognominal's hopeful future projection, but I'm glad we have people in the community who hope for that, and work towards that. 14:21
amirite if i complain anymore i'll just be trolling, in the meantime i'm finding mastering algorithms with perl to be excellent reading 14:22
amirite brushes up on algorithms instead of focusing on languages because those never die 14:23
cognominal People think about the future with all thing being equal. The point is to change things. And I may even be too conservative about Perl 6 in the web. Who know if the web will be still the dominant thing in 15 years. 14:24
The future is not extrapolating curves ahead. That would be boring. 14:25
14:26 erkan left, molaf joined
amirite forecasts the internet in the future will be called the BNN, or The Big Neural Network -- and rather than accessing resources as web pages predominantly, the predominant resource will be augmented reality applications that get fed into your eye(s) and interfaced by eye movements, body movements, and speech 14:27
and food will be 3d printed, delivered to your table by amazon.com drones 14:28
and cars will have no drivers
and an entire generation of people will be autistic because they were completely neglected as kids by parents who were enraptured by their technology and too busy staring at their smart phones and google glass to pay attention to them 14:29
vendethiel I don't want your future 14:30
amirite the future is now
14:31 ren1us joined
vendethiel no. 14:31
cognominal good luck with no drivers in Paris. It's one thing to teach computers to drive in Mountain View, another in Paris. Streets are narrow, obstacles are not marked, people acts randomly, and they are proud to be at the wheel even if it means blocking the traffic for hours by getting stuck in intersections. 14:32
But I certainly want no human drivers in Paris; that would be so peaceful. 14:33
timotimo the coolest thing about the driverless car thing to me is reducing the amount of cars sitting around unused 14:34
atta cognominal: hehe!
timotimo and with a clever service behind the whole thing, travels could even be coordinated so that you get from A to B hopping between 3 different cars that just happen to share a part of the way or something like that 14:35
carlin driverless cars aren't futureistic enough for me, I want to see breakthroughs in teleportation 14:36
timotimo and proper car-to-car communication can enhance safety by a huge margin; the delay between the car before you braking and your car braking could be turned down to just miliseconds
amirite yeah startups are all the rage right now
and will be for a while to come
there is so much room for innovation, there is something like a renaissance happening 14:37
cognominal timotimo: we have autolib in Paris. It works even if they need some clue from Apple for their web site which is a visual agression. www.autolib.eu/en/
timotimo cognominal: in germany, there's things like "stadtmobil" where multiple stations are spread throughout cities where you can - as a member - reserve and then drive cars around 14:39
amirite the problem with driverless cars is what happens in the interim while some have drivers and some don't, i.e. a semi-truck coming at you head-on -- does your car turn left, killing the person sitting on the passenger side, or right, killing you sitting on the driver side?
timotimo so it's probably similar
amirite: driverless cars can see an amazing amount of distance ahead and theoretically, erratic driving could be predicted to some extent
cognominal Also in Europe, research is more about assembling driverless in convoy that being each one on their own. That's make more sense.. 14:40
14:40 mj41 left
timotimo aye 14:40
amirite yeah i guess that's exactly right timo
timotimo the cool thing is if such a truck is approaching a blob of driverless cars, they can react as "one unit" and perform maneouvers no human could pull off
for example, they could drive extremely close next to each other to make a big amount of space for obstacles to pass through without crashing into each other or pushing each other off 14:43
14:44 colomon joined
timotimo and if the theoretical truck that's coming straight at the cars is in an "in between" state between regular car and driverless car, it could perhaps already be publishing its telemetry data to nearby cars, thus allowing even better planning 14:44
colomon 's computer is going to be at the shop long enough he installed IRC on his wife's machine
timotimo etc etc.
o/ colomon 14:45
colomon \o
colomon is also installing xcode and perlbrew, so he can install rakudobrew. :) 14:47
14:47 trap0 joined 14:52 betterworld joined, trap0 left 14:53 trap0 joined 14:54 virtualsue joined 15:00 hoverboard joined, ajr_ left, guru joined 15:01 guru is now known as ajr_ 15:02 btyler joined
ajr_ I'm surprised that no-one's tried driverless trucks in mining operations; the huge ones that grind backwards and forwards from pit to mill. 15:03
timotimo that'd seem like a difficult environment to work with 15:04
as in: streets are somewhat smooth
underground mines might be much rougher to navigate through
ajr_ They're very expensive, companies have problems getting responsible drivers to live in the desperate places mines tend to happen.
timotimo mhm 15:05
ajr_ And the job's very boring.
Traffic's minimal, the route's repetitive.
The fact that the roads are unpaved is only a problem for the suspension, not guidance. 15:06
timotimo OK, fair enough
ajr_ It would be no big deal to put in stakes or something for the sensors to detect. (Or just plot it on GPS.)
timotimo GPS in mines? 15:07
ajr_ No, these are surface operations.
timotimo ah, ok
15:07 trap0 left
ajr_ Mines would be really easy to set up as routes. 15:08
15:08 JimmyZ_ joined 15:22 dmol joined 15:24 kaare_ joined
masak lizmat: I'm wondering whether the .WHICH solution shouldn't be MoarVM-specific. Parrot and JVM don't have this problem, and it feels weird to introduce a solution that will cost performance for them. 15:28
15:34 ren1us left 15:44 atroxaper joined 15:51 atroxaper left, xinming_ joined 15:54 atroxaper joined, xinming left 15:55 atroxaper left, JimmyZ_ left
jnthn masak: JVM does have it too. 15:58
masak: but it'll want a different solution
masak oki 15:59
16:03 itz left
dalek p/qast_refactor: baacde8 | jnthn++ | src/QAST/Unquote.nqp:
Fix copy-pasto in QAST::Unquote.
16:03
16:17 hoverboard left 16:23 dayangkun left 16:24 molaf_ joined 16:27 molaf left 16:29 pippo_ joined 16:39 dmol left 16:43 erkan joined, erkan left, erkan joined 16:58 ajr_ left 17:06 thou joined
ChoHag I have a channel which I work through with for $!Q.list -> $item { ... } 17:07
How can I combine that with winner so that it loops through two channels?
Taking items off whichever is first.
timotimo do we have combinators for channels? 17:08
jnthn That's what the winner construct is for
17:09 wingfold joined, liztormato joined
timotimo ah, of course 17:09
17:09 liztormato left
ChoHag Ah S17 has 'winner * { more @channels { ... } }' 17:10
Can I just do more ($priority, $regular) { ... }?
Or do something with this: 17:11
for @$channel -> $val { ... }
timotimo i think you can ask a channel if it has a value and wait for values to be available with Promise.anyof(Channel1.new_value_promise_thingie, Channel2.new_value_promise_thingie) 17:12
and then prioritize the one channel over the other
17:13 Sqirrel joined, SamuraiJack joined
ChoHag The only mention of promise I see aroudn channels is in response to the channel being closed. 17:13
timotimo has, sadly, not used channels a lot yet 17:14
17:18 colomon left, zakharyas left 17:30 colomon joined 17:32 btyler left 17:33 rindolf joined 17:36 FROGGS joined
FROGGS o/ 17:36
yoleaux 11:34Z <lizmat> FROGGS: I'm starting to wonder whether %*CUSTOM_LIB should live in core at all
17:40 SamuraiJack left
sergot o/ 17:49
FROGGS .tell lizmat is there another way to get your hands on the CURL of 'home', 'site', 'vendor' or 'perl'? I mean, on a specific one? 17:51
yoleaux FROGGS: I'll pass your message to lizmat.
17:59 anaeem1 joined 18:03 anaeem1 left 18:23 dmol joined 18:29 colomon left 18:38 zakharyas joined, colomon joined
zengargoyle with the CompUnitRepo stuff, i was wondering if POD in a compiled module requires the module to load before something like p6doc or --doc could get at it. 18:38
and if plain .pod files were meant to live in the library-ish paths like they do in p5 18:39
18:40 mj41 joined, mj41 left
zengargoyle how would one get the POD out of a compiled module if they were missing a dependency required to load the module? 18:41
FROGGS rakudo's core modules do not use the CompUnitRepo 18:43
they use the original file/dir based module loader
zengargoyle the p6doc module broke when @*INC went from a Str to a CURL thingy 18:44
18:45 bcode joined
zengargoyle although it's p6doc is probably hackish ATM 18:46
FROGGS is it exploding here? github.com/perl6/doc/blob/master/bin/p6doc#L28 18:47
the it would just need to stringify first
at least it does not seem to load Perl6::Pod, which is an nqp-module 18:48
(and is about Pod parsing)
zengargoyle haven't looked recently, but i think that was the place. i remember looking and seeing that @*INC actually being an object instead of a string was a recent change. 18:50
18:50 colomon left
zengargoyle and looking at CURL and not finding a method to get a Str back 18:50
FROGGS it has a method Str 18:52
m: say CompUnitRepo::Local::File.^methods
camelia rakudo-moar 7f22e9: OUTPUT«install files candidates new BUILD Str gist perl <anon> <anon>␤»
zengargoyle it mignt now. :)
FROGGS it had from the beginning :o)
m: say @*INC[0].Str
camelia rakudo-moar 7f22e9: OUTPUT«/home/p6eval/rakudo-inst-2/languages/perl6/lib␤»
zengargoyle i seem to recall looking and the Str was on an array like thing, so you could get '/a/path /a/nother/path' from Str instead. 18:54
and would have to split and hassle with spaces in paths etc.
FROGGS ahh true 18:55
18:55 mj41 joined
FROGGS like since two weeks we only have one thingy per CURL 18:55
zengargoyle like one CURL object could handle multiple paths being primarily used for just passing a module and getting it loaded.
not for searching and returning locations..
ok. gotcha
still, POD in compiled modules would require loading the module yes? 18:56
i'm trying to grok how something like perldoc would work.
FROGGS when you put Pod (or comments) into a module, the parser needs its Pod module to parse it, that's all
Pod is available as objects also 18:57
zengargoyle but how would you load the module if you were missing a dependency
FROGGS look at S26:1 18:58
synopsebot Link: perlcabal.org/syn/S26.html#line_1
FROGGS I think you can ask a module to dump its Pod, but I'm not sure 18:59
ahh, p6doc extracts things from source files that look like Pod 19:00
hackish, aye :o)
zengargoyle i'm thinking you only have Term/ANSIColor.moarvm (and not Term/ANSIColor.pm). 19:01
the POD is in the .moarvm file yes.
but say Term/ANSIColor.moarvm needs Term.moarvm which you don't have.
FROGGS when you install stuff via panda you always install both the .pm and .moarvm 19:02
zengargoyle so you can't load ANSIColor to get to the POD.
yes, i'm being theoretical. :P
FROGGS so you have to scan the .pm for Pod like lines... like what p6doc does
yeah...
seems like the only (not very ideal) way 19:03
zengargoyle and just questioning if plain .pod files are supposed to go in languages/perl6/site/lib like places in the first place.
like perl5 does searching for .pod / .pm in the same places. 19:04
like if you module had Manual.pod Introduction.pod etc. type of doc 19:05
FROGGS the pod could be installed to a virtual /doc directory, because CompUnitRepo::Local::Installation will most likely do not store things plain on a filesystem 19:07
lizmat is back 19:10
yoleaux 17:51Z <FROGGS> lizmat: is there another way to get your hands on the CURL of 'home', 'site', 'vendor' or 'perl'? I mean, on a specific one?
lizmat FROGGS: the CURL of a specific directory is a sentinel: there is only one object for a given path 19:11
FROGGS lizmat: but how do you get the object for 'site'?
lizmat ah, ok, that way...
FROGGS like... so that you could move that to the beginning of @*INC, of to pick it as installation target
s/of/or/ 19:12
lizmat I guess for that you would need something like CUSTOM_LIB
hmmmm...
FROGGS yeah, otherwise you'd have to walk @*INC every time
m: say @*INC.grep( *.name eq 'home' ) 19:13
camelia rakudo-moar 7f22e9: OUTPUT«No such method 'name' for invocant of type 'CompUnitRepo::Local::File'␤ in whatevercode at /tmp/t8679mLY3i:1␤ in block at src/gen/m-CORE.setting:1611␤ in method reify at src/gen/m-CORE.setting:7731␤ in method reify at src/gen/m-CORE.setting:7…»
lizmat but should CUSTOM_LIB contain instantiated CURL objects ?
BTW, I was also thinking about providing a shortcut for 19:14
CompUnitRepo::Local::File:.
FROGGS instantiated objects?
well, that'd be -I. :o)
lizmat true 19:15
but more generic: for CompUnitRepo::Local::Installation
FROGGS that is more interesting
lizmat I'm thinking of a sort of protocol indicator, like with URLs:
http://
inst://. 19:16
FROGGS hmmm, not bad
lizmat file://. (use . as a CURL::File)
inst:://foo/bar (use foo/bar as a CURL::Installation)
FROGGS yeah, I like it 19:17
lizmat the "protocol" string would be returned by a method of the CURL class
19:17 darutoko left
FROGGS makes sense 19:18
lizmat multiple paths still divided by comma's
if no protocol seen, then same as before
initial protocol would be file://
19:22 skids joined
mj41 masak: github.com/perl6/ecosystem/pull/31 19:27
dalek osystem: af52a94 | (Michal Jurosz)++ | META.list:
Add SP6 to ecosystem
19:32
osystem: 9befabd | (Carl Mäsak)++ | META.list:
Merge pull request #31 from mj41/master

Add SP6 to ecosystem
masak mj41: merged.
moritz mj41: ... and now you have the permissions to push directly, next time :-) 19:35
19:43 anaeem1 joined 19:48 guru joined 19:49 guru is now known as Guest21426, Guest21426 is now known as ajr_
mj41 moritz: thx a lot and good nigth from Czech rep. 19:52
19:53 dwarring joined
dalek ast: ae9d90c | (David Warring [email@hidden.address] | / (2 files):
adding 2011 advent day 14
19:54
19:58 mj41 left
dalek ast: a871301 | (David Warring [email@hidden.address] | / (2 files):
completing 2011 advent day 14
20:16
kudo/nom: a1e330a | (Elizabeth Mattijsen)++ | t/spectest.data:
Add advent2011-day14 to the spectest
20:18
lizmat dwarring++
20:21 rindolf left
dalek ast: 7e36848 | (Elizabeth Mattijsen)++ | packages/Advent/MetaBoundaryAspect.pm:
DeTAB
20:22
20:30 Khisanth left 20:33 pochi joined
masak dwarring++ 20:35
timotimo aye, good work! 20:36
dwarring fun but useful 20:37
timotimo the best kind :) 20:38
20:38 molaf_ left 20:39 Khisanth joined 20:46 kaare_ left 20:47 zakharyas left
dalek ast: db4bad3 | Nami-Doc++ | integration/advent2011-day14.t:
Fix typo "inhertance"
20:50
lizmat vendethiel starting small :-) 20:51
vendethiel lizmat: he, I have other previous bigger commits (still small, but no typos)
lizmat hehe :-)
20:53 colomon joined, thou left 20:55 ajr_ left 21:06 spider-mario left, anaeem1 left, cognominal left 21:07 cognominal joined 21:09 colomon left, Rotwang left 21:11 Khisanth left 21:17 hoverboard joined 21:20 Khisanth joined 21:23 donaldh joined 21:30 colomon joined
pippo_ good night #perl6. 21:31
21:31 pippo_ left 21:40 kurahaupo joined 21:41 sftp_ joined, sftp_ is now known as sftp
lizmat FROGGS: I'm trying to grasp "add-curs" in src/core/Inc.pm 21:48
so you can specify: 21:49
FROGGS it parses colonpairs beside the classname 21:50
lizmat but after that, it's doing %options<name> after that
that seems wrong?
or are you just grepping :name<foo> ?
FROGGS :name<foo> would put it in %*CUSTOM_LIB<foo> 21:51
:name<foo>, :name(foo) and :name[foo] will be parsed by that regex 21:52
lizmat this is not specced anywhere yet, right?
FROGGS correct
lizmat as is :name(foo> btw :-)
FROGGS :o)
lizmat do you know if this is being used anywhere yet ?
FROGGS I'm not sure 21:53
perhaps in my panda dev branch
but it is unlikely
lizmat so you'll be the only one mad at me :-)
when I break it?
FROGGS I won't be mad 21:54
lizmat okidoki :-)
21:59 thou joined
dalek kudo/nom: f1b05d1 | (Elizabeth Mattijsen)++ | src/core/Inc.pm:
Lay out the INC path regex a bit
21:59
lizmat no breakage here yet :-) 22:00
22:03 ren1us joined, thou left 22:10 carlin left, colomon left
cognominal what make-cur stands for? 22:16
FROGGS comp unit repo
22:17 wingfold_ joined
cognominal ho 22:17
and add-curs?
comp unit repo s? 22:18
lizmat++ # doing so much work facing the user, complementing jnthn (and others) working on architecture/performance/low-level-stuff. 22:19
22:20 donaldh left, wingfold left 22:21 kurahaupo left
cognominal r: "a" ~~ / a { say $¢ } / 22:27
camelia rakudo-jvm a1e330: OUTPUT«(timeout)» 22:28
..rakudo-{parrot,moar} a1e330: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unsupported use of $¢ variable␤at /tmp/tmpfile:1␤------> "a" ~~ / a { say ⏏$¢ } /␤ expecting any of:␤ argument list␤ prefix or te…»
cognominal ho, the test about $¢ is skipped in rakudo 22:32
masak 'night, #perl6 22:33
FROGGS night masak
m: "a" ~~ / a { say $/.CURSOR } / 22:34
camelia rakudo-moar f1b05d: OUTPUT«Cursor.new()␤»
cognominal hardly useful either 22:35
timotimo m: "a" ~~ / a { say $/.CURSOR.DUMP } / 22:36
camelia rakudo-moar f1b05d: OUTPUT«Cursor<1>(:$!made(Any))␤»
22:36 colomon joined
FROGGS m: "a" ~~ / a { say $/.CURSOR.pos } / 22:37
camelia rakudo-moar f1b05d: OUTPUT«1␤»
FROGGS it is useful
m: "a" ~~ / { say $/.CURSOR.pos } a { say $/.CURSOR.pos } / 22:38
camelia rakudo-moar f1b05d: OUTPUT«0␤1␤»
cognominal m: "a" ~~ / a { say $/.CURSOR.dump } / 22:39
camelia rakudo-moar f1b05d: OUTPUT«No such method 'dump' for invocant of type 'Cursor'␤ in block at /tmp/5mBjsOG8jB:1␤␤»
cognominal ho, that's an unrelated dump. 22:42
timotimo aye, qast has method dump, too, i believe 22:43
22:47 xragnar left
cognominal every stage of the parse is supposed to have one. That's what makes --target=whatever work 22:47
but matching is not a stage of parsing, so I was utterly confused, as usual. 22:48
timotimo oh 22:49
22:49 xragnar joined
FROGGS .DUMP is something rakudo internal, .dump is implemented in nqp for stage printing, aye 22:50
cognominal .DUMP is not specified. I suppose that's why it is uppercase 22:51
FROGGS it is not specced, correct
it is some sort of rakudo developer friendly version of .gist 22:52
but now: gnight all
cognominal gnight
22:54 dmol left 22:56 hoverboard left 22:58 colomon left
timotimo DUMP can also do "recursive" structures 22:59
cognominal ok
timotimo i should probably get started on my talk ... 23:04
i'd like to collect some "day to day" tasks that you can nicely use rakudo for nowadays (and in the near future)
i've had rakudo internals directly in front of my face for too long, i'm missing the "big picture" 23:05
cognominal timotimo: gist.github.com/softmoth is a good example 23:09
I meant gist.github.com/softmoth/1fe9843610f0ea6062d1
timotimo, I wanted to do the same, showing basic perl6, but I wanted to do a state of Perl 6 before so I got no time for the basic part. 23:11
timotimo aye, since i gave a talk on perl6 last year, i'll give a quick "what's changed" overview 23:12
mostly "look, we got jvm, performance, multithreaded stuff, and async I/O now!"
23:13 thou joined
cognominal Once we will have a slang that do basic shell stuff like pipe and redirection, we wont even need a talk. 23:15
See : you can do what you do in a shell, even with the syntax of a shell. 23:16
...without the ugly control flow of the shell 23:17
23:19 colomon joined
timotimo ipython has something nice for that 23:24
cognominal I don't like to have to choose between cheese and dessert. Somme shellish stuff should be done right in Perl 6. 23:25
... with shellish syntax when it is a win. 23:26
23:26 Khisanth left
cognominal timitimo: sounds nice. yes, we need a iperl6, like python has a ipython. 23:27
timotimo well, that's not what i mean 23:29
the ipython protocol could - now that we have async stuff - properly be used by rakudo 23:30
but what i meant was things like "foobar = !ls"
cognominal ok, nice to know 23:31
23:33 BenGoldberg joined 23:37 dmol joined
timotimo cognominal: please suggest something i could do as example code for the cairo binding? 23:37
23:38 Khisanth joined
cognominal I don't know cairo :) 23:38
timotimo vector graphics drawing library
cognominal that's pure graphic, no events? 23:39
cairographics.org/ # ok, I see
I suppose rotating and flipping camelia would be nice. 23:40
timotimo that sounds like a lot of work
cairo integrates "well" with gtk, and we already have a gtk::simple binding 23:41
so that would be one of the logical next steps
i don't really know what i should use as a fallback to display cairos results; i'm not sure if i really want to build the gtk-cairo-bridge just yet 23:42
though it should be fairly easy
hmm.
23:43 daxim joined 23:49 thou left 23:53 dmol left