»ö« 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. |
|||
Mouq | m: say { :in{1+1}, :start{2+2} }.perl | 00:09 | |
camelia | rakudo-moar c19ae7: OUTPUT«{"in" => -> ($_? is parcel) { #`(Block|139784554724576) ... }, "start" => -> ($_? is parcel) { #`(Block|139784554725048) ... }}» | ||
Mouq | m: say { :in{1+1} :start{2+2} }.perl | ||
camelia | rakudo-moar c19ae7: OUTPUT«{"in" => -> ($_? is parcel) { #`(Block|140100960787408) ... }}» | ||
00:18
BenGoldberg joined
00:29
jnap joined
00:30
jnap left
00:42
thou joined
00:46
thou left
00:52
chenryn joined,
kweetal left
00:56
chenryn left
00:58
btyler joined
01:20
xenoterracide joined
01:23
mls left,
atroxaper joined
01:27
atroxaper left
01:32
mls joined
01:34
FROGGS_ joined
01:38
FROGGS left
01:41
klapperl joined
01:44
klapperl_ left,
bluescreen10 left,
bluescreen100 left
01:45
dylanwh left
01:53
chenryn joined
01:57
chenryn left
02:02
dylanwh joined,
BenGoldberg left
02:04
btyler left
02:10
noganex joined
02:13
rindolf left,
noganex_ left
02:30
thou joined
02:34
thou left
02:44
xenoterracide left
02:51
thou joined
02:53
chenryn joined
02:57
Akagi201 joined
03:07
_slade left
03:11
SevenWolf left
03:16
btyler joined
03:22
btyler left
03:24
chenryn left
03:28
thou left
03:58
thou joined
03:59
_Slade_ joined
04:04
kurahaupo left
04:15
araujo joined
04:22
chenryn joined
04:23
rindolf joined
|
|||
rindolf | Hi all. | 04:23 | |
04:50
chenryn left,
estrabd left
04:55
firnsy left
04:56
firnsy joined,
firnsy left,
firnsy joined
05:06
chenryn joined
05:12
kaare_ joined
05:18
chenryn left
05:21
chenryn joined
05:26
kaare__ joined,
SamuraiJack joined
05:27
kaare_ left
05:28
SamuraiJack_ joined
05:43
molaf joined
05:59
khisanth__ joined
06:01
khisanth_ left
06:09
atroxaper joined
06:18
chenryn left
06:22
chenryn joined
06:27
virtualsue joined
06:30
SamuraiJack left
06:33
chenryn left
06:35
SamuraiJack_ left
06:40
atroxaper_ joined,
atroxaper left
06:47
chenryn joined
06:49
virtualsue left
06:50
chenryn left
06:51
kweetal joined
06:59
breinbaa1 left
07:01
breinbaas joined
07:06
Rotwang joined
07:35
anaeem1 joined
07:40
darutoko joined
07:42
_Slade_ left
07:43
thou left
07:50
rindolf left
07:52
chenryn joined
07:57
chenryn left
|
|||
atroxaper_ | Hello, #perl6 ! | 07:58 | |
yoleaux didn't pass me message from Mouq :( | 07:59 | ||
.tell Mouq I merged your pull request and did some changes. Today I'm going to make a lists render. | 08:00 | ||
yoleaux | atroxaper_: I'll pass your message to Mouq. | ||
08:06
chenryn joined
08:08
anaeem1 left
|
|||
dalek | ast: 9618ad9 | (Elizabeth Mattijsen)++ | S02-types/deprecations.t: Make %h = {...} deprecation test pass on parrot |
08:15 | |
08:15
chenryn left
|
|||
dalek | kudo/nom: 4fd4639 | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm: Make deprecation message insensitive to hash order |
08:20 | |
lizmat | which should fix deprecation message tests on jvm | 08:21 | |
08:23
anaeem1_ joined
08:35
FROGGS_ left
08:36
araujo left
08:48
dmol joined
08:50
thou joined
08:55
thou left
08:58
SamuraiJack_ joined
|
|||
masak | good antenoon, #perl6 | 09:01 | |
09:01
chenryn joined
|
|||
atroxaper_ | masak: hello! | 09:03 | |
09:05
chenryn left
09:07
beastd joined
09:08
telex left
09:11
telex joined
09:16
anaeem1_ left
09:17
chenryn joined
09:18
anaeem1_ joined
|
|||
timotimo | ohai masak | 09:18 | |
09:22
anaeem1_ left
09:25
chenryn left,
chenryn joined
09:28
chenryn_ joined
09:29
Alula_ left,
Alula_ joined,
atroxaper_ left,
chenryn_ left
09:30
ThisTusooa left,
chenryn left,
atroxaper joined
|
|||
dalek | ast: b40d639 | (Elizabeth Mattijsen)++ | S22-package-format/local.t: Argh, fudging cannot handle trailing ; |
09:38 | |
ast: c4b7322 | (Elizabeth Mattijsen)++ | S22-package-format/local.t: Apparently we can't do signals on JVM either |
09:41 | ||
09:42
anaeem1 joined
09:43
vendethiel- joined,
vendethiel left
09:47
Psyche^ joined
09:48
Ven joined
09:51
Psyche^_ left
09:54
anaeem1 left
|
|||
masak dreams of a day when the fudger isn't text-based but based on the parse tree | 10:11 | ||
dalek | kudo/nom: c0eef70 | (Elizabeth Mattijsen)++ | src/core/CompUnit.pm: Make method names a bit more consistent |
10:20 | |
10:25
atroxaper left,
atroxaper joined
10:27
kurahaupo joined
|
|||
dalek | kudo/nom: 0c38be3 | (Elizabeth Mattijsen)++ | src/core/CompUnit.pm: Be at least internally consistent |
10:29 | |
10:32
kurahaupo left
10:33
ariden__ joined,
chenryn_ joined
|
|||
masak | oh, and the whole fudger is ~250 lines of Perl 5 :) that's gotta change, too. | 10:33 | |
timotimo | you reckon it'll only be 25 lines of perl6 when you're done refactoring? :) | 10:34 | |
masak | well, challenge accepted. | ||
probably more like 100 lines, though. | |||
vendethiel- watches over masak | |||
masak | I wonder what an easy way would be to show it's in feature parity. | 10:35 | |
vendethiel- didn't quite get that last sentence | |||
masak | probably simply to register all the fudged files and compare them. | ||
10:36
aoseki left
|
|||
masak | vendethiel-: if you replace a p5 fudger with a p6 fudger, you don't want them to differ in the output they produce. | 10:36 | |
lizmat | s/feature parity/same features/ | ||
10:36
atroxaper left
|
|||
vendethiel- | oh. I thought you mean p5 and p6 ¬¬ | 10:36 | |
vendethiel- was thinking of something akin to github.com/satyr/coco/wiki/additions | |||
10:37
atroxaper joined,
dmol left
10:38
cibs left,
thou joined
10:39
atroxaper left,
atroxaper joined
10:40
cibs joined
10:42
dylanwh left
10:43
ariden__ is now known as aoseki,
thou left
10:47
Ven left
10:52
cibs left
10:54
kurahaupo joined
10:58
cibs joined
|
|||
lizmat | fwiw, I think there is something fundamentally wrong in the way that we create pre-compiled versions of modules | 11:04 | |
11:04
dylanwh joined
|
|||
lizmat | Instead of a pre-compiled version of Foo.pm called Foo.moarvm | 11:04 | |
masak | ok? | ||
lizmat | it should be called Foo.pm.moarvm | 11:05 | |
this will preserve the original extension of the module in the filename | |||
masak | worksforme | ||
that suggestion, I mean. | |||
lizmat | ok | ||
I hope jnthn / moritz / tadzik / FROGGS will also agree | 11:06 | ||
11:06
Ven joined
|
|||
moritz | +1 | 11:06 | |
11:07
chenryn_ left
|
|||
lizmat | it should allow v5 and v6 modules with the same name (eg. Foo.pm and Foo.pm6) to co-exist in the same dir as pre-compiled files | 11:07 | |
11:08
chenryn_ joined
11:11
xinming_ joined
|
|||
dalek | kudo/nom: 1154641 | (Elizabeth Mattijsen)++ | src/core/CompUnit.pm: Make sure we have a Bool value |
11:14 | |
11:14
xinming left
11:21
chenryn_ left
|
|||
dalek | ast: ebc873e | (Elizabeth Mattijsen)++ | S22-package-format/local.t: Some more CURLF / CompUnit tests |
11:30 | |
11:35
Ven left
11:40
molaf_ joined
11:42
kaare__ left
11:43
Auzzi joined,
sue_ joined,
molaf left
11:44
Auzzi left
11:45
Ven joined,
anaeem1_ joined
|
|||
jnthn | I don't see people saying C compilers are fundementally wrong because they produce foo.o instead of foo.c.o :P | 11:47 | |
vendethiel- | can you use v5; inside of a c compiler ? | 11:49 | |
.oO( This would explain so much, yet so little ) |
11:50 | ||
lizmat | jnthn: well, true but in C, you only have .c | ||
in Perl 6, we already have .pm, .pm6 | |||
and .pl | |||
vendethiel- | (and .t, does those count ?) | ||
lizmat | no | 11:51 | |
because even if we would do a pre-compiled version of a test file | |||
it would not work because most likely we would have a different version of the executor running against it | 11:52 | ||
jnthn | It'd be odd to have a .pm6 and a .pm both intended for Perl 6... :) | ||
lizmat | I mean, if neither the test-file or the executor changed | ||
jnthn | Yes, pre-compiling tests sounds kinda useless :) | 11:53 | |
lizmat | $ ls lib/Test.pm | ||
lib/Test.pm | |||
jnthn | Yes, and there's not a Test.pm6 there too :) | ||
Anyway, I don't really object to it being Foo.pm.jar or Foo.pm.moarvm; if Rakudo's managing it then it can be called whatever we want it to anyway. | 11:54 | ||
Though inferring the .pm file name from the compiled output name feels a tad fragile. | |||
11:54
PotatoGim left
|
|||
jnthn | (If that was the plan, anyway.) | 11:55 | |
lizmat | well, yes, that was the plan | 11:57 | |
feels less fragile then having to guess complety, no ? | |||
*completely | |||
jnthn feared so, and wonders why the more robust suggestion he made a few days ago has been ignored. | |||
lizmat | then that must have slipped my mind... :-( | ||
jnthn | Or does that not make the filename available early enough? | 11:58 | |
lizmat | ah, you mean the $?FILES idea? | ||
jnthn | $?FILE, but yeah | ||
lizmat | well, two things: | ||
jnthn | The module loader gets back UNIT of the module | ||
lizmat | but that's just it: you would need to load the module | 11:59 | |
until you find out what the original filename was | |||
s/until/before | |||
jnthn | Well, this is all very XY | ||
I guess my real question is, why does the inference go in this direction... | |||
I'd thought the .pm/.pm6 files were primary, and pre-compiled things serve as a kind of "cached" compilation of the module... | 12:00 | ||
lizmat | but you would want to attempt to load the cached version first, right? | ||
jnthn | So if you're loading a .moarvm file you already know it's the file for a particular comp unit. | ||
lizmat | but that's just it: you currently cannot be sure | 12:01 | |
if you have a Foo.pm, a Foo.pm6 in the same dir | |||
one for v5, one for v6 | |||
then currently you can precomp only one of them | 12:02 | ||
jnthn | then you're probably crazy...but yes, you're right. :) | ||
lizmat | I'm just reminded of Murphy | ||
anything that *can* go wrong, will | |||
jnthn | Well, DIHWITD :) | ||
But yeah, no real objections to including the full module filename in the precomp name. | 12:03 | ||
lizmat | ok, then I'll try to get that working without breaking anything | 12:07 | |
BTW: $ ls lib/lib.pm6 | 12:10 | ||
lib/lib.pm6 | |||
so, 'use lib' refers to lib/lib.pm6, and 'use Test' refers to lib/Test.pm | 12:11 | ||
jnthn | aye :) | ||
lizmat | seems inconsistent to me... any reason for this ? | ||
jnthn | Well, I think we'll just have to live with people using both extensions. | ||
lizmat | agree, but do we need to be inconsistent in the core modules ? | ||
jnthn | Well, it lets us know pretty soon if we break one of the ways :D | 12:12 | |
lizmat | that's true | ||
:-) | |||
12:12
sue__ joined
|
|||
jnthn | I think the history of it is simply that Test.pm has been there longer than we have used .pm6 though. | 12:12 | |
12:12
SamuraiJack joined
|
|||
jnthn | So there's no deep reason or anything, afaik. Just history. | 12:12 | |
12:13
sue_ left
12:14
Ven left
12:18
anaeem1_ left
|
|||
vendethiel- | m: class A { method foo { say $.a } } | 12:22 | |
camelia | ( no output ) | ||
vendethiel- | m: class A { method foo { say $.a } }; A.new | ||
camelia | ( no output ) | ||
vendethiel- | m: class A { method foo { say $.foo } }; A.new.foo | 12:23 | |
camelia | rakudo-moar 0c38be: OUTPUT«(timeout)» | ||
jnthn | So recursion... | 12:24 | |
vendethiel- | much deep. | 12:25 | |
12:27
thou joined,
atroxaper left
12:28
atroxaper joined
12:31
thou left
12:35
itz_ joined
|
|||
lizmat | on recursion, probably: | 12:36 | |
gist.github.com/lizmat/3c4246c57f0a695c7d21 | |||
a simple syntax error (forgot ;) | |||
make settings compile go into oblivion | 12:37 | ||
12:37
itz__ left,
FROGGS joined
|
|||
lizmat | not sure if something should be done about it though, but could be helpful to know if your working on the settings | 12:37 | |
and all of a sudden, it doesn't complete compilation anymore | 12:38 | ||
now first: cycling& | 12:40 | ||
12:41
carlin joined
12:54
kaare__ joined
12:56
kaare__ is now known as kaare_
12:57
SamuraiJack left
13:00
sue__ left
13:01
Rix left
|
|||
ChoHag | Hah! The bug only shows up when the output is not tee'd into a log file. | 13:04 | |
13:12
colomon_ left,
ggoebel111118 left,
colomon_ joined,
ggoebel111118 joined
13:15
dmol joined
13:24
atroxaper left,
atroxaper_ joined,
pecastro_ joined
13:25
pecastro left
13:36
aoseki left
13:40
akaseki joined,
nys joined
14:00
carlin left
14:15
thou joined
14:19
zakharyas joined
14:20
thou left
14:29
guru joined,
PotatoGim joined
14:30
guru is now known as Guest92660,
Guest92660 is now known as ajr_
14:33
PotatoGim left
14:41
sue_ joined
14:47
isBEKaml joined
14:53
massimo joined
14:55
massimo left
14:56
chenryn_ joined
15:02
SamuraiJack_ left
15:03
SamuraiJack_ joined
15:07
SamuraiJack_ left
15:08
denis_boyun_ joined
15:13
sue_ is now known as virtualsue
15:16
denis_boyun___ joined
15:17
denis_boyun_ left
15:19
hoverboard joined
|
|||
dalek | kudo-star-daily: e35ef30 | coke++ | log/ (13 files): today (automated commit) |
15:20 | |
rl6-roast-data: ec1e3b8 | coke++ | / (4 files): today (automated commit) |
|||
[Coke] | (fudger based on the parse tree. wouldn't that raise the bar too high for new implementations?) | 15:21 | |
15:31
carlin joined
15:35
chenryn_ left
15:43
nbrown joined
15:44
beastd left
15:47
Akagi201 left
15:50
nbrown left
15:51
nbrown joined
15:58
MilkmanDan left
15:59
MilkmanDan joined
16:00
atroxaper_ left,
atroxaper joined
16:03
thou joined
16:04
khisanth__ left,
denis_boyun___ left,
khisanth__ joined,
khisanth__ is now known as Khisanth
16:05
denis_boyun joined
16:07
isBEKaml left
16:08
thou left
|
|||
psch wonders how useful loading classfiles from $CLASSPATH actually is for j-rakudo | 16:09 | ||
i've hacked it into BootJavaInterop to load those, i.e. 'CLASSPATH=. perl6-j -e"use A:from<java> ..."' where A.class is in . works | 16:10 | ||
previously it only worked with appending . to -Xbootclasspath, iirc | |||
but then, things usually come jar'd anyway, don't they. i haven't actually tested how that works at the moment, but istr that vendethiel-++ had some fun with a friend with that | 16:11 | ||
gist.github.com/peschwa/0158083bc4e5613a6390 # this is the patch, for reference | |||
vendethiel- | psch: yeah, though I think he stopped to basic stuff like io / stringbuffers, etc | ||
(and it really wasn't pretty :P) | 16:12 | ||
16:12
vendethiel- is now known as vendethiel
|
|||
psch | vendethiel-: did you get beyond loading anything that's not loaded by the java bootclassloader? i.e. stuff that's not in the jre | 16:12 | |
vendethiel | psch: no clue, I'd need to ask him. But I don't think so. | ||
I really just skimmed over what p6 brings to the table and we hacked for like 1h, so no dwelving deeper | 16:13 | ||
vendethiel spent again 3 hours today explaining P6 with his game of life as an example | |||
psch | right, thanks for the info :) | ||
the bigger blocker for neat jvminterop is definitely getting pretty signatures for resolving overloaded methods | 16:14 | ||
in any case, with my patch one *could* write java classes that don't utilize overloading and use those from perl6 | |||
and it'd be all clean | |||
but the use still seems limited to me, tbh :) | 16:15 | ||
s/use/usefulness/ | |||
16:15
denis_boyun left
|
|||
psch | because java without any overloading that you probably wrote yourself could just be ported... :D | 16:15 | |
vendethiel | psch: the usefulness of ? writing P6 class from jvm ? | ||
well, but then, there's a reason we write p6 and not java code ;-) | 16:16 | ||
he (my friend) was especially interested in grammars, that could make some of his code at least 10 times simpler ... | |||
psch | vendethiel: right, i better tosh the patch - it'd just encourage java people *not* to rewrite everything in perl6 ;) | 16:17 | |
vendethiel | psch: why not ? | ||
psch | vendethiel: because it's a bit of an improvement for interop, i.e. using the existing java code | 16:18 | |
it was a bit of a silly joke | |||
no one likes rewriting stuff just because | |||
vendethiel | I disagree, we do that all the time ;-) | ||
psch | oh, okay. shows what i know :) | 16:19 | |
vendethiel | .oO( I'm okay with them rewriting anything, so long they don't bring those stinky' factories along :P ) |
16:21 | |
psch | vendethiel: bash.org/?946461 # you reminded me of this :) | 16:31 | |
vendethiel | if only it were just a joke ... :( | 16:32 | |
16:32
_Slade_ joined
|
|||
psch | i've only spend about a year actually working with java, in a rather small shop. over-abstraction didn't really happen there. | 16:33 | |
vendethiel | well, factories were only created because of the lack of lambdas. | 16:35 | |
(java's finally catching up with this kind of stuff, after c++ even ...) | 16:36 | ||
16:36
virtualsue left,
raiph joined
16:38
sue_ joined
16:39
sue_ is now known as virtualsue
|
|||
psch | what i still want to get into jarakudo is patching -I and PERL6LIB into the classpath | 16:40 | |
but afaiu that means delegating *all* classloading to a custom classloader | |||
as in, the patch above just enables CLASSPATH for perl6-j, but -I and PERL6LIB don't get searched for classfiles | 16:41 | ||
16:41
atroxaper left
|
|||
psch | which is obviously not intuitive at all. on the other hand it's also a bit arcane. | 16:41 | |
16:42
atroxaper joined
|
|||
psch | (i also have no idea in how far lizmat+ | 16:42 | |
(i also have no idea in how far lizmat++'s work on compunits might do things differently there) | |||
(...but if i'm not completely dumb compunits don't play a role in loading :from<java> :) | 16:44 | ||
16:46
virtualsue left,
atroxaper left
|
|||
lizmat is backlogging | 16:48 | ||
16:49
virtualsue joined,
grondilu joined
|
|||
grondilu | off topic: antares launch in 3 minutes: spaceflightnow.com/antares/orb2/status.html | 16:49 | |
16:53
virtualsue left
|
|||
lizmat | psch: actually, I'm thinking about creating an API in which class loading can be plugged | 16:59 | |
16:59
nbrown left
17:01
virtualsue joined
|
|||
psch | lizmat: 'class' here is the p6-construct? | 17:01 | |
17:04
kweetal left
|
|||
psch | i'm not sure i'm well-versed enough in the abstract concepts - i just stumbled upon something i thought should work and made it work as i thought it should | 17:06 | |
17:08
hoverboard left
|
|||
lizmat | the problem with all of this, is that in the Perl world, loading a module is really loading a piece of code that hopefully contains that module | 17:12 | |
psch | in any case i do recognize my patch as band-aid-y - as mentioned, using -I or PERL6LIB instead of CLASSPATH is probably neccessary | ||
lizmat | and that currently all of the module loading code lives in nqp or below that | 17:13 | |
17:13
ponbiki left
|
|||
lizmat | I'm trying to get this to Perl 6 land as much as possible, so that a pluggable Perl6 API becomes more feasible | 17:14 | |
17:15
lichtkind joined
17:16
xenoterracide joined
|
|||
psch | lizmat: how does this apply to loading java classfiles? should a perl6-m on encountering a use ..:from<java>; check for perl6-j? | 17:16 | |
17:19
nbrown joined
17:20
nbrown left
17:24
ponbiki joined
|
|||
lizmat | a perl6-m should probably die on seeing a use ...:from<Java> | 17:27 | |
17:28
nbrown joined,
thou joined
|
|||
timotimo | ideally, it'd work :P | 17:29 | |
psch | in turn that means that a perl6-j encountering a use ...:from<java> checks if it has a .jar and .class capable loader plugged, which goes into Java land to load the class as java and then builds a FFI or somesuch onto the loaded class, right? | ||
17:31
nbrown left
|
|||
timotimo | the FFI stuff already exists | 17:31 | |
17:32
nbrown joined
|
|||
timotimo | it introspects the class you've pulled in and generates java code that knows how the call convention of rakudo/nqp works and calls the appropriate method on the passed instance | 17:32 | |
17:33
xenoterracide left
|
|||
timotimo | currently it is only able to figure out the right candidate to call on an "overrided" method if the method is the only one with the given number of arguments | 17:34 | |
at least last time i touched the code it was like that | |||
you can find that stuff in the nqp repo somewhere under vm/jvm/.../runtime/...very_long_path.../ | |||
psch | timotimo: right, i did see the existing FFI stuff, or rather played with it a bit | 17:37 | |
that's where i actually came across the need of not wanting to add '.' to the -Xbootclasspath option for perl6-j | |||
17:39
zakharyas left
|
|||
lizmat is a complete jvm noob | 17:41 | ||
timotimo | lizmat: i was a complete jvm-internals noob before i did that :) | 17:43 | |
17:43
virtualsue left
17:44
virtualsue joined
17:48
virtualsue left,
ajr_ left
17:49
nbrown_ joined
|
|||
psch | i think that's a distinction to make here though: does pluggable class loading handle loading native code for the corresponding backend? i.e. the java example i already gave, potential PIR code on parrot and non-perl6 moar bytecode? | 17:51 | |
17:51
nbrown left
17:52
nbrown_ is now known as nbrown
|
|||
psch | i don't know if that's been thought of or really seems reasonable, but i think it's worth mentioning... :) | 17:53 | |
i do actually agree, to an extend, with timotimo's "ideally it would work" with the added caveat "provided perl6-j is available" | |||
timotimo | oh | ||
why have a perl6-j, why not just bundle our own sleeker jvm, like Avian? | |||
:P | |||
psch | i think you just dropped that ball in your court :) | 17:54 | |
if only because i'm also quite a jvm noob | 17:55 | ||
18:01
carlin left,
Isp-sec joined
18:08
virtualsue joined
18:13
atroxaper joined
18:18
atroxaper left
18:19
Alula_ left
18:20
Alula_ joined
18:26
nbrown left
18:36
zakharyas joined
18:43
Ven joined
|
|||
dalek | kudo/nom: b25b868 | (Tobias Leich)++ | src/Perl6/World.nqp: add nqplist helper hllsym for use in slangs |
18:51 | |
18:56
nbrown joined
18:58
kurahaupo left
|
|||
Ven | m: role WithValue { method !m { say $.a } }; class B does WithValue { has $.a = 5; method f { self!m } }; say B.new.f; | 19:02 | |
camelia | rakudo-moar 115464: OUTPUT«5True» | ||
Ven | so, a class can access the private methods of a role | 19:03 | |
m: role WithValue { has $!a = 5; }; class B does WithValue { method f { $!a } }; say B.new.f; | |||
camelia | rakudo-moar 115464: OUTPUT«5» | ||
19:03
anaeem1 joined
|
|||
Ven | and the fields too. But the inverse is untrue (a role can't accede private stuff from a class) | 19:03 | |
19:05
nbrown left
|
|||
Ven | Well, it's really hard to explain textually. I'm afraid this learnXinY will actually contain so much, anybody trying to understand it will have to re-read it a few times ... | 19:09 | |
Well, I guess I'll go with that for now, and change it to be slower-paced down the road, when it's more advanced | |||
19:16
darutoko left
|
|||
cognominal | FROGGS, I am very excited about your patches about slangs but I don't see the general picutres to make use of slangs. | 19:18 | |
masak | Ven: one way to view that is, by the time the class is declared, it "knows" about the role and all its components. but the reverse isn't true -- a role, as it is being defined, doesn't "know" about the class(es) it gets mixed into, and so cannot refer to their private things. | ||
Ven: that reasoning works, though it's slightly specious because it reminds me of class inheritance. | |||
Ven | masak: don't get me wrong -- I understand *why* (and am grateful for that ;).), it just makes a tiny bit harder still to explain | 19:19 | |
When I try and read stuff, I just feel like there's so much crammed in it .. | |||
masak | a rationale/explanation was what I was aiming to provide above. | 19:20 | |
FROGGS | cognominal: DSL is all I'm saying :o) | 19:22 | |
Ven | masak: yeah, I have something like that too, but then again ... It feels like a big chunk of explanations | ||
p6 is really complex a language. | |||
cognominal | FROGGS: I suppose there is code that motivates these patches. | 19:23 | |
FROGGS | cognominal: v5, yes | ||
cognominal | ho, thx. | ||
FROGGS++ | 19:24 | ||
awwaiid | Ven: one thing that I've found is that p6 tends to be a superset of other things. So if you just focus on, say, the bits that are similar to Ruby, then you can progress pretty quickly. | 19:25 | |
It is just easy to get distracted by the SuperStuff | 19:26 | ||
Ven | yeah, but I can't assume knowledge from other languages. | ||
For me, I did indeed relate to previous knowledge, but I can't "project" that onto my readers | 19:27 | ||
awwaiid | Maybe you can assume the same progression as other languages. So like stealing the structure of a tutorial in one of the other dynamic languages | ||
19:27
lichtkind_ joined
|
|||
awwaiid | but I missed it -- what are you up to? | 19:28 | |
19:30
lichtkind left
|
|||
Ven | awwaiid: a perl 6 "learnxinyminutes" | 19:42 | |
19:42
SamuraiJack_ joined
19:43
kivutar joined
|
|||
Ven | I have the operators down, the semantics basics, and I'm making good progress on classes. | 19:43 | |
It's just that p6 is complex (to be easy) | |||
m: sub foo(Int $ where * > 10) { True }; sub a { foo(5) }; | 19:56 | ||
camelia | ( no output ) | ||
Ven checks if infix:<*> is pure | 19:57 | ||
no, it's not. Any reason it's not ? I have a feeling we could check a lot more stuff at compile-time with pure markers | |||
(ie, if we know the where only has pure calls, we can actually just check at compile time) | 19:58 | ||
20:01
pmurias_ joined,
pmurias joined
20:02
pmurias_ left,
nbrown joined
|
|||
pmurias | is 'is pure' specced? | 20:03 | |
20:06
nbrown left,
cognominal left
|
|||
Ven | is there a difference between anon sub {} and -> {} ? | 20:11 | |
20:11
cognominal joined
|
|||
jnthn | return | 20:12 | |
20:14
atroxaper joined
|
|||
moritz | sub returns a Routine, which is a return() boundary | 20:15 | |
awwaiid | innnteresting | 20:16 | |
hm! that's very intersting. and subtle | 20:18 | ||
Mouq | which means that you can have closures from which you can return out of the outer function | ||
yoleaux | 08:00Z <atroxaper_> Mouq: I merged your pull request and did some changes. Today I'm going to make a lists render. | ||
timotimo | it's a very useful distinction, and easy to remember if you think of sub filter(@bar) { for @bar -> $foo { return $foo if m/hello/ } } | ||
20:19
atroxaper left
|
|||
timotimo | in this case you don't want the return inside the for loop to simply skip to the next iteration - in this case you want "next" instead | 20:19 | |
Ven | uh, that's the diff between -> {} and {}, isn't it ? | ||
timotimo | huh? | ||
Ven | m: sub t(@a){map(-> { return True if $_ }, @a)}; t((1, 2, 3)); | 20:20 | |
camelia | rakudo-moar b25b86: OUTPUT«Unhandled exception: Too many positional parameters passed; got 1 but expected 0 at /tmp/uD_2gT1o6M:1 (<ephemeral file>::0) from src/gen/m-CORE.setting:7736 (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm::631) from src…» | ||
20:20
SamuraiJack_ left
|
|||
timotimo | m: say &map.signature.perl | 20:20 | |
camelia | rakudo-moar b25b86: OUTPUT«:(Any |)» | ||
timotimo | heh. helpful | ||
Ven | ._. | ||
awwaiid | m: sub f { my $x = -> { return 5; } ; $x() ; 10 } ;sub g { my $x = sub { return 5; } ; $x() ; 10 } ; say "f=&f() g=&g()" | ||
camelia | rakudo-moar b25b86: OUTPUT«f=5 g=10» | ||
Ven | this segfaults on my REPL .... | 20:21 | |
so, what's the difference between -> {} and {} then ? "just" for arguments ? | |||
I guess I got it confused with ruby's distinction between {} and ->{} | |||
Mouq doesn't understand the ruby closure syntax, but he hasn't looked much into it | 20:23 | ||
Ven | nobody understands it, we're just faking along at that point. | ||
Plus, it changes between 1.9 and 2.0, iirc | |||
timotimo | -> ... { } and { } are the same, except the second may be interpreted as a hash if it has the "right" (or "wrong") syntax/content | ||
Ven updates his tutorial accordingly | 20:24 | ||
Ven added a bunch of stuff | 20:28 | ||
multi methods, "done", classes, kinda done. | 20:29 | ||
vendethiel | (thanks for your quick answer ! It'd have been pretty bad to fix later on) | 20:33 | |
timotimo | oh no | 20:34 | |
thank you | |||
tutorial work is quite valuable in perl6's current economy | |||
20:36
thou left
|
|||
Ven | (proof-reading *very* welcome, at least on the structure for nwo) | 20:37 | |
20:40
virtualsue_ joined,
virtualsue left,
silug left,
virtualsue_ is now known as virtualsue
20:42
nbrown joined
20:46
xenoterracide joined,
nbrown left
20:51
silug joined
20:56
silug left,
silug joined
20:58
kaare_ left
|
|||
masak | 'night, #perl6 | 21:00 | |
21:01
silug left
21:05
anaeem1 left
21:09
psch left
21:12
silug joined
21:15
nbrown joined
21:17
silug left,
silug joined
21:27
vendethiel left
21:30
vendethiel joined,
vendethiel left
21:34
vendethiel joined
21:40
zakharyas left,
nbrown left
21:41
nbrown joined
21:50
raiph left
21:53
gfldex left
21:54
Isp-sec left
21:55
hoverboard joined
21:56
SevenWolf joined
22:02
kweetal joined,
nbrown left
22:08
nbrown joined
22:09
araujo joined,
araujo left,
araujo joined
22:17
thou joined
22:18
Rotwang left,
silug left
22:21
thou left
22:23
BenGoldberg joined
22:26
silug joined
22:29
thou joined
22:30
Ven left
22:35
virtualsue_ joined
22:36
virtualsue left,
virtualsue_ is now known as virtualsue
22:37
nbrown left
22:40
virtualsue left,
virtualsue joined,
nbrown joined
22:45
virtualsue left
22:46
hoverboard left
22:56
dmol left,
virtualsue joined,
kivutar left
|
|||
dalek | ast: 91cf966 | coke++ | S02-names-vars/variables-and-packages.t: Fix scoping on sub. jnthn++ |
23:05 | |
rl6-bench: 20f39e2 | (Geoffrey Broadwell)++ | analyze: Stub in summarize_results_html_history |
23:08 | ||
rl6-bench: 084db6c | (Geoffrey Broadwell)++ | microbenchmarks.pl: Add 'bind' tag to two microbenchmarks |
|||
rl6-bench: 0e5a1cf | (Geoffrey Broadwell)++ | / (3 files): Two refactors: move summary common code; stop overusing 'perl' Move much of the common setup done by all (non-JSON) summarizers out to a separate module, and just use it from the various summary routines. Also stop overusing 'perl' where I really mean 'compiler'. Not only is it confusing now, it will get much worse if I ever add non-Perl-family languages to the compiler suite. |
|||
rl6-bench: 0663943 | (Geoffrey Broadwell)++ | components.json: Merge branch 'master' of github.com/japhb/perl6-bench |
|||
23:14
molaf_ left
23:19
SevenWolf left
|
|||
colomon_ | japhb++ | 23:20 | |
yoleaux | 11 Jul 2014 20:24Z <[Coke]> colomon_: github.com/sorear/niecza/issues/191 | ||
23:30
raiph joined
23:34
skids joined
23:39
lichtkind_ left
23:47
virtualsue left
|
|||
dalek | ast: 88239a0 | coke++ | S06-routine-modifiers/lvalue-subroutines.t: unfudge passing tests |
23:49 | |
23:51
xragnar left
23:53
xragnar joined
|
|||
[Coke] | we are not running any of the S01-perl5-integration tests, but there are fudge directives in them: thoughts on keeping versus removing the fudge? | 23:54 | |
I will just ignore them for now. | 23:59 |