»ö« 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/tmpfileUnsupported use of $¢ variableat /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«01» | ||
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
|