»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31 Set by jnthn on 28 February 2015. |
|||
sjn | cool | 00:00 | |
sjn wanted to take a look at the Dockerfile, really | |||
00:00
hobbs joined
|
|||
sjn | are they using the same as github.com/perl6/docker/blob/master/Dockerfile ? | 00:01 | |
hoelzro | sjn: yes | 00:20 | |
sjn | ok, cool | 00:22 | |
hoelzro: had a talk with tadzik today about deployment and stuff | 00:23 | ||
ab5tract | m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say <thunkadunk thunder thrunk>.map: % *; # instant fun when moving from '%' to '$ | ||
camelia | rakudo-moar 416276: OUTPUT«True False False» | ||
sjn | hoelzro: we found a couple of interesting problems with the current scheme | 00:24 | |
and I'm wondering if it'll translate to the docker image creation things too | |||
ab5tract | Perl 6 is a pretty amazing thing. I wish everyone a fantastic *. | 00:25 | |
m: sub prefix:<z> (|c) { ~c xx 3 }; z "zZz"; | 00:27 | ||
camelia | ( no output ) | ||
hoelzro | sjn: oh? do tell! | ||
ab5tract | m: sub prefix:<z> (|c) { ~c xx 3 }; say z "zZz"; | ||
camelia | rakudo-moar 416276: OUTPUT«zZz zZz zZz» | ||
hoelzro | or was it here in #perl6? if so, I can backlog | 00:28 | |
00:35
noganex joined
|
|||
timotimo | m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say %<<<thunkadunk thunder thrunk>; | 00:38 | |
camelia | rakudo-moar 416276: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3eZpUG5cvuUnable to parse quote-words subscript; couldn't find right double-angle quoteat /tmp/3eZpUG5cvu:1------> 3/ }; say %<<<thunkadunk thunder thrunk>;7⏏5<EOL> expecting any of: …» | ||
timotimo | m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say [%]<<<thunkadunk thunder thrunk>; | ||
camelia | rakudo-moar 416276: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bts46uFdfWUnable to parse quote-words subscript; couldn't find right double-angle quoteat /tmp/bts46uFdfW:1------> 3}; say [%]<<<thunkadunk thunder thrunk>;7⏏5<EOL> expecting any of: …» | ||
timotimo | m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say [%]«<thunkadunk thunder thrunk>; | ||
camelia | rakudo-moar 416276: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0gEyzVjUvZUnable to parse quote-words subscript; couldn't find right double-angle quoteat /tmp/0gEyzVjUvZ:1------> 3 }; say [%]«<thunkadunk thunder thrunk>;7⏏5<EOL> expecting any of: …» | ||
timotimo | m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say %«<thunkadunk thunder thrunk>; | ||
sjn | hoelzro: nah, skype | ||
camelia | rakudo-moar 416276: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SGhuh3EGPYUnable to parse quote-words subscript; couldn't find right double-angle quoteat /tmp/SGhuh3EGPY:1------> 3k/ }; say %«<thunkadunk thunder thrunk>;7⏏5<EOL> expecting any of: …» | ||
timotimo | :( | ||
m: sub prefix:<%> ($s) { return so $s ~~ /thunk/ }; say %('thunkadunk' 'thunder' 'thrunk'); | 00:39 | ||
camelia | rakudo-moar 416276: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bzYV47E2whTwo terms in a rowat /tmp/bzYV47E2wh:1------> 3n so $s ~~ /thunk/ }; say %('thunkadunk'7⏏5 'thunder' 'thrunk'); expecting any of: infix infix stopper …» | ||
sjn | hoelzro: basically, when installing into the CompUnit scheme, we're making it difficulty for file-based packaging systems like rpm & deb &c. | ||
00:40
jack_rabbit joined
|
|||
timotimo | unless there's a CompUnitRepo::blah class that's tailored to file-access | 00:40 | |
hoelzro | sjn: I don't know if that'll be a problem for Docker, but sounds like OS packaging will suffer | 00:41 | |
is it because paths are hardcoded into the comp units or something? | |||
sjn | hoelzro: well, if I've understood how docker works, each image is basically a filesystem layered "on top" of the previous base image's file system. (that was clumsily said, I know) | 00:42 | |
now, if you recreate the rakudo docker image from scratch, maybe that's not so bad, but if someone intends to add modules on top of the rakudo image, I'm wondering if some funky stuff can start happening | 00:44 | ||
hoelzro | sjn: kinda sorta, yeah | ||
oh, I see now | |||
that's an eventual goal I have for the images, but I think I'll wait for S22 and co to stabilize before I worry about it too much =) | 00:45 | ||
sjn | I'm partly thinking about the numbering scheme for the files in the CompUnit, and partly the manifest file contents, which might come out of sync with the other files | ||
hoelzro | docker images might be a good way for folks to deploy perl6 apps without realizing it | ||
and that's how we'll get 'em >:) | |||
hoelzro knows near-nothing about how the compunit stuff works =/ | 00:46 | ||
sjn | nah, if we're gonna "get" them, we also need the other packaging systems :) | ||
sjn is pretty new to it too | |||
hoelzro | docker images are just the gateway drug =P | 00:47 | |
sjn | hoelzro: here's something you can try. make a docker image of the previous release of rakudo *, and then install some modules on top of it, using docker (creating an updated image), then see what happens wheb you upgrade the rakudo star image to a newer version | 00:48 | |
hoelzro | oh, you can't do that | 00:49 | |
sjn | the filesystem diffs should be interesting to see & record | ||
hoelzro | think of it like git commits | ||
the rakudo star image is a commit (let's say A), and the image after installing a few modules has A as its "parent" | |||
sjn | well, then apply the new rakudo star image on top of the old "in use" one? | ||
hoelzro | I don't think you can manipulate the layers with that level of control | 00:50 | |
sjn guesses this will fuck around with the manifest file | |||
hoelzro | the idea is that only the filesystem contents that differ are in the new image | ||
sjn | s/f.* around/break/ | 00:51 | |
hoelzro | so a new manifest file, plus additional installed modules, would be in the topmost layer | ||
sjn | but are the contents tracked on a per-file level, per-line, or per-byte level? | ||
or per-block? | |||
hoelzro | I want to say "per file", but I think that loses accuracy | 00:52 | |
let's say you have the root directory | |||
and it's got 3 files in it: foo bar baz | |||
if you add a new file, quux | |||
and change baz | |||
sjn | how would you upgrade rakudo star? throw away the old stuff, and re-apply the new modification images (with the "current" in-use modules) on top of the new rakudo-star image? | 00:53 | |
hoelzro | when you list that directory in the child image, it'll refer to the parent's foo and bar, bu the child's baz and quux | ||
sjn | right, per-file | ||
that's where the manifest might break then | |||
unless you reapply every change on top of the new base every time you want to upgrade the base | 00:54 | ||
which kinda defeats the purpose of a scheme like this, methinks :-P | |||
hoelzro | what'd you do, if you want to update star, is build a whole new image | 00:55 | |
sjn | although it could be that I'm expecting too much from docker :-P | 00:56 | |
(kinda sucks that you have to install *everything* every time you update the base image | 00:58 | ||
) | |||
but, I can imagine scenarios where docker still is useful :) | |||
01:00
tinyblak joined
01:02
tinyblak_ joined,
kurahaupo1 left
01:06
tinyblak left
|
|||
sjn | hoelzro: anyhoo, I could be wrong and worrying about nothing :) | 01:06 | |
although this may very well be a problem with other packaging systems :-( | 01:07 | ||
(maybe it's possible to work around these problems by making sure the packages don't contain the manifest file itself, and instead generate/update it post-install) | 01:09 | ||
still very cludgy | 01:10 | ||
sjn isn't a fan of post-install scripts | |||
and equivalents | |||
hoelzro | ah, interesting idea | ||
that could work for now | |||
sjn also suggested moving away from the numbered-file storage to instead use a sha-1 digest as filename | 01:11 | ||
timotimo | always very changable, of course | 01:17 | |
shouldn't you already be able to just move files around and change the manifest listing? | 01:19 | ||
to try out how well it works? | |||
sjn got the impression that moving around compunit files isn't trivial | 01:20 | ||
(or are we talking about something different here?) | |||
try out what? | |||
timotimo | hold on, i'll probably have to look myself ... | 01:22 | |
yeah, the files are referenced by a "file":... in the MANIFEST json file | 01:24 | ||
if you change the path in that MANIFEST file and also mv the file on the file system | |||
shouldn't that work? | |||
sjn | probably | 01:25 | |
timotimo | shall i write a little script to do it or something? | 01:33 | |
Zoffix | Do it! Do it! :D D | ||
oops | |||
timotimo | hmm | 01:34 | |
01:34
gtodd left
|
|||
timotimo | CompUnitRepo::Local::Installation.new('/home/timo/perl6/moarvm/../install/share/perl6/site') | 01:35 | |
this is the one i have to look out for, right? | |||
(also, these moarvm/../ pieces show up all over the damn place :S | 01:36 | ||
actually ... now i'll play a bit of Distance | 01:37 | ||
01:40
gfldex left
01:51
jack_rabbit left,
eli-se left
02:14
noganex_ joined
02:17
noganex left
|
|||
jdv79 | is panda unhappy recently? | 02:26 | |
"resolve stage failed for Term::ANSIColor: Dependency nqp is not present in the module ecosystem" | |||
Zoffix | Installs fine for me: fpaste.scsys.co.uk/471174 | 02:29 | |
Installed panda today or last night.. | |||
jdv79 | i was y'day | 02:30 | |
i'll try rebuilding | |||
02:32
mr-foobar joined
|
|||
jdv79 | yeah. all better. | 02:37 | |
Zoffix | \o/ | 02:38 | |
jdv79 | m: say .Str for "123"~~m:g/<$("2|3")>/; # why matching 1 there? | 02:50 | |
camelia | rakudo-moar 416276: OUTPUT«123» | ||
skids | m: say .Str for "123"~~m:g/<$("[2|3]")>/; # workaround, don't know why. | 03:01 | |
camelia | rakudo-moar 416276: OUTPUT«23» | ||
jdv79 | hmm. nice. | 03:02 | |
skids | say .Str for "1234"~~m:g/<$("2|4")>/; # the second number seems to be taken as a length | ||
m: say .Str for "1234"~~m:g/<$("2|4")>/; # the second number seems to be taken as a length | |||
camelia | rakudo-moar 416276: OUTPUT«1234» | ||
skids | m: say .Str for "1234"~~m:g/<$("2|3")>/; | 03:03 | |
camelia | rakudo-moar 416276: OUTPUT«123» | ||
skids | m: say .Str for "1234"~~m:g/<$("3|4")>/; | ||
camelia | rakudo-moar 416276: OUTPUT«1234» | ||
jdv79 | insanity but i pass another test so circle back later i guess - thanks! | 03:05 | |
Zoffix | It seems more to be a "from-to" type of thing, instead of length: | ||
m: say .Str for "abcd1ef2g"~~m:g/<$("1|2")>/; | |||
camelia | rakudo-moar 416276: OUTPUT«abcd1ef2» | ||
jdv79 | from-to? | ||
m: say .Str for "abc"~~m:g/<$("b|c")>/; | |||
camelia | rakudo-moar 416276: OUTPUT«abc» | ||
Zoffix | so it matched all until it found "b" and then continued matching until it found "c" | 03:06 | |
m: say .Str for "bca"~~m:g/<$("b|c")>/; | |||
camelia | rakudo-moar 416276: OUTPUT«bc» | ||
Zoffix | *shrug* | ||
Where did you find that syntax? | |||
jdv79 | i guessed it - sorry | ||
Zoffix | the $(...) bit | ||
jdv79 | it works the same, it seems if you just have <$var> | 03:07 | |
Zoffix | Ah :) I'm looking at doc.perl6.org/language/regexes and not seeing anything resembiling it | ||
Ah | |||
jdv79 | golfing | ||
maybe too hard | |||
m: say .Str for "abc"~~m:g/b|c/; # so its something with the interpolation?... | 03:08 | ||
camelia | rakudo-moar 416276: OUTPUT«bc» | ||
skids | Interpolation into regexes has like 5 open bugs. | 03:09 | |
jdv79 | that makes sense then:) | ||
03:12
Sqirrel left
|
|||
skids | RT#121024 | 03:14 | |
.botsnack | |||
yoleaux | :D | ||
jdv79 | did someone change .perl on Hashes to use colonpairs? | ||
skids | botsnack | ||
jdv79 | is that what :k("v") is called? | ||
makes trying to read big structures even more fun to try to read | 03:15 | ||
skids | yes apparently so. | 03:17 | |
r: my %x = ( "a", 3, "s", 4, 5, 5 ); %x.perl.say # they got nonidentifier keys right | 03:18 | ||
camelia | rakudo-moar 416276: OUTPUT«{"5" => 5, :a(3), :s(4)}<>» | ||
jdv79 | also, why does rt.perl6.org resolve the the synopsis index? | ||
hmm | |||
skids | (and yes "colonpairs") | ||
jdv79 | s/the/to/ | ||
skids | any undefined host in .perl6.org resolves there. | 03:19 | |
jdv79 | neat. i guess now there's another reason why a dumper could be helpful. | ||
oh | |||
skids | I think a dumper that made AST and Match really nice to read would be very popular. | 03:20 | |
(QAST) | |||
b2gills | adverb is another name for :k<v>, typically limited to its use as a named argument | ||
03:23
Sqirrel joined
|
|||
jdv79 | i don't totally get that bug report but thanks for finding it | 03:24 | |
03:25
grondilu left
|
|||
skids | b2gills: properly adverb is the name of a semantic which a colonpair fills, while colonpair is the name of the syntax. There's a syntactically special meaning of "operator adverb" as well. | 03:29 | |
jdv79 | WHOA. all tests pass. even though it all hacked up terribly. i can sleep now. | 03:31 | |
skids | Heheh. Funnily, the :a(1) form is referred to almost everywhere in the design docs as "colon pair" except in the section of the docs that actually defines them which calls them the "Adverbial pair" form. | 03:36 | |
jdv79 | optimized p5 version runs in 70ms while unoptimized p6 version runs in 7s. expected i guess. | 03:41 | |
dalek | ecs: dcd6f6c | skids++ | S02-bits.pod: Make it easy to find Adverbial Pair form section when searching for colon pair |
||
03:44
raiph left
03:46
aborazmeh joined,
aborazmeh left,
aborazmeh joined
03:59
tinyblak_ left
04:01
aborazmeh left
04:05
Sqirrel left
04:08
tinyblak joined
04:11
mr-foobar left
04:31
aborazmeh joined,
aborazmeh left,
aborazmeh joined
04:54
telex left
04:56
telex joined
|
|||
dalek | c: ae713fe | skids++ | lib/Language/glossary.pod: Add adverb and colon pair to glossary |
05:01 | |
05:02
xfix joined,
xfix left
05:04
kaare_ joined
05:05
BenGoldberg left
05:36
skids left
|
|||
dalek | c: 8f9b970 | moritz++ | lib/Language/syntax.pod: Syntax: Statements and expressions |
06:00 | |
c: 1128660 | moritz++ | lib/Language/syntax.pod: Fix grammar |
06:02 | ||
c: e88123d | moritz++ | lib/Language/syntax.pod: syntax: more headings |
06:12 | ||
c: f3008c5 | moritz++ | lib/Language/syntax.pod: Terms, variables |
06:19 | ||
06:21
WAANYC7 joined
06:28
sirdancealot left
|
|||
jnthn | morning, #perl6 | 06:42 | |
yoleaux | 3 Apr 2015 16:34Z <japhb> jnthn: My ++jnthn wish list, as requested: gist.github.com/japhb/a20fa0fc0423f11204bf | ||
06:43
RabidGravy joined
06:57
Vlavv_ left
07:00
jack_rabbit joined
07:16
eiro left
|
|||
dalek | kudo/nom: d597a07 | jnthn++ | src/Perl6/Actions.nqp: Remove left-behind debugging code. |
07:19 | |
07:21
eiro joined
07:46
Sqirrel joined,
FROGGS joined
07:47
darutoko joined
07:48
rurban_ joined
07:49
Ven joined
07:56
prl joined
|
|||
prl | m: my $f = False; my $t = True; my $z = $f S& $t; say $z.Bool; | 07:57 | |
camelia | rakudo-moar d597a0: OUTPUT«True» | ||
prl | wrong, right? | ||
Ven | S&, huh | 07:58 | |
08:01
jack_rabbit left
08:03
RabidGravy left
|
|||
prl | S&, yes, sequential metaoperator | 08:03 | |
dalek | kudo/nom: 5692768 | jnthn++ | / (3 files): Support int64 in NativeCall signatures. |
08:06 | |
kudo/nom: 6b27502 | jnthn++ | t/04-nativecall/03-simple-returns. (2 files): Test for int64 as native call return type. |
08:09 | ||
08:14
molaf_ left
08:15
Ven left
08:16
diana_olhovik_ joined
08:19
gfldex joined
08:32
prl left
08:37
diana_olhovik__ joined,
diana_olhovik_ left
|
|||
dalek | p: 1c6c916 | jnthn++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION for unsigned int native calls. |
08:42 | |
08:42
darutoko- joined
|
|||
nine_ | jnthn: I know the source of RT #123989 | 08:44 | |
rt.perl.org/SelfService/Display.html?id=123989 | |||
08:45
darutoko left
|
|||
nine_ | jnthn: the lambda in the multi method's signature like all blocks does a takedispatcher, thus eating the cur_dispatcher that was meant for the method's body. | 08:45 | |
08:47
Ven joined
|
|||
jnthn | nine_: Ah, oops. | 08:47 | |
nine_: Yeah, then takedispatcher will need to happen earlier... | 08:48 | ||
Nice find. | |||
Anyone else having problems building r-j? | |||
While building BOOTSTRAP.jar I get: | 08:49 | ||
java.lang.LinkageError: loader (instance of org/perl6/nqp/runtime/ByteClassLoader): attempted duplicate class definition for name: "FB6731E54858509E6CD874E56B41C332505A10A4" | |||
moritz | j: say 42 | ||
camelia | rakudo-jvm 569276: OUTPUT«42» | ||
08:49
eli-se joined
|
|||
nine_ | jnthn: I learned a lot about Rakudo's internals while investigating this :) | 08:50 | |
moritz | jnthn: that's on your second-to-last commit | ||
jnthn | moritz: Hmmm...what on earth... | ||
08:51
prl joined
08:55
prl left
08:56
Vlavv_ joined
|
|||
moritz | star: say 42 | 08:56 | |
camelia | star-{m,p} 2015.02: OUTPUT«42» | ||
dalek | p: 314a1cd | jnthn++ | src/vm/jvm/HLL/Backend.nqp: Fix race/timing issue in JVM classname generation. If the time between two evals was too short, we could end up re-using a class name, thus upsetting the class loader. |
09:07 | |
albot: eb33872 | moritz++ | evalbot.pl: remove star-p; make "star" be only star-m by default |
|||
albot: 9002c38 | moritz++ | service/camelia (2 files): Add systemd service files |
09:09 | ||
moritz | star-m: say "version?" | ||
09:09
camelia left
|
|||
dalek | p: a405133 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java: Support int64 arg/return in native call on JVM. |
09:10 | |
nwc10 | jnthn: I guess you don't need me to answer "Anyone else ..."? | 09:11 | |
jnthn | nwc10: No, I fixed the thing now :) | 09:12 | |
09:14
camelia joined
09:15
ChanServ sets mode: +v camelia
09:17
espadrine_ joined
|
|||
dalek | p: dbaecae | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files): Basic unsigned int native call support on JVM. Java and the JVM don't really do unsinged, so it's a bit hacky, but it is at least enough to pass the tests added to Rakudo for unsinged int args and returns. |
09:24 | |
09:25
diana_olhovik__ left
|
|||
dalek | kudo/nom: 54d6aa0 | jnthn++ | tools/build/NQP_REVISION: Bump NQP revision for int64/unsinged nativecalls. |
09:26 | |
kudo/nom: f2b9e0c | jnthn++ | / (5 files): Support and test unsinged types in NativeCall. Tests pass on both MoarVM and JVM. |
|||
jnthn | Hopefully that's enough to unblock those waiting for this. | 09:27 | |
(and let me know if not) | |||
09:30
Perl6_newbee joined
09:32
Ven left
|
|||
masak | good almost-noon, #perl6 | 09:32 | |
yoleaux | 3 Apr 2015 23:17Z <ab5tract> masak: Sorry about that then, buddy :) | ||
masak | no sweat :) | ||
jnthn | o/ masak | 09:35 | |
09:36
rurban_ left
09:39
Alina-malina left
09:40
Alina-malina joined
09:42
Rounin joined
09:48
esaym153 left
09:56
esaym153 joined
|
|||
moritz | jnthn++ | 10:03 | |
10:06
camelia left,
camelia joined
10:07
ChanServ sets mode: +v camelia
10:10
xinming joined
10:12
BenGoldberg joined
|
|||
jnthn | m: use Test; is ({ try { map { die }, 1,2,3 }; 42 }()), 42, "die in map"; done; | 10:13 | |
camelia | rakudo-moar f2b9e0: OUTPUT«Died in block at /tmp/W0kwmzfeta:1 in block <unit> at /tmp/W0kwmzfeta:1» | 10:14 | |
jnthn | Seems that's a recent regression. | ||
moritz | regression? | ||
jnthn | Well | ||
Hm | |||
Behavior change, at least. | |||
moritz | the map isn't called in sink context | ||
jnthn | Aye... | 10:15 | |
hmm | |||
Thing is, S29-context/die.t now explodes | |||
oh | |||
It looks like TimToady may have "fixed" a thinko... | 10:16 | ||
dalek | c: aeaa776 | moritz++ | lib/Language/syntax.pod: document barewords |
||
moritz | in the test? or in rakudo? | ||
jnthn | Or a "thnko" | ||
In the test. | |||
github.com/perl6/roast/commit/cc2c...4c95caf2f8 | 10:17 | ||
I'm dubious that the test writer really intended ; there instead of , | |||
But it had the side-effect of sink-contexting the map | |||
moritz | well | ||
since it's "die in map" | 10:18 | ||
I'd propose to change the tests to try { eager map { die }, ... } | |||
nwc10 | jnthn: On Linux gcc2-power8.osuosl.org 3.17.4-301.fc21.ppc64le #1 SMP Mon Dec 1 07:51:01 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux | 10:20 | |
dalek | ast: f153994 | jnthn++ | S29-context/die.t: Unbust tests after ; => , correction. We need to be eager with these operations to ensure they take place in the scope of the try. |
||
nwc10 | with avac 1.8.0_25 | ||
t/nativecall/01-basic.t ............... Dubious, test returned 1 (wstat 256, 0x100) | |||
I have no idea if Power is the problem, or a dodgy version of Java | 10:21 | ||
jnthn | nwc10: Is that a recent regression, or a long-standing problem, or don't know? | ||
nwc10 | don't know - never tried before | ||
jnthn | Does it fail all the tests in that file or just some of them? | ||
10:22
hobbs left
10:23
coffee` left,
hobbs joined
|
|||
nwc10 | at the risk of a splat: | 10:23 | |
1..3 | |||
java.lang.NullPointerException in <mainline> (t/nativecall/01-basic.t:63) in eval (gen/jvm/stage2/NQPHLL.nqp:1160) in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1358) in command_eval (gen/jvm/stage2/NQPHLL.nqp:1256) in command_line (gen/jvm/stage2/NQPHLL.nqp:1231) in MAIN (gen/jvm/stage2/NQP.nqp:4092) in <mainline> (gen/jvm/stage2/NQP.nqp:4088) in (gen/jvm/stage2/NQP.nqp) | |||
jnthn | eek | ||
That's an...odd kind of failure. | |||
10:24
eli-se left
10:25
rindolf joined
|
|||
nwc10 | I have no idea how old or buggy 1.8.0_25 is | 10:26 | |
particularly on not-x86 | |||
also, that machine has 160 cores, so that might shake out some bugs Oracle didn't know about | 10:28 | ||
(or care about) | |||
10:29
rindolf left,
rindolf joined
10:30
Ven joined
10:31
rindolf left,
rindolf joined
|
|||
nwc10 | makefile races, we have 'em: | 10:32 | |
/usr/bin/perl -MExtUtils::Command -e cp gen/jvm/stage2/QAST.jar . | |||
nwc10 spares the channel all the other 10-fold duplication | |||
jnthn | It happens without parallel make too | 10:33 | |
10:34
rindolf left,
coffee` joined
|
|||
dalek | c: 9fd2155 | moritz++ | lib/Language/syntax.pod: Start to document literals |
10:34 | |
nwc10 | oh. OK. Curious | 10:35 | |
10:35
rindolf joined
|
|||
nwc10 | also, I looked up the docs - ExtUtils::Command::cp can take file file file ... dir | 10:36 | |
(not sure if that's since forever) | |||
but it would permit Makefile simplification, and a few fewer shell-outs | |||
will patch at some point, but might be rendered irrelevant if someone else refactors that bit before I get there | |||
10:37
dustinm` left,
LonelyGM joined
10:38
rindolf left,
rindolf joined
10:40
LonelyGM left
10:41
dustinm` joined
|
|||
moritz | why does the nqp-jvm makefile copy all those jars to the current working directory? | 10:50 | |
10:53
Perl6_newbee left
|
|||
jnthn | moritz: Probably 'cus NQP has no equivalent of the blib folder used during the Rakudo building. | 10:57 | |
10:57
xinming left
|
|||
jnthn | Oh, also because of the staged build thing | 10:58 | |
10:58
xinming joined
11:10
Ven left
11:11
Ven joined
|
|||
nwc10 | well, this isn't going to fly: | 11:12 | |
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-ppc64/libjnidispatch.so) not found in resource path ([file:/home/nick/Perl/rakudo-j/, file:/home/nick/Perl/rakudo-j/, file:/home/nick/Perl/rakudo-j/blib/, file:/home/nick/Sandpit/jvm/share/nqp/lib/]) | |||
11:15
[Tux] left
11:21
[Tux] joined
11:25
KCL joined
11:28
KCL_ left
11:30
sirdancealot joined
11:35
mr-foobar joined
11:46
LonelyGM joined
11:55
ggoebel left
|
|||
dalek | p: 7aa9537 | moritz++ | tools/build/Makefile-JVM.in: JVM build: reduce number of shellouts by combining several $(CP) steps into one |
11:58 | |
moritz | nwc10++ | 12:01 | |
nwc10 | moritz++ # doing the actual work | 12:02 | |
12:05
raiph joined
|
|||
moritz | FROGGS, tadzik: I don't know if it's a bug in rakudo or in panda, but since the last bigger merge, I can't bootstrap panda after I did a "make install" with a new rakudo version (and without cleaning the install location first) | 12:09 | |
that used to work, and it would be great if it worked again | |||
Missing or wrong version of dependency 'src/gen/m-CORE.setting' | |||
12:17
espadrine_ left
12:25
Sqirrel left
|
|||
dalek | kudo/nom: 4afc9e9 | moritz++ | tools/build/Makefile-Moar.in: m-install: reduce the number of shell commands by combining several $(CP) statements into one, nwc10++ |
12:26 | |
Iish: eb14b62 | moritz++ | lib/DBDish/mysql.pm6: mysql: use proper unsigned types requires very latest rakudo (at least 2015.03-159-g4afc9e9) to work |
12:28 | ||
12:29
raiph left
12:31
Sqirrel joined
12:33
raiph joined
12:45
rmgk is now known as Guest63237,
rmgk_ joined,
Guest63237 left,
rmgk_ is now known as rmgk
12:51
eternaleye left,
eternaleye joined,
pochi left
12:52
pochi joined
13:10
tinyblak left
13:11
tinyblak joined,
BenGoldberg left
|
|||
dalek | Heuristic branch merge: pushed 27 commits to perl6-examples by paultcochrane | 13:11 | |
13:14
Sqirrel left
13:15
tinyblak left
13:16
Sqirrel joined
13:27
espadrine_ joined
13:34
diana_olhovik_ joined
13:46
lucasb joined
13:57
eli-se joined
|
|||
moritz | m: say :16<BEEF>.^name | 13:59 | |
camelia | rakudo-moar 4afc9e: OUTPUT«Int» | ||
moritz | m: say -1 * -1 | 14:00 | |
camelia | rakudo-moar 4afc9e: OUTPUT«1» | ||
14:03
tinyblak joined
|
|||
lucasb | m: say so False & False | 14:04 | |
camelia | rakudo-moar 4afc9e: OUTPUT«False» | ||
lucasb | m: say so False S& False | ||
camelia | rakudo-moar 4afc9e: OUTPUT«True» | ||
lucasb | m: say False & False | ||
camelia | rakudo-moar 4afc9e: OUTPUT«all(False, False)» | ||
moritz | m: say 3_00_00e0 | ||
camelia | rakudo-moar 4afc9e: OUTPUT«30000» | ||
lucasb | m: say False S& False | ||
camelia | rakudo-moar 4afc9e: OUTPUT«all()» | ||
lucasb | say so all() | ||
m: say so all() | |||
camelia | rakudo-moar 4afc9e: OUTPUT«True» | ||
lucasb | As noted by prl++ in the backlog, there is something strange with the sequential metaoperator S | ||
jnthn | We would probably vote for un-stranging it by saying "not in 6.0" and throwing it out of Rakudo. :) | 14:05 | |
timotimo | moritz: aye, i had to nuke my install directory, too ... that same error message :( | ||
moritz | timotimo: fwiw I found that rebootstrap still works; still not great | 14:06 | |
m: say 0755 | |||
camelia | rakudo-moar 4afc9e: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o755 if you mean that at /tmp/1xrFa_lhzL:1 ------> 3say 07557⏏5<EOL>755» | ||
timotimo | yeah, the update path between previous panda and current S11-panda is a bit rocky :( | 14:07 | |
moritz | not between previosu and current panda | ||
between current panda and rakudo-1 to rakudo+0 | |||
jnthn | Um, especially as I don't know that it does anything much... | ||
timotimo | oh | ||
moritz | m: say 0b1101e0 | 14:08 | |
camelia | rakudo-moar 4afc9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/m2kxeCo9DyConfusedat /tmp/m2kxeCo9Dy:1------> 3say 0b11017⏏5e0» | ||
14:09
skids joined
|
|||
jnthn | m: say 1 S+ 2 | 14:10 | |
camelia | rakudo-moar 4afc9e: OUTPUT«Cannot find method 'postcircumfix:<( )>' in block <unit> at /tmp/6RBdPcsK5O:1» | ||
jnthn | It's actually compiling into &infix<+>.()(1, 2), or &infix:<&>().(True, False) in the original case | 14:11 | |
14:11
dsm left
|
|||
moritz | wtf. | 14:11 | |
jnthn | That reduces to all()(True, False) | ||
14:11
Perl6_newbee joined
|
|||
jnthn | Which auto-threads the call over zero elements | 14:11 | |
Meaning nothing ahppens. | 14:12 | ||
*happens | |||
Hmm | 14:15 | ||
Though given we aren't doing any of the parallelism at present, we could equally well implement S as a no-op | |||
skids | moritz: what happens is that File::Find etc have old versions that request the now-missing old setting, so panda cannot run. | 14:16 | |
jnthn | I don't think the optimizer goes re-ordering things either in such a way that'd bust stuff. | ||
moritz | skids: then installing rakudo should install a new, empty module registry too | ||
skids | I did post this late a night or two ago to make those error messages more awesome: gist.github.com/skids/dbe151cb35a4de8c4b9a | 14:17 | |
colomon is trying to remember what the use-case for Sop was… | |||
timotimo | yeah, i don't remember seeing any optimization in the tree-based optimizer that'd reorder things | ||
retupmoca | timotimo: I have PR's open for .dll bundling/fetching on your Cairo and SDL2::Raw modules :) | 14:18 | |
timotimo | signaling "do not reorder" into spesh and jit would seem quite a bit more tricky, no idea how the signaling ought to work there | ||
retupmoca: thank you! i didn't manage to merge it yet >_< | |||
retupmoca: did you see my question about renaming "gtk-dlls.p6c.org" and hosting more dlls there? | 14:19 | ||
jnthn | timotimo: Typically these are handled by the compiler emitting memory barriers. | ||
timotimo | that seems simple & sensible | ||
retupmoca | timotimo: yeah - that would probably make sense. Anything less than a MB or two I tend to just drop into the repo directly, so zlib and openssl aren't downloading right now | 14:20 | |
but perhaps they should be made to | |||
14:21
aborazmeh left
|
|||
timotimo | ah, SDL2.dll is just above a meg | 14:21 | |
that's not that terrible | |||
retupmoca | right, I gave you two different options for bundling that one :) | ||
timotimo | yes, i saw :) | ||
moritz | skids: I'd spectest that patch, and apply it, if you have no objections | 14:22 | |
skids | Please. I don't know how to do a thorough spectest yet. | ||
moritz | well, "make spectest" in rakudo :-) | 14:23 | |
retupmoca | timotimo: you may need a couple more 'is export' in your Cairo module BTW; I'm getting things like 'Undeclared name: FORMAT_ARGB32 used at line 46' | ||
and adding an is export *seemed* to fix it | |||
skids | mortiz: Well, if that's the bar I can certainly fit under that. I thought it would be more involved. | ||
moritz | skids: I'll also try to provoke the error, and see if the error message improved | 14:25 | |
14:25
diana_olhovik_ left
|
|||
jnthn | skids: The patch looks sane to me at first glance. | 14:28 | |
timotimo | retupmoca: i put a Cairo:: in front instead | 14:33 | |
retupmoca: especially since FORMAT_ARGB32 looks like something that could equally well come from SDL and/or OpenGL modules | 14:34 | ||
moritz | fwiw I've had some spectest weirdness | 14:38 | |
several (7 or so) test failed reported that no test output was found, but they were fine when run individually | 14:39 | ||
retupmoca | timotimo: ah, ok. your SDL2/examples folder needs the tweak then :) | ||
moritz | now testing with the previous MoarVM version | ||
timotimo | yes; i've got it locally and just neglected to push :S | ||
dalek | c: b7d5b91 | moritz++ | lib/Language/syntax.pod: Start to document number literals |
14:40 | |
14:41
skids left
14:42
yvan1 left
14:43
eli-se left
14:44
mr-foobar left
14:51
Sqirrel left
14:53
Sqirrel joined
15:01
BenGoldberg joined,
BenGoldberg left
15:02
BenGoldberg joined,
Ven left
|
|||
timotimo | retupmoca, moritz: looking for suggestions for a new name for "gtk-dlls.p6c.org"; maybe "library-rehost"? "dll-rehost"? | 15:03 | |
15:06
Sqirrel left
|
|||
flussence | "mirror"? | 15:06 | |
15:06
mr-foobar joined
|
|||
TimToady | jnthn: according to S04:1018, the try should be sunk inside because it's sunk outside | 15:07 | |
timotimo | "mirror" sort of implies - to me at least - an automated, swiftly updated copy of a different site; this host has something more akin to a selection/collection of dlls | ||
15:07
raiph left
|
|||
TimToady | so the eager should not be necessary | 15:07 | |
jnthn | TimToady: Ah... | ||
TimToady: OK, I can fix that. | 15:08 | ||
FROGGS | moritz: I can rebootstrap just fine | ||
jnthn | (And unfix the test. :)) | ||
15:08
eli-se joined
|
|||
moritz | FROGGS: rebootstrap, yes; bootstrap, no | 15:09 | |
jnthn | TimToady: I've been doing lots of reading/thinking/planning on NFG stuff today | ||
FROGGS | moritz: but that is the point of rebootstrapt | ||
-t | 15:10 | ||
jnthn | TimToady: I've got a work-in-progress doc about where I got so far | ||
TimToady: gist.github.com/jnthn/b312a7a211e78c27b96d | |||
FROGGS | moritz: bootstrap wont work when you reinstall rakudo | ||
15:10
eli-se left
|
|||
moritz | FROGGS: it used to | 15:10 | |
15:10
Sqirrel joined
|
|||
FROGGS | moritz: I doubt that | 15:10 | |
jnthn | TimToady: Drew on S15, S02, S05, the Unicode spec. :) | ||
moritz | FROGGS: it just didn't install the old modules | ||
jnthn | TimToady: Would very much appreciate any input on whether I'm wondering off in right-ish directions or thinking the right way about things. | ||
timotimo | "infix:<~^>, infix:, infix:, infix:, infix:, infix:, infix:, infix:, and infix:." | 15:12 | |
damn you, markdown | |||
jnthn | *sigh*, yes | ||
moritz | FROGGS: I still consider it a bug that installing a new version of rakudo invalidates old modules, without removing them | ||
TimToady | jnthn: okay, I'll try to have a glance at it | ||
jnthn | TimToady: Thanks. :) | ||
FROGGS | moritz: it is also a but that it wont fall back to .pm files when the precomped files are invalid | 15:14 | |
TimToady | you'll have to debut it then | 15:15 | |
masak | with a debutter | ||
timotimo | when that feature debuts, i'll be quite happy | 15:16 | |
jnthn | timotimo: Fixed 'em, by the way | 15:21 | |
masak | no, not "damn you, markdown". you meant "gosh, I need to learn markdown's simple and consistent rules" :P | 15:22 | |
15:24
eli-se joined
|
|||
jnthn | Why have simple and consistent when you could DWIM... :P | 15:24 | |
15:26
noganex_ left
|
|||
TimToady | moritz: might consider mentioning the my \foo = ... barewords along with constant | 15:32 | |
eli-se | Writing interpreters is fun! | ||
TimToady | that's a matter of interpretation... | ||
masak | I agree! | 15:33 | |
15:33
fhelmberger joined
|
|||
TimToady | " | 15:33 | |
"Implement types Uni/NFC/NFD/NFKC/NFKD" -- we really need to sneak a KFC type in there somewhere | 15:34 | ||
jnthn | :D | 15:35 | |
masak .oO( "what's the matter, Colonel Sanders? chicken!?" -- I never got that joke when I was young ) | |||
jnthn | To be honest, I'm quite happy with Not Kentucky Fried Chicken... :P | ||
15:38
fhelmberger left,
Ven joined
|
|||
masak | jnthn: why do you hate freedom? why do you hate America? | 15:39 | |
:P | |||
TimToady | "whereas a Buf/Blob may be holding UTF-32 in some other endian." -- could be other-endian UTF-16 too | ||
jnthn | TimToady: For sure. :) | 15:40 | |
TimToady | actually, it's Not Fried Kentucky Chicken, which is different | ||
jnthn | I called out UTF-32 mostly 'cus I suggest a representation for Uni is a uint32 array... | 15:41 | |
ShimmerFairy | A couple things I want to point out: first, I never got around to propagating S15's stuff through the other synopses, so I think in general trust S15 more on Unicode :) | ||
Secondly, I wrote a new S32::Str about a year ago, but never really did much with it (I didn't want to put a third pod6 file in the specs repo). It's here in case it's still interesting: gist.github.com/lue/9941658 | 15:42 | ||
TimToady | I also agree that the multi-view view of Stringy is probably not gonna ever happen, unless it becomes obvious how to do it later; but it's probably the same mistake as P5-style num/str allomorphism | 15:43 | |
that is, it's okay to cache alternate representations, but not okay to confuse the computer about the intended type | |||
ShimmerFairy | And I do recall TimToady once mentioning that StrLen/StrPos were a pre-NFG thing, so I'm confident those won't be around much longer. | 15:44 | |
TimToady | we might possibly want to have a way of translating offsets along with a string though, just not with special types like that | 15:45 | |
jnthn | ShimmerFairy: Yes, the conversation linked from S15 between you and TimToady was useful; I'm glad you left that link in there. | ||
TimToady: Yeah, I can see how that might be useful | 15:46 | ||
TimToady actually does feel like chopped liver this morning; finally caught the plague from my family, who's had it for a week and a half before me... | |||
jnthn | Urgh | ||
Get Well Soon. | |||
TimToady | would like to blame my sniping at lizmat++ on this, but I'm sure it was just sheer cussedness :) | 15:47 | |
15:49
Ven left
|
|||
jnthn | It would be helpful to figure out concretely where what's in S11 and what you'd like diverge, so we can work out some decent way forward. | 15:50 | |
TimToady | besides, lizmat++ is correct that I've been sniping for a good while now, instead of doing the review that I shoulda done when she asked me to | ||
ShimmerFairy | jnthn: in general, I'm of the opinion that buffers and strings don't go together (that is, I don't like how closely Buf and Str are linked together currently), in the case of any questions involving the two :) | 15:51 | |
15:52
Ven joined
|
|||
jnthn | ShimmerFairy: I don't see them as too closely linked fwiw; you have to explicitly encode/decode, unless the encoding is known. | 15:52 | |
TimToady | several times as they were growing up, my kids pointed out this "sniper" failure mode in me...I guess it's a form of laziness... | ||
jnthn | Well, sniping is one way to defer decision making... :P | 15:53 | |
I think most/all of us need to better understand what you mean by "identity" | |||
ShimmerFairy | yeah, my issue is more with how Buf is interfaced with in a string-like, rather than array-like, way (.subbuf instead of .[], for instance), and how they share the same kind of operators (the ~ "prefix" on various ops) | ||
TimToady | me too :) | ||
jnthn | ShimmerFairy: Well, the trouble is that .[...] always give you back a Parcel, and we want a Buf of the same kind, presumably... | 15:55 | |
ShimmerFairy: You can use .[...] just fine on a Buf/Blob already. | |||
ShimmerFairy | Wasn't there a time where Parcels were supposed to be kinda invisible, though? :P | ||
jnthn | ShimmerFairy: I ever fixed it so you can list-assign to a Buf. | ||
*even | |||
TimToady | well, they *are* strings, just not of Unicode characters | ||
ShimmerFairy | last time I tried [] it didn't work, though that was probably just an old rakudo :) | 15:56 | |
jnthn | m: my $b = Buf.new; $b[^5] = 5..10; say $b; | ||
camelia | rakudo-moar 4afc9e: OUTPUT«Buf:0x<>» | ||
jnthn | uh... | ||
m: my $b = Buf.new; $b[^5] = 5..10; say $b[0]; | |||
camelia | rakudo-moar 4afc9e: OUTPUT«0» | ||
jnthn | wat... | 15:57 | |
ShimmerFairy | TimToady: I personally find referring to buffers as strings misleading, considering they don't necessarily hold text. You definitely _could_ call it a string, but I think it conflicts with most programmers' understanding of the word "string" :) | ||
TimToady | to me, strings != text | 15:58 | |
but maybe that's BASIC showing through | |||
15:58
raiph joined
|
|||
ShimmerFairy | I heavily associate the word "string" with "that data type you use for text", so that's why I don't like referring to buffers as such. | 15:59 | |
TimToady | well, and that's why it's subbuf, not substr :) | ||
ShimmerFairy | As long as I can treat my Bufs as the arrays I see them as, I don't care what other methods are on them :) | 16:00 | |
TimToady | and a buf is only Stringy in the sense that you *can* view it as a sort of string if you want | ||
timotimo | jnthn: seems to be limited to ranges being wrong; with an explicit list that works | 16:01 | |
m: my $b = Buf.new; $b[0,1,2,3,4] = 5..10; say $b; | |||
camelia | rakudo-moar 4afc9e: OUTPUT«Buf:0x<05 06 07 08 09>» | ||
16:01
joss joined
|
|||
jnthn | timotimo: ah, interesting... | 16:01 | |
ShimmerFairy | My other issue is that buffers and strings share the same ~ for their ops, like ~& and such, and at least now just about all of those in S03 mention a Str->Buf conversion being a design flaw (IIRC). I can't think of a suitable symbol for buffers though. | ||
jnthn | ShimmerFairy: ~ is more about Stringy than Str | 16:02 | |
16:02
joss left
|
|||
jnthn | ShimmerFairy: Once you accept buf ~ buf gives a buf, then the others feel OK to me. | 16:02 | |
colomon | What is buf ~ Str ? | 16:03 | |
ShimmerFairy | yeah, it's just the part where stuff like ~& will implicitly convert a str to a buf that feels wrong to me (as the "design flaw" comments in S03 would concur :) ) | ||
colomon would be happy if it was illegal…. | |||
jnthn | colomon: I think buf ~ Str fails unless your buf is actually a utf8 | 16:04 | |
16:04
RabidGravy joined
|
|||
jnthn | ShimmerFairy: It won't implicitly convert a Str to a Buf afaik | 16:04 | |
ShimmerFairy | yeah, lemme check S03 to be sure :) | ||
TimToady | this also relates to the issue of ord/ords in NFG; when do we prohibit the user from thinking about characters as numbers? | 16:05 | |
timotimo | news.perlfoundation.org/2015/04/wen...-to-n.html - oh, this seems nice :) | ||
TimToady | especially if they are synthetic | ||
jnthn | timotimo: Indeed :) | ||
ShimmerFairy | for ~& : "Coerces NFG strings to non-variable-encoding string buffer type (such as buf8, buf16, or buf32) and then does numeric bitwise AND on corresponding integers of the two buffers" ... "The use of coercion probably indicates a design error, however." | ||
16:06
tinyblak_ joined,
tinyblak left
|
|||
TimToady | (Liz & Wendy)++ | 16:07 | |
jnthn | TimToady: One data point: if we reveal the synthetics and given I'm going for a global synthetics table, then people will be able to write code comparing them, and then we'll be in trouble if we want to have an implementation using a per-string NFG table in the future. | 16:08 | |
TimToady: The negatives would be meaningless in a per-string NFG table | |||
TimToady | we should also think about DoS attacks on a global table | ||
especially if we can't GC it | 16:09 | ||
jnthn | Local ones could be vulnerable too, depending how many strings you can cause to be around in memory. | 16:10 | |
TimToady | but you know which string to blame in that case | ||
16:10
zakharyas joined
|
|||
TimToady guesses we'll end up with a hybrid | 16:10 | ||
ShimmerFairy | I wrote in S15 that .ord would return negative numbers for NFG synthetics, but by no means would I insist on it. | ||
TimToady | some set of global codes that capture the local orthography, if any, and the overflow into locals | 16:11 | |
jnthn | If we want to allow ourselves the freedom to do some locals scheme of any kind, we probably need to not expose the synthetics. | ||
TimToady | and we should just define our semantics from the getgo to discourage people from relying on the synthetic codes that way | ||
and always send them to the NFD for such purposes | 16:12 | ||
well, or just post a huge HERE BE MONKEYS warning | |||
jnthn | We could only support .ords on Uni and its descendents, yes | ||
16:12
tinyblak joined
|
|||
jnthn | .ord is not a problem in that you can always hand back the base char if the first thing is a synthetic. | 16:13 | |
ShimmerFairy | In general, I'd suggest kicking things down to NFC where NFG is inappropriate (which includes printing characters to a terminal or file, fwiw) | ||
16:13
tinyblak_ left
|
|||
TimToady | well, .ords could essentially do the same thing, but it would be ambiguous whether they were wanting NFC or NFD in either case | 16:13 | |
jnthn | We could kill off ords | ||
TimToady | so maybe we say we require explicit conversion for now | 16:14 | |
jnthn | Since if Uni is an array-ish thing then we add .NFC and .NFD coercion methods and be done with it :) | ||
And we also get to stop masak whining about us having a .ords method :P | |||
TimToady likes to hear masak whine... | |||
jnthn | Don't worry, there are plenty of other things. :P | 16:15 | |
masak | did somebody say "kill off ords"? \o/ | 16:16 | |
jnthn | haha | ||
masak: Yes by replacing it with 4 other methods :D | |||
ShimmerFairy tentatively suggests .ordses :P | 16:17 | ||
timotimo | what's a bagginses ordses? | ||
TimToady | .NFD-ordeses | ||
masak | I'm just gonna let the dust settle on this one, and then come back and see if there's anything left to whine about :P | ||
16:19
Ven left,
Ven joined
|
|||
jnthn is hungry and thirsty and should fix this :) | 16:20 | ||
TimToady: I guess you'll need a bunch more thinking time, but I take from this that I can probably quite safely go ahead with a Uni type and the various subclasses as array-like things, and dig into implementing the normalization bits. | 16:21 | ||
TimToady | what I've seen so far (about 2/3 of doc) seems sane | 16:22 | |
16:23
Ven left
|
|||
jnthn | TimToady: OK, sounds good. | 16:24 | |
TimToady: Any thoughts on NFC vs. nfc for type names? | |||
TimToady | not entirely sure we want to include normalization as part of encode/decode; maybe a logically separate step that we can optimize | ||
16:24
telex left
|
|||
jnthn | (given we picked utf8 for that kind of blob) | 16:24 | |
TimToady | I still prefer the uppercase there, just 'cuz | ||
jnthn | OK, and Uni for the "worreva" type? | 16:25 | |
TimToady | mostly because people are used to seeing NFC and such | ||
jnthn | *nod* | ||
TimToady | utf8 is trying to look 'native', I guess | 16:26 | |
but yeah, it's inconsistent... | |||
16:26
telex joined
|
|||
TimToady | also, there's the p5 heritage of 'utf8' meaning something more than UTF-8, though perhaps we want a different type for "illegal" characters that p5 supports | 16:27 | |
utf8ish or so | 16:28 | ||
Unicode-mandated semantics aside, it is fairly obvious how the format itself extends to any integers up to 32 bits, and p5 even supports a 64-bit form, urque | 16:29 | ||
16:29
Ven joined
|
|||
TimToady | and UTF-8 is of course an illegal identifier... | 16:30 | |
jnthn | True | ||
TimToady | one could argue that UTF8 is Unicode limited, and utf8 isn't, but maybe that's icky | ||
one does need to be able to form illegal Unicode somehow for testing purposes | 16:31 | ||
jnthn | I think something called utf8 should be... | ||
Sure, there's Buf for that | 16:32 | ||
utf8 is a "we know it's utf8 'cus we just encoded it" | |||
TimToady | I think you also have to say that we don't trust incoming UTF-16, even when encoded to the Uni level | 16:33 | |
Uni should never see a bare surrogate | |||
jnthn | Oh, I was imagining Uni as basically native endian UTF-32 under the hood | 16:35 | |
So you've hve to .decode a bunch of UTF-16 to get a Uni | |||
16:35
espadrine_ left
|
|||
TimToady | well, I'd call it UCS4, so we can talk about UCS2 and UCS1 as well :) | 16:36 | |
UCS1 being a string (or piece of rope) that contains only Latin-1 | |||
16:36
grondilu joined
|
|||
jnthn | Well, except you'll probably never see a Uni, but rather an NFC, NFD, etc. | 16:37 | |
grondilu | m: say ([1], { @_; [@_, 0 Z- 0, @_] } ... *)[5] | ||
camelia | rakudo-moar 4afc9e: OUTPUT«1 1 1 1 1 -5» | ||
TimToady | afk a half hour or so & | ||
grondilu | m: say ([1], { [@_, 0 Z- 0, @_] } ... *)[5] | ||
camelia | rakudo-moar 4afc9e: OUTPUT«1 1 1 1 1 -5» | ||
grondilu | m: say ([1], -> @_ { [@_, 0 Z- 0, @_] } ... *)[5] | ||
jnthn | If we bring that axis into it also it gets tricky... | ||
camelia | rakudo-moar 4afc9e: OUTPUT«1 -5 10 -10 5 -1» | ||
jnthn | I'll take that as my cue to go for dinner :) | ||
jnthn bbiab | |||
16:38
yvan1 joined
|
|||
grondilu | m: say ([1], { [@$_, 0 Z- 0, @$_] } ... *)[5] | 16:40 | |
camelia | rakudo-moar 4afc9e: OUTPUT«1 -5 10 -10 5 -1» | ||
16:47
zakharyas left
16:50
KCL left
16:57
tinyblak left
|
|||
ugexe | so ive installed 'Encode', but everytime i try to install HTTP::UserAgent it fails with cannot find 'Encode::Windows1512' even though while isntalling encode it passed that specific test and also stated ' | 17:00 | |
Compiling lib/Encode/Windows1252.pm6 to mbc | |||
17:02
pmurias joined
|
|||
dalek | p/js: 0df1882 | (Pawel Murias)++ | src/vm/js/ (2 files): Pass test 78. Implement bos, eos regex anchors. |
17:02 | |
p/js: fb42527 | (Pawel Murias)++ | t/nqp/62-subst.t: Fix typo in test description |
|||
17:02
BenGoldberg left
|
|||
pmurias | hi | 17:02 | |
17:03
Akagi201 joined
17:04
Ven left
17:08
Ven joined
17:19
LonelyGM left
17:32
raiph left
17:36
Psyche^ joined
17:40
Patterner left
|
|||
timotimo | o/ | 17:42 | |
17:54
Ven left
|
|||
TimToady | m: reduce { die }, 1,2,3 | 17:55 | |
camelia | rakudo-moar 4afc9e: OUTPUT«Too many positionals passed; expected 0 or 1 arguments but got 2 in block <unit> at /tmp/82eRUCl_oA:1» | ||
TimToady | that dies anyway without the die | ||
m: reduce -> $a, $b { die }, 1,2,3 | |||
camelia | rakudo-moar 4afc9e: OUTPUT«Died in block <unit> at /tmp/ZuIw2wMuWb:1» | ||
TimToady | m: reduce -> $a, $b { die } 1,2,3 | 17:56 | |
camelia | rakudo-moar 4afc9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yzS02uzSd_Strange text after block (missing semicolon or comma?)at /tmp/yzS02uzSd_:1------> 3reduce -> $a, $b { die }7⏏5 1,2,3 expecting any of: infix infix stopper …» | ||
TimToady | I guess I could add that to the list of functions that require a comma there, like map and grep | ||
masak | and sort | 17:57 | |
and classify | |||
TimToady | sort is already like map and grep :) | ||
masak | ok :) | ||
eli-se | Why does Perl 5 not require a comma there, actually? I always wondered. It seems so inconsistent. | 17:58 | |
17:58
tinyblak joined
|
|||
eli-se | Although it does make try { } catch { } looks good. :P | 17:58 | |
masak | eli-se: the proximal reason I guess is that `map` and `grep` and `sort` were kind of special functions from the beginning. | ||
TimToady | because the extra block was shoehorned into the language as an indirect object, which in retrospect was suboptimal | ||
eli-se | I see. | 17:59 | |
masak | eli-se: the distal reason is that prototypes allowed you to make functions behave like that, even user-defined ones. | ||
TimToady | except they were like that before prototypes ever existed | ||
so aren't all that distal | |||
eli-se | Sometimes I feel like I'm the only one who programs without syntax highlighting. | 18:00 | |
Zoffix | I do too | 18:01 | |
mst | same. | ||
eli-se | OMG | ||
Zoffix | Kinda have to, since I can't find a working plugin for Sublime Text 2 that doesn't highlight Perl6 code one giant comment :) | ||
mst | I hate synhi full stop. | ||
hence my dragging a patched ex-vi around with me | 18:02 | ||
Zoffix | I like it. Makes things less monotone | ||
mst | sure, it's a useful crutch for people who can't read code | ||
Zoffix | :D | ||
eli-se | I like syntax highlighting for diffs. | ||
mst | but once you can, it just gets in the way | ||
18:03
tinyblak left
|
|||
dalek | kudo/nom: df5acd2 | TimToady++ | src/Perl6/Actions.nqp: add reduce, classify, categorize to commatraps also, lambdas can also begin with -> or <-> |
18:06 | |
timotimo | do we have a way to provide the contents of a compunit to the VM given just a buffer? | 18:08 | |
for example if i were to implement a "load multiple compunits from a zip file" CUR without extracting it to disk in between? | |||
or for preventing race conditions between sha1-verifying a file and loading it in the VM | 18:09 | ||
masak | mst: I don't expect (or need) to convince you, but I used to be in your camp wrt syntax highlighting. | 18:10 | |
moritz | n+1-fach | ||
dalek | ast: 7bb87ca | TimToady++ | S29-context/die.t: get reduce to die for the right reason |
||
mst | masak: my real problem, tbh, is granularity | ||
Zoffix | masak, and what changed? | ||
masak | Zoffix: I guess I saw good syntax highlighting. | 18:11 | |
mst | when I mentally switch between considering method level, block level, expression level etc. | ||
the synhi doesn't follow, and it induces cognitive dissonance | |||
TimToady | you have to be able to put it into your backbrane as a sort of "getting warmer, getting cooler" hint that your forebrane can ignore | 18:12 | |
or maybe turn up and down the chroma in your visual cortex :) | 18:13 | ||
masak | I agree that any kind of syntax highlighting that *gets things wrong* is an immediate turnoff. literally, as it will make me turn it off. | ||
TimToady | I guess that's backbrane :) | ||
one has to be able to ignore the "wrongness" when typing anyway, since you don't generally type both quotes at the same time | 18:14 | ||
masak | there's also small kvetches I have with most systems which try to fade comments into the background. don't do that, comments should be visible, sometimes moreso than the code. | ||
TimToady | well, helps to be able to pick your own color scheme | ||
masak | the most exciting types of syntax highlighting that I've seen are the ones that don't take a single view of the source, but which introduce "filters" that allow you to highlight various aspects of the code. | 18:15 | |
mst | I didn't mind elvis' perl mode which mostly just highlighted things like parens and braces | ||
FROGGS | timotimo: yes | ||
mst | masak: right, I would be curious to try one of those | ||
TimToady | I did mind it when the highlighter tried to decide which words were keywords and which not, since those concepts are intentionally mushy | 18:16 | |
mst | but honestly over the years I've been making my setup less featureful, not more | ||
masak | another cool feature that I would like in my editor is the ability to conceptually inline -- transclude -- a routine into another. kind of an inline-but-only-for-show operation. | ||
mst | TimToady: yeah, my only response to that is *inarticulate rage noises* followed by disabling it | ||
FROGGS | timotimo: ahh, it is probably still in a fork :/ | 18:17 | |
masak | my main kvetch with vim's Perl 6 highlighter these days is that it's slow. though it's possible I'm not on the latest version. | ||
sometimes I turn it off because it lags when I type. | |||
TimToady | gee, maybe we could build a whole network based on the concept of transclusion... | ||
masak | TimToady: that will never work | 18:18 | |
TimToady decrees a stately pleasure dome | |||
masak | more precisely, it will invariably be outcompeted by a network of breakable links :) | ||
breakable one-way links, even | |||
TimToady | citation needed? :) | 18:19 | |
mst | TimToady: I still can't work out why you'd want a pleasure dome to be *stately* | ||
masak | I could give you a citation, but the link would 404... :) | ||
TimToady | maybe your link went through caverns measureless to man | 18:20 | |
18:20
virtualsue joined
|
|||
masak | more like three totally useless URL shortening services | 18:21 | |
TimToady reminds himself not to write poetry while on cough medicine | |||
masak .oO( don't sneeze and muse ) | 18:22 | ||
timotimo | masak: the vim highlighter recently got profiled and optimized | 18:23 | |
masak | yeah. literal++ | ||
I realized while I wrote tha above that I'm probably not on latest. | |||
timotimo | yup, literal++ once again :) | ||
don't forget you'll get a better experience with 7.4 | 18:24 | ||
masak | I'm on 7.4.52 here | ||
timotimo | excellent | ||
but that alone doesn't improve the highlighter; also need to get vim-perl from github, i'd expect | 18:25 | ||
masak | this one, right? github.com/vim-perl/vim-perl/blob/.../perl6.vim | ||
timotimo | i think so | ||
masak | oh, there's both ftplugin/ and indent/ and syntax/, all with their own perl6.vim | 18:26 | |
TimToady has been thinking about the problem of "0" being true/false if it's an IntStr | 18:27 | ||
m: multi foo (Int() $i) { say "Int $i" }; multi foo (Str $s) { say "Str $s" }; foo "42" | |||
camelia | rakudo-moar df5acd: OUTPUT«Str 42» | ||
TimToady | m: multi foo (Int(Str) $i) { say "Int $i" }; multi foo (Str $s) { say "Str $s" }; foo "42" | ||
camelia | rakudo-moar df5acd: OUTPUT«Ambiguous call to 'foo'; these signatures all match::(Str $i):(Str $s) in sub foo at /tmp/ClKOnFl4lg:1 in block <unit> at /tmp/ClKOnFl4lg:1» | ||
18:28
Perl6_newbee left
|
|||
TimToady | arguably, the first should win because of the extra "constraint" of needing to be coercable to Int | 18:28 | |
m: multi foo (Int(Str) $i) { say "Int $i" }; multi foo ($s) { say "Str $s" }; foo "42" | |||
camelia | rakudo-moar df5acd: OUTPUT«Int 42» | ||
TimToady | m: multi foo (Int() $i) { say "Int $i" }; multi foo ($s) { say "Str $s" }; foo "42" | ||
camelia | rakudo-moar df5acd: OUTPUT«Ambiguous call to 'foo'; these signatures all match::(Any $i):(Any $s) in sub foo at /tmp/7Ys71JMPrA:1 in block <unit> at /tmp/7Ys71JMPrA:1» | ||
TimToady | likewise there | ||
if that worked, we might be able to do away with the concept of IntStr etc | 18:29 | ||
masak | new highligher feels much more snappy. nice! | ||
literal++ | |||
TimToady: agree about the narrowness. | 18:30 | ||
TimToady | and if there were no IntStr, I wouldn't mind making "0" true | ||
masak | \o/ | ||
that's excellent news | |||
TimToady | well, I said much the same a couple weeks ago, but nobody noticed... | 18:31 | |
masak | hehe | ||
tony-o | thanks for the vim-perl6 whoever made that ^^ | ||
masak | tony-o: it was literal++ | ||
tony-o | literal: ++ | ||
masak | I think he might have inherited it from luqui or someone though. | ||
TimToady | alester++ and hoelzro++ I think | 18:34 | |
masak | oh yes, I saw hoelzro++ had made a recent commit. | 18:35 | |
and now you mention it, I remember alester++ being in charge of that repo for a while. | |||
tony-o | alester++ hoelzro++ - much thanks | 18:36 | |
18:36
virtualsue left
|
|||
TimToady | jnthn: is it possible to treat Int() as an unconstrained type if you pass an Int, but as a constrained (albeit less exact) type if something looser is passed? | 18:40 | |
18:40
hobbs left
|
|||
TimToady once had an idea about installing more than one candidate in the list to do something like that | 18:41 | ||
though one should be aware of combinatorics if the args are considered independent in that regard | |||
18:42
hobbs joined
|
|||
TimToady | and would an approach where we assume one candidate is exact, and another candidate has all the contraints, work, since that's essentially what we do now by hand with our Any,Any candidates | 18:42 | |
we don't generally bother to write the Any,Int or Int,Any candidates | 18:43 | ||
so this would essentially just be automating what we already do by hand, and might let us get rid of IntStr and friends | 18:44 | ||
if we can just write sub MAIN (Int() $i, Rat(), $r) and such | |||
er, s:2nd/,// | 18:45 | ||
masak | I thinkg RT #124242 is a dupe of RT #122286 | ||
think* | |||
also, I could've sword we had a ticket older than 9 months for this. | |||
18:47
raiph joined
|
|||
dalek | p: 7533c6b | FROGGS++ | / (13 files): take care of NativeRefs in nativecall op If we would just decont as we did before, we'd strip the NativeRef container we need to be able to do assignments. This also needs a stage0 update, so we can use nqp::isont_[ins] here. |
18:50 | |
tadzik | perl 6 core development fund! \o/ | 18:51 | |
tony-o | github.com/rakudo/rakudo/blob/nom/...it.pm#L110 | ||
FROGGS: ping | |||
tadzik | it's like christmas morning | ||
FROGGS | tony-o: pong | ||
tadzik: what did I miss? | |||
tony-o | do you know about that .precomp function? it doesn't look like it uses :INC anywhere in that method.. | ||
tadzik | FROGGS: news.perlfoundation.org/2015/04/wen...-to-n.html | ||
wenzperl++ | 18:52 | ||
FROGGS | tony-o: it was implemented to aid testing precomp bugs in roast... | ||
tony-o | should it be iterating somewhere to send -I flags further down in the 'shell' ? | ||
FROGGS | tony-o: so it might only work for that purpose atm, which means that little patches might be needed to make it useful | ||
tony-o | FROGGS: i'll play around with it | 18:53 | |
FROGGS | tony-o++ | ||
tony-o | thank you for the info ^ | ||
FROGGS | tony-o: feel free to ping me when you come to a conclusion | 18:54 | |
tony-o | FROGGS: roger | 18:55 | |
FROGGS | WenZPerl++ # \o/ | ||
that is sooooo awesome! | |||
tony-o | what does a company like wenzperl get out of donating to the p6 cause? | ||
aside from continuing progress on a language they want to see come to fruition | 18:56 | ||
FROGGS | tony-o: I guess it is also about 'giving something back' to the community | ||
ugexe | :INC was to get around setting PERL6LIB or whatever that hacky thing panda had to do | ||
github.com/rakudo/rakudo/blob/2cd9...it.pm#L119 | 18:57 | ||
pmurias | mst: just having things multicolored is useful to me as it helps tokenizing code | ||
tony-o | ugexe: yea but the point is that :INC isn't affecting the shell command at all | ||
FROGGS | like, you've built a company using Perl that lets you earn money, you can pay the community back by supporting it :o) | ||
tadzik | oh, it's the syntax hilighting discussion | 18:58 | |
I'm in mst's camp, and it's his fault :P | |||
ugexe | i dont think :INC works if you pass a -I | ||
FROGGS | tony-o: look at line 119 | 18:59 | |
tony-o | it doesn't work at all if you pass CompUnit.new(:INC(<somedir>)) - that somedir doesn't actually end up being visible to the precomp | ||
tadzik | I'd like to have hilighting of something I can't figure out (easily) on my own, so not syntax but profiling data or test coverage | 19:00 | |
FROGGS | tony-o: shell() uses %*ENV | ||
tadzik | green for good, red for bad etc | ||
tony-o | FROGGS: yea i can't get that part to work :-), whatever i pass to :INC doesn't pass through into the shell() | ||
moritz | what do we call the 'key => "value"' form of pair literals? "fat comma pairs"? | 19:01 | |
or arrow pairs? | 19:02 | ||
tony-o | FROGGS: i'll upload a quick example of my predicament | ||
19:03
vendethiel- left,
vendethiel joined
|
|||
ugexe | shell should be reading ENV<RAKUDO_PRECOMP_WITH> which would be set by :INC | 19:03 | |
FROGGS | and Inc.pm will put thing from %*ENV<RAKUDO_PRECOMP_WITH> to @*INC of the spawned process | 19:04 | |
moritz: fat arrow pairs? | |||
tony-o | FROGGS: ugexe here is a self contained example github.com/tony-o/CU-error-example | 19:05 | |
FROGGS | moritz: fat comma might be very surprising for non-P5er | ||
moritz | FROGGS: agreed | ||
the design docs say both "arrow pair" and "fatarrow pair" | |||
and they also use both "colon pair" and "colonpair" | 19:06 | ||
FROGGS | tony-o: try :INC<file:lib> | ||
jnthn | mmm...that was some nice dinner :) | ||
FROGGS | :o) | ||
ugexe | you are supposed to pass an array or a scalar i believe, not a hash | ||
FROGGS | moritz: my English is not good enough to judge here :o) | 19:07 | |
tony-o | passing it as an array or scalar errors with the same message, file:lib in both array or scalar or as FROGGS mentioned all fail with the same message | ||
jnthn | TimToady: Well, the property we really need to retain for optimizability is that we can statically sort candidate lists. | ||
FROGGS | jnthn: unsigned 'is rw's do not work... they'll end up signed :/ | 19:08 | |
19:08
brrt joined
|
|||
tony-o | none of the 'includes' in the error output include the path passed ^ | 19:08 | |
FROGGS | jnthn: I'll push my rakudo changes to a branch in a bit, and will then test on the jvm | ||
jnthn | FROGGS: Do not work where exactly? | ||
ugexe | because they get deleted from @*INC | ||
github.com/rakudo/rakudo/blob/2cd9...it.pm#L123 | |||
brrt | \o | ||
FROGGS | jnthn: in nativecall tests I added | 19:09 | |
jnthn | Well, that's a troubling sign... | ||
19:10
raiph left
|
|||
FROGGS | but let's not think negative about that | 19:10 | |
dalek | kudo/nom: 1c1e9a3 | FROGGS++ | lib/NativeCall.pm: handle/add longlong and ulonglong in NativeCall |
||
tony-o | ugexe: that's not why they're not printed, the error comes from the shell command | ||
jnthn | FROGGS: Ah, is it restricted to "is rw"? | 19:11 | |
FROGGS: I know we're going to have problems with 64-bit unsinged int for now | |||
ugexe | well you are hard coding the entire path of the module, including lib, and then passing 'lib' into :INC | ||
dalek | kudo/param-is-rw-tests: 81e1822 | FROGGS++ | t/04-nativecall/15-rw-args. (2 files): add tests for 'is rw' parms in native calls |
19:12 | |
TimToady | jnthn: in that case, we'd be the same as now, because we have an Int,Int candidate, and an Any,Any candidate; the only difference would be that with Int(),Int() we'd have something that is considered to have coercion constraints on the Anys, so it would sort slightly tighter than an explicit Any,Any | ||
ugexe | remove lib/ from the first argument and you wont get an error | ||
FROGGS | jnthn: that's the test output: gist.github.com/FROGGS/dfd3880da345f37348c9 | ||
TimToady | so you'd only get the explicit Any,Any case if you couldn't coerce both args to Int | ||
FROGGS | jnthn: only char is tested with a high enough number to trigger that problem | 19:13 | |
tony-o | ugexe: i also don't get a compiled unit | ||
ugexe: the CU just returns Nil | |||
FROGGS | jnthn: but yeah, I've seen that longlong will be a problem | ||
jnthn | TimToady: I wonder if we can do it by duplicating the candidate during the sort. | 19:14 | |
TimToady: So it shows up in two places | |||
TimToady | that's my thought | ||
jnthn | TimToady: Of course it's gonna be visible if you do .candidates on the proto | ||
But I guess we can live with that. | |||
Oh | |||
It doesn' thave to be | |||
'cus .candidates ain't in sort order iirc | 19:15 | ||
ugexe | you just have to look at the zef source. the modules it builds that end up in /lib are build using that technique. the ones in blib use the command line and -I | ||
jnthn | It's the input list to sort | ||
ugexe | for instance, you arent supplying an output file | ||
im sure there are some other things missing that ive forgotten since i last worked on that | |||
jnthn | TimToady: Anyway, I think in principle it's possible | ||
tony-o | it doesn't do anything for the default | ||
ugexe | it does for me | ||
tony-o | just run the build in the repo, the thing doesn't work | ||
jnthn | TimToady: Since the stuff the multi-dispatcher works with is a projection of the candidates, not the candidates themselves. | 19:16 | |
ugexe | it outputs compiled files though | ||
and it doesnt give an errors about not finding what its missing | |||
tony-o | gist | ||
19:16
rindolf left
|
|||
ugexe | im just using bin/zef test | 19:16 | |
jnthn | TimToady: Is there a combinatorial issue though? | ||
tony-o | in zef's directory? | ||
TimToady | not if we treat all the args the same in parallel, as I said | ||
ugexe | :INC might need to carry over between builds or something | 19:17 | |
tony-o | do it in the repo | ||
ugexe | which is why it might not work | ||
jnthn | I wonder if that creates oddness :) | ||
tony-o | that i made to show why it isn't working | ||
TimToady | as I said, we don't do that now with our explicit solutoin | ||
and it seems to work out | |||
jnthn | Point. | ||
tony-o | it just isn't passing anything you give it except for what exists in @*INC | ||
ugexe | well your example was wrong | ||
tony-o | my example is 100% correct | ||
jnthn | I shoulda full backlogged before answering the first bit of the backlog :P | ||
ugexe | lib/p.pm6 was not the correct first argument for example | 19:18 | |
tony-o | make the example work without doing perl6 -Ilib | ||
jnthn | TimToady: Would you prefer it prototyped in a branch to play with, or put straight in if it works out not to break anything? | 19:19 | |
TimToady | I think we mostly agree that replying to backlog during stream of backlogging is better than not replying at all because you forgot | ||
dalek | c: 0e60c9a | moritz++ | lib/Language/syntax.pod: Pair and Blob literals |
19:20 | |
TimToady | jnthn: I'd go for all the marbles, but I'm a gamblin' man | ||
feel free to branch if it you think it'd be more expeditious | |||
as in, if you feel you'd want to interleave work on that with other things. | 19:21 | ||
FROGGS | Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/nqpmo.nqp' | 19:23 | |
:o( | |||
jnthn | TimToady: In theory, it'll be a small patch | ||
TimToady | I'm also fine with it going in immediately, if it passes roast | 19:24 | |
jnthn | I was gonna hack on NF* stuff more, but guess I'll do this instead, since I can probably do it before sleep time :) | ||
jnthn makes a cuppa first :) | |||
FROGGS | ahh, I had to delete it from share/nqp/lib | 19:31 | |
tony-o | FROGGS: what would be a good test to make sure i didn't break anything else after i have something i think might be ok | 19:32 | |
19:32
raiph joined
|
|||
FROGGS | tony-o: run the spectest | 19:32 | |
tony-o | roger | ||
19:33
brrt left
|
|||
raydiak | tony-o: :INC should be passed to .precomp, not .new | 19:33 | |
tony-o | raydiak: thank you | 19:34 | |
raydiak | yw :) | ||
tony-o | raydiak: still doesn't add that lib to the searched paths :-) but i'll fix my example ^^ | 19:35 | |
raydiak | tony-o: changes the behavior of your example when I tried it here, gives a different error | 19:36 | |
now I get "No such method 'short-id' for invocant of type 'Str'" | |||
tony-o | hmm, i get the same 'could not find p in any of ...' | ||
jnthn | TimToady: Just to check: gist.github.com/jnthn/67a5c42a0ce9a1ba2424 should all pass once I get this right? | 19:37 | |
(Set chosen 'cus Set !~~ Cool) | 19:39 | ||
colomon | Sets aren’t Cool? Huh. | 19:48 | |
jnthn | uh-oh :) | ||
Looks like I'd better define my own not-Cool type with an Int coercion :) | 19:49 | ||
colomon | They might not be, but I don’t remember them not being. If you know what I mean. | ||
jnthn | Well, Array and Hash *are* | ||
So it's certainly a question worth asking. :) | |||
colomon | Oh, ++TimToady? | 19:50 | |
jnthn | Anyway, thanks for the poke, I'll make my test robuts against such a change :) | 19:51 | |
colomon | Actually, I’m also a bit surprised by your example, even leaving out the Set question | ||
Looking at that, my presumption would be Int() takes Any and gives you Int, therefore I would expect Cool to be a better match for an actual Int input. | 19:52 | ||
19:52
espadrine_ joined
|
|||
masak | m: say Set ~~ Cool | 19:52 | |
camelia | rakudo-moar 1c1e9a: OUTPUT«False» | ||
masak | Set isn't Cool, nor does it have any claim to be. | 19:53 | |
colomon | understanding that I haven’t been following the latest in coercion syntax. | ||
masak | the original purpose of Cool was to emulate the interconversion behavior from Perl 5 between numbers and strings. | ||
tony-o | raydiak++ | ||
jnthn | colomon: Yes, that's the current behavior; TimToady just above was asking if we can have it behave as if there were two candidates, an exact match and a coercive one. | 19:55 | |
colomon | jnthn: ah | ||
dalek | ecs: 5c8213f | (Lucas Buchala)++ | S03-operators.pod: Use unicode notation; \x escape is defined elsewhere |
19:57 | |
ecs: 8e1c6ee | (Lucas Buchala)++ | S02-bits.pod: Wrap unicode chars in C<> |
|||
ecs: 5da63dc | (Lucas Buchala)++ | S (6 files): Small POD and typographical fixes |
|||
ecs: df6c1b4 | (Lucas Buchala)++ | S19-commandline.pod: Update URLs mentioned in S19 |
|||
ecs: 43579ec | (Lucas Buchala)++ | S03-operators.pod: Update comment about that Fido dog |
|||
ecs: c040f33 | (Zoffix Znet)++ | S (6 files): Merge pull request #92 from lucasbuchala/random-changes1 Miscellaneous changes |
|||
p: 52b8347 | FROGGS++ | tools/build/Makefile-JVM.in: fix install location of {ModuleLoader,nqpmo}.jar |
19:58 | ||
kudo/nom: 1ccb19d | FROGGS++ | tools/build/NQP_REVISION: bump nqp rev for jvm build fix |
19:59 | ||
20:00
tinyblak joined
20:05
tinyblak left
|
|||
jnthn | TimToady: Darn, seems we do get some spectest fails | 20:06 | |
Oh, rather dodgy candidate set though | 20:09 | ||
20:12
baest_ joined
|
|||
jnthn | TimToady: Ah, the other thing we run into is that if there *was* a hand-coded Str and also a Str() then we now end up with amgibuity | 20:12 | |
masak | yeah, that doesn't sound right. | 20:13 | |
20:14
baest left
|
|||
jnthn | Well, I suspect ecosystem impact will be small in so far as we ain't had coercion types in for long. | 20:14 | |
masak | indeed. | 20:15 | |
jnthn | Not to mention so far I only ran across one case of it in CORE.setting - and the body of both candidates was copy-paste. | 20:16 | |
Which is kinda telling... :) | |||
We can let spesh write our micro-optimized duplicate code for us. :) | |||
masak | :) | 20:18 | |
20:20
darutoko- left
|
|||
dalek | kudo/coerce-multi-tweak: 0611b09 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Change semantics of coercion types in multis. Before, a "sub foo(Int() $x) { }" would act as a candidate taking Any for the purposes of the multi-dispatch candidate sort. Now, it gets two entries in the list that we sort: one Any, as before, and an extra one with Int. |
20:33 | |
kudo/coerce-multi-tweak: 40f8883 | jnthn++ | src/core/List.pm: Fix dodgy xx candidate set. We had a Real() candidate that accepted a thunked required named arg, and an Int() one that did not. Make them both Int(). This is likely how they should have been in the first place, and fixes a regression introduced by the multi-dispatch coercion semantics changes. |
|||
kudo/coerce-multi-tweak: 93e0f3c | jnthn++ | src/core/Hash.pm: Remove DELETE-KEY Str candidate; let Str() do it. With the new multi-dispatch semantics around coercion types, this led to an ambiguous dispatch error. |
20:34 | ||
jnthn | TimToady: So, I patched it into the multi-dispatcher. It wasn't particularly hard (which is good). I had to change two things in CORE.setting to keep things happy. Both of the changes I made felt like improvements, though. | ||
TimToady: With those 3, spectest looks good. Let me know what you think. :) | 20:35 | ||
20:35
morgan_ joined
|
|||
jnthn | (Feedback from others welcome too, of course.) | 20:35 | |
masak | just looking at the commit messages and your descriptiong of it, I have a good feeling. | ||
m: multi x() { say "tighter" }; multi x(*@a) { say "looser" }; x(); x(1, 2, 3) | 20:36 | ||
camelia | rakudo-moar 1ccb19: OUTPUT«tighterlooser» | ||
masak | is ^^ somewhere in the spec? | ||
jnthn | I'm not sure, off hand. | ||
I think so though | |||
masak | I remember us adding it to Rakudo back in, um, 2009 or something. | ||
jnthn | The whole arity and slurpy thing still has at least one open RT, iirc | 20:37 | |
Or maybe it's about optionals. | |||
I'm pretty sure at one point we had RTs that were asking for two conflicting things inn this area; I forget the details. | |||
But the rules have already kinda reached a point where I can only just remember them, which is probably a sign they're already involved enough :) | |||
masak | to be honest my internal simulation of you had you sighing and complaining about added complexity at TimToady's suggestion... :) | 20:38 | |
jnthn | Well, when I first saw it I worried because I fear it was going to encroach on an important invariant. | 20:39 | |
*feared | 20:40 | ||
But once I realized it could be done with a second entry in the candidate sort DAG, it felt not so bad. | |||
20:40
H2O1 joined
|
|||
masak | yeah, the design seems to nicely allow this one. | 20:40 | |
jnthn | And then the patch in the end was smaller than I'd expected. | ||
20:41
H2O1 left
|
|||
jnthn | Yeah...sometimes denormalization wins. :) | 20:41 | |
masak | hehe | ||
jnthn | Seems actually we don't have any really crazy rules around optionals at the moment. :) | ||
In fact, the only thing they really do is help us decide how many types to involve in narrowness analysis. | 20:42 | ||
dalek | kudo/nom: 07bf03b | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Fix comment typo. |
20:44 | |
20:51
kurahaupo1 joined
|
|||
TimToady returns from trying (and failing) to fix the church's video projector; fortunately we have a backup | 20:55 | ||
TimToady will have to play with the new bits, and see how they play now with MAIN and such | 20:57 | ||
so, I take it that's still in a branch? | 20:59 | ||
masak | coerce-multi-tweak | ||
21:06
morgan_ left
|
|||
jnthn | What masak said | 21:07 | |
I can put it in nom, if you're OK with the two changes I had to do in CORE.setting for it to work out | 21:08 | ||
Though I'm going to sleep in a few minutes. Or attempting to, at least. :) | |||
m: say uniname(0x16AD0) | 21:09 | ||
camelia | rakudo-moar 1ccb19: OUTPUT«BASSA VAH LETTER ENNI» | ||
21:09
kaare_ left
|
|||
jnthn | We has le Unicode 7 :) | 21:09 | |
TimToady | I'm fine with putting it in | 21:10 | |
masak .oO( we got Unicode 7, and all we felt was a certain enni ) :P | |||
jnthn | One of the BASSA chars looks like an overweight snowman... | ||
masak | now all we need is a skinny comet | 21:11 | |
jnthn rebases and puts it in | |||
dalek | kudo/nom: 8f5865b | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Change semantics of coercion types in multis. Before, a "sub foo(Int() $x) { }" would act as a candidate taking Any for the purposes of the multi-dispatch candidate sort. Now, it gets two entries in the list that we sort: one Any, as before, and an extra one with Int. |
21:12 | |
kudo/nom: ef3ef50 | jnthn++ | src/core/List.pm: Fix dodgy xx candidate set. We had a Real() candidate that accepted a thunked required named arg, and an Int() one that did not. Make them both Int(). This is likely how they should have been in the first place, and fixes a regression introduced by the multi-dispatch coercion semantics changes. |
|||
kudo/nom: 6e7735d | jnthn++ | src/core/Hash.pm: Remove DELETE-KEY Str candidate; let Str() do it. With the new multi-dispatch semantics around coercion types, this led to an ambiguous dispatch error. |
|||
colomon launches a new smoke run with that | 21:13 | ||
21:13
jack_rabbit joined
|
|||
dalek | ast: 0f4a710 | jnthn++ | S06-multi/type-based.t: Basic test for new multi/coercion semantics. |
21:15 | |
jnthn | colomon++ | ||
I hope the relative youth of coercion types will make impact be nothing to minimal. | 21:16 | ||
otoh, today I taught NativeCall about unsigned types that that made the ecosystem already, so... :) | |||
Anyway, time to get some rest. :) | 21:17 | ||
colomon | o/ | ||
TimToady | 'night | ||
jnthn | 'night o/ | ||
masak | 'night, jnthn | 21:18 | |
TimToady starts his own test runs and his own snooze & | 21:19 | ||
21:31
lucasb left
21:32
kurahaupo1 left
21:44
raiph left
21:53
raiph joined
21:54
lichtkind joined
|
|||
lichtkind | how do i remove the filename part from $?FILE.IO.abspath ? | 21:54 | |
raydiak | $?FILE.IO.parent.abspath | 21:57 | |
grondilu | Stage mast : Segmentation fault | 22:00 | |
linux, 32bits, MoarVM | |||
lichtkind | grondilu++ that works thanks | ||
raydiak | yw :) | 22:02 | |
grondilu | not sure what you refer to with "that works" | ||
lichtkind | sorry | ||
22:02
pmurias left
|
|||
lichtkind | i meant raydiak++ | 22:02 | |
and dont worry i dont -- you :) | |||
grondilu | so I have no more perl6 on my machine :( what shall I do? :) | 22:03 | |
lichtkind | install from git :) | 22:04 | |
grondilu | by the way it's quite not normal that a fail build breaks my install | ||
lichtkind | go with freshest and help the guys here with testing | ||
raydiak | grondilu: yeah that is weird...rakudobrew? | ||
grondilu | no | 22:05 | |
now when I try to run perl6 I get: | |||
Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp' (from 'src/gen/m-main.nqp' | |||
raydiak | oh cd out of the build dir | ||
grondilu | still | ||
raydiak | weird/sad :P | 22:06 | |
grondilu runs which perl6 to make sure his path is ok | |||
grondilu gets /usr/local/bin/perl6 as expected | |||
raydiak | that's the same error I get when I try to run the perl6 in my path from a (different) rakudo's directory | 22:07 | |
22:10
eli-se left
22:14
RabidGravy left
22:15
ggoebel joined
22:19
jack_rabbit left
22:26
jack_rabbit joined
22:33
lichtkind left
|
|||
grondilu | plus, why would perl6 ever need some nqp code? | 22:39 | |
22:53
espadrine_ left
|
|||
raiph | grondilu: irclog.perlgeek.de/perl6/2015-04-04#i_10390072 ? | 22:54 | |
23:13
jack_rabbit left
23:19
ggoebel left
23:47
Rounin left
23:57
grondilu left
|