»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:01
coffee` left
00:06
cognominal left
00:14
mohij_ joined
00:18
mohij left
00:20
mohij_ left
00:22
captain-adequate left
00:29
laouji joined
00:39
laouji left
00:45
laouji joined
00:51
atroxaper joined
00:55
atroxaper left
01:08
skids joined
01:10
BenGoldberg joined
01:12
yqt left
01:15
VinceDee left
01:16
Hor|zon_ joined
01:19
rmgk_ joined,
rmgk is now known as Guest63373,
rmgk_ is now known as rmgk
01:21
Guest63373 left,
Hor|zon left
01:36
xinming left
|
|||
tony-o | hoelzro: that pipe problem for me isn't related to swallowing errors afaik | 01:38 | |
01:38
xinming joined
|
|||
tony-o | the problem is more related to libuv handles needing to be copied to be access cross thread and that doesn't happen in MOAR | 01:39 | |
01:40
dayangkun joined
01:44
ilbot3 left
01:47
ilbot3 joined
01:59
Calibellus joined
02:02
gfldex left,
gfldex joined
02:04
yeahnoob joined
02:09
noganex joined
02:12
noganex_ left
02:17
gfldex left,
kaare_ joined
02:23
amurf left
02:24
amurf joined
02:28
amurf left
02:29
nys left
02:40
vendethiel joined
02:49
Celelibi left
02:50
Celelibi joined
|
|||
hoelzro | tony-o: alright, thanks for confirming | 03:09 | |
I've only seen it with sockets myself, and I thought I reproduced with regular files | 03:10 | ||
I'll dig into $*IN as well | |||
03:17
BenGoldberg left
|
|||
dalek | p: ccd06bf | hoelzro++ | tools/lib/NQP/Configure.pm: Print out some Moar information |
03:37 | |
03:38
travis-ci joined
|
|||
travis-ci | NQP build errored. Rob Hoelz 'Print out some Moar information' | 03:38 | |
travis-ci.org/perl6/nqp/builds/71190715 github.com/perl6/nqp/compare/ae07b...d06bf6c1c9 | |||
03:38
travis-ci left
|
|||
dalek | p/travis-testing: ccd06bf | hoelzro++ | tools/lib/NQP/Configure.pm: Print out some Moar information |
03:39 | |
03:40
atroxaper joined
03:41
laouji left
03:44
pnu left,
atroxaper left,
vendethiel left
03:45
ggherdov left
03:48
vendethiel joined
03:49
clkao joined,
SmokeMachine joined
03:51
laouji joined
04:02
pnu joined
04:10
vendethiel left
04:11
chansen_ joined
04:18
amurf joined
04:33
dayangkun left
04:35
khw joined
04:36
ggherdov joined
04:37
Alina-malina joined
04:39
dayangkun joined
04:55
][Sno][ left
05:04
Calibellus left
05:14
khw left
05:18
skids left
05:36
atroxaper joined
05:43
laouji left
05:44
aborazmeh joined,
aborazmeh left,
aborazmeh joined
05:45
laouji joined,
geekosaur left
05:47
geekosaur joined
05:48
diana_olhovik joined
05:52
laouji left
06:12
mr-foobar joined
06:14
[Sno] joined
06:16
mr-foobar left
06:17
mr-foobar joined,
vendethiel joined,
FROGGS joined
06:23
mr-foobar left
06:24
mr-foobar joined
06:27
domidumont joined
06:31
domidumont left
06:32
domidumont joined
06:35
_mg_ joined
06:39
diana_olhovik left
06:41
jonathan__ joined,
vendethiel left,
jonathan__ is now known as RabidGravy
06:45
zakharyas joined
06:49
CIAvash joined
07:01
vendethiel joined
07:04
araujo joined,
FROGGS left
07:21
vendethiel- joined,
vendethiel left
07:24
araujo left
07:29
araujo joined,
geekosaur left
07:31
geekosaur joined
07:32
jaffa4 joined
|
|||
jaffa4 | hi all | 07:32 | |
RabidGravy | marnin | ||
07:32
darutoko joined
|
|||
jaffa4 | I have a small class example.. Should I work? | 07:33 | |
gist.github.com/jaffa4/65d3e848cf08024957b0 | |||
if you run it you should get 4 | |||
moritz | jaffa4: no | 07:35 | |
masak | morning, #perl6 | ||
moritz | jaffa4: only attributes with accessors are automaticaly initialized by new/bless | ||
wouldn't be very private if you could initialize it from the outside, no? | |||
masak | jaffa4: easy fix: write `has $.b;` with a dot | ||
jaffa4: which means that you can also writhe `$c.b` instead of `$c.get` -- double win :) | 07:36 | ||
jaffa4 | and what is the other way? | ||
What is the weather like in Sweden? | |||
masak | sunny. | 07:37 | |
jaffa4: the other way, the one you wrote? `has $b` is just a bad way to write `has $!b` | 07:38 | ||
moritz | the other way is to write your own BUILD method that sets the attribute | ||
[ptc] | \quit | ||
doh! | |||
masak | [ptc]: bye! | ||
07:43
vendethiel- left
07:47
vendethiel joined
|
|||
[ptc] needed to do a maintenance reboot ... | 07:51 | ||
jnthn | morning, #perl6 | 07:54 | |
oha | m: say time-1; | ||
camelia | rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U1XYBO6oSvUndeclared routine: time used at line 1» | ||
oha | m: say time -1; | ||
camelia | rakudo-moar 89847f: OUTPUT«1437033272» | ||
oha | didn't expected it, despite i've used method-names like this | 07:55 | |
m: say time()-1 | |||
camelia | rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wiVssWgBALUndeclared routine: time used at line 1» | ||
moritz | time is a term, not a subroutine | 07:56 | |
though I still wonder if maybe that causes more confusion than it's worth | |||
m: sub mytime() { time }; say mytime - 1 | |||
camelia | rakudo-moar 89847f: OUTPUT«Too many positionals passed; expected 0 arguments but got 1 in sub mytime at /tmp/0QWSaCwmSU:1 in block <unit> at /tmp/0QWSaCwmSU:1» | ||
moritz | why don't I get a compile-time "will never work" error here? | 07:57 | |
oha | moritz, i actually thought that part of the confusion was the dash | ||
moritz | oha: yes | ||
oha: it's just that time() doesn't work because it's not a sub, and it's not a sub so that 'time -1' can work | 07:58 | ||
oha | otherwise the -1 will be considered an argument, i see that now | 07:59 | |
but so, if it is a term, why time -1 works, and not time-1? | |||
if time-1 is parsed as a "ident" then why it complains about "time" and not "time-1"? | 08:00 | ||
masak | m: sub mytime() { time }; say mytime 5 | 08:03 | |
camelia | rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/L5DhaYWctdCalling mytime(int) will never work with declared signature ()at /tmp/L5DhaYWctd:1------> 3sub mytime() { time }; say 7⏏5mytime 5» | ||
masak | moritz: because `5` is a constant, but `-1` is a very complex expression :P | ||
08:04
telex left,
dakkar joined,
telex joined
|
|||
masak thinks that if Perl 6 just decided that -1 is a constant too (like in parameter context), that would eliminate a set of confusing cases and the world would be a better place | 08:05 | ||
jaffa4 | Why is binding used in BUILD method example? | 08:07 | |
oha | masak, although, say time-$x; would fail anyway | ||
jaffa4 | in there doc.perl6.org/language/objects#Object Construction | ||
masak | jaffa4: which example is that? | ||
08:08
vendethiel left
|
|||
jaffa4 | section object construction | 08:08 | |
class EncodedBuffer <<<<<<< | 08:09 | ||
oha | i'm actually thinkg, is abc-123() a valid method name? it seems that after a dash you need a letter, as in a12-b34() so why is time-1 or time-$x confusing at all? | 08:11 | |
(sorry if i'm silly, i'm just really curious) | |||
jnthn | abc-123 ain't a valid method (or sub) name | 08:13 | |
std: say time-1 | |||
camelia | std 28329a7: OUTPUT«ok 00:01 136m» | ||
jnthn | In Rakudo's grammar we have: | ||
token term:sym<time> { <sym> <.end_keyword> } | |||
Where | 08:14 | ||
token end_keyword { | |||
» <!before <[ \( \\ ' \- ]> || \h* '=>'> | |||
} | |||
And that - in there is why we reject it | |||
I don't know off hand whether it's Rakudo or STD that's out of line here. | |||
oha | std: say now-time; | 08:15 | |
camelia | std 28329a7: OUTPUT«5===SORRY!5===Undeclared routine: 'now-time' used at line 1Check failedFAILED 00:00 135m» | ||
08:15
FROGGS joined
|
|||
jnthn | That's certainly a sub name, and wins on longest token semantics. | 08:15 | |
oha | jnthn, yeah, i sort of expected it | ||
jaffa4 | What is the implementation of the build-in parser? | 08:16 | |
What type of parser is it? | |||
jnthn | jaffa4: It's implemented as a Perl 6 grammar, which is a PEG, with longest declarative token as the key disambiguator | 08:17 | |
08:19
amurf left
08:20
amurf joined,
rurban joined
08:24
amurf left
08:25
abraxxa joined
|
|||
RabidGravy | so I halved the time to encode a wav to mp3 by cutting out the intermediate arrays - if I could cut out the CArray -> Buf -> .write step it might even be usable | 08:27 | |
jaffa4 | jnthn: is it packrat parser? | 08:31 | |
08:32
llfourn joined,
espadrine joined
08:33
Tad_ joined
08:34
llfourn left
|
|||
Tad_ | Is perl 6 arrays different from perl 5 arrays | 08:34 | |
jaffa4 | in what way? | ||
jnthn | They're different in various ways. | 08:35 | |
08:35
llfourn joined
|
|||
jnthn | jaffa4: Not sure off hand | 08:35 | |
Unlikely though | 08:36 | ||
08:37
VinceDee joined
08:38
llfourn_ joined,
llfourn_ left,
espadrine left
08:46
vendethiel joined
08:50
coffee`_ joined,
rurban left
08:55
g4 joined,
espadrine joined
08:56
dakkar left
|
|||
masak | Tad_: could you be more specific? there surely are ways to use Perl 6 arrays exactly like Perl 5 arrays, but that doesn't mean they're completely the same. | 09:00 | |
09:09
espadrine left,
vendethiel left
09:21
vendethiel joined
09:23
ShimmerFairy joined
09:24
Hor|zon_ left
|
|||
moritz | Perl 6 arrays are potentially lazy, so yes, they are different | 09:26 | |
also, they have methods | |||
Perl 5 arrays aren't objects | |||
jaffa4 | number of elements:: @a.elems.... | 09:28 | |
moritz | though you can still just use the array in numeric context to get the number of elements | 09:31 | |
jdv79 | is there "slush" period coming up? | 09:33 | |
sept sometime maybe? | 09:34 | ||
jnthn | I really hope by sept we'll be done with the major semantic tweaks. | 09:36 | |
And can focus on bugs, performance, polish. | |||
jdv79 | very nice | 09:37 | |
jnthn | The GLR and multi-dim stuff are the two big areas, but I'll be giving concurrency stuff a good going over in the near future too | 09:39 | |
CIAvash | is 'is cached' for methods going to be implemented anytime soon? | ||
jnthn | CIAvash: Well, we talked a bit about how it might be done at some point, at least... | 09:41 | |
jnthn noted that it probably wants to be a per-instance cache | |||
09:42
vendethiel left
|
|||
jaffa4 | Is this wrong? @(%!list{$group}).push:$entry; | 09:45 | |
jnthn | Don't see why you need the @(...) | 09:46 | |
In fact, putting it almost certainly will break things. | 09:47 | ||
jaffa4 | It did not push | ||
yakudza | omg I thought @{@{%{$blabla notations are left in perl5 (: | ||
jnthn | Yeah, I won't | ||
*it | |||
It'll probably coerce to a throw-away list, which you push to | |||
You just want to %!list{$group}.push: $entry | 09:48 | ||
It'll even auto-viv an array | |||
If there ain't one there already | |||
jaffa4 | that did not seem to work | ||
jnthn | Then you probably did it wrong. | ||
m: my %list; %list{'xxx'}.push: 42; say %list.perl | |||
camelia | rakudo-moar 89847f: OUTPUT«{:xxx([42])}<>» | ||
jnthn | m: my %list; %list{'xxx'}.push: 42; say %list<xxx>[0] | 09:49 | |
camelia | rakudo-moar 89847f: OUTPUT«42» | ||
jnthn | yakudza: @{...} surely is | ||
m: my $x; @{$x} | |||
camelia | rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zO_lem3d5vUnsupported use of @{$x}; in Perl 6 please use @($x)at /tmp/zO_lem3d5v:1------> 3my $x; @{$x}7⏏5<EOL>» | ||
jnthn | But you rarely need it at all | 09:50 | |
Since depending how you want to see it, everything is a reference, or there are no references :) | |||
yakudza | m: my $x = [0..9]; say $x; say @($x); | 09:52 | |
camelia | rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9» | ||
JimmyZ | m: my $x = [0..9]; .say for $x; | 09:53 | |
camelia | rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 9» | ||
JimmyZ | m: my @x = [0..9]; .say for @x; | ||
camelia | rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 9» | ||
yakudza | so now almost no difference between ref to list and list ? | 09:54 | |
I should read about it (: | |||
jaffa4 | m: my %list; %list{'xxx'}.push: 42; say %list.perl; | ||
camelia | rakudo-moar 89847f: OUTPUT«{:xxx([42])}<>» | ||
jaffa4 | jnthn: space matters after :???? | 09:56 | |
jnthn | m: my %list; %list{'xxx'}.push:42; say %list.perl; | ||
camelia | rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3u9FjAm6XDConfusedat /tmp/3u9FjAm6XD:1------> 3my %list; %list{'xxx'}.push:7⏏0542; say %list.perl; expecting any of: colon pair» | ||
jnthn | Yes :) | ||
std: my %list; %list{'xxx'}.push:42; say %list.perl; # wonder if it explains any further | 09:57 | ||
camelia | std 28329a7: OUTPUT«5===SORRY!5===Confused at /tmp/c9GtaPhw_6 line 1:------> 3my %list; %list{'xxx'}.push:7⏏0542; say %list.perl; # wonder if it expla expecting any of: coloncircumfix signatureParse failedFAILED 00:00 139m» | ||
jnthn | No :) | ||
Makes sense though | |||
Since it's potentially ambiguous with a colonpair in a method name. | |||
Rakudo does a bit better there in saying what it expected too | 09:58 | ||
jaffa4 | the program did not fail for me, it worked differently | ||
09:58
yeahnoob left
|
|||
RabidGravy | jnthn, the rt.perl.org/Ticket/Display.html?id=125408 appears to have fixed itself for a week or so now, if someone makes a test I'm happy to close it | 10:08 | |
Tad_ | What is the best perl 5 compiler for windows | 10:09 | |
CIAvash | m: my $a = [0..9]; .say for $a; | 10:12 | |
camelia | rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 9» | ||
CIAvash | m: my $a = [0..9]; .say for $a>List; | ||
camelia | rakudo-moar 89847f: OUTPUT«Use of uninitialized value of type List in numeric context in block <unit> at /tmp/wOowG1oOQo:1True» | ||
CIAvash | m: my $a = [0..9]; .say for $a.List; | 10:13 | |
camelia | rakudo-moar 89847f: OUTPUT«0123456789» | ||
CIAvash | m: my $a = [0..9]; .say for @($a); | ||
camelia | rakudo-moar 89847f: OUTPUT«0123456789» | ||
CIAvash | m: my @a = [0..9]; say @a[0]; | 10:14 | |
camelia | rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 9» | ||
Tad_ | is rakudo the best compiler for windows | ||
jaffa4 | Is it possible now to add a language to Perl6? | 10:15 | |
Tad_ | you can add in lua and tcl | 10:16 | |
10:17
Tad_ left
10:18
virtualsue joined
10:20
pez_ joined,
pez_ is now known as Guest84398
|
|||
Guest84398 | in perl 6 do you use "say" instead of "print"? | 10:21 | |
moritz | often, yes | 10:22 | |
masak | I use both | 10:23 | |
but `say` definitely more often | |||
10:24
mr-foobar left
|
|||
jaffa4 | Is it easy to write a module to extend Perl6? | 10:25 | |
moritz | depends on what exactly you want to extend | ||
new symbols are generally easy | |||
jaffa4 | what if i added embedded Sql to Perl6? | ||
Guest84398 | Can you use inline assembly with perl6 code | 10:26 | |
moritz | jaffa4: I think you'd have to write a slang for that | ||
jaffa4 | Does slang work? | ||
moritz | Guest84398: possibly via Inline::C | ||
jaffa4: not as nicely as we want it to do, but FROGGS++ has written several already | 10:27 | ||
jaffa4 | What did he write? | ||
moritz | jaffa4: modules.perl6.org/ search for slang | 10:28 | |
3 are from FROGGS | |||
10:28
vendethiel joined
|
|||
Guest84398 | Is there any perl6 compilers that with work with unix shell? | 10:29 | |
moritz | Guest84398: define "work with" | ||
you can all rakudo from the shell | |||
masak .oO( you can all go to shell! ) | 10:30 | ||
Guest84398 | I am trying to automate some commands for a unix server | ||
moritz | so you want to run shell commands | ||
yes, that works | |||
oha | what about "rakudo in the shell"? :) | 10:31 | |
moritz | "rakudo in a nutshell" | ||
10:31
vendethiel- joined
10:32
vendethiel left
10:34
espadrine joined
|
|||
RabidGravy | jaffa4, github.com/tony-o/perl6-slang-sql/ | 10:34 | |
10:38
bjz joined
10:49
CIAvash left
10:53
itz joined,
dayangkun left
|
|||
itz | morning (just BST) | 10:54 | |
RabidGravy | :) | ||
Guest84398 | Does perl support inline pascal code? | 10:55 | |
moritz | Guest84398: are you a troll? | ||
DrForr | Write Inline::Pascal, and sure! | ||
itz | or do pascal in NQP? | 10:56 | |
10:56
mr-foobar joined,
Guest84398 left
|
|||
RabidGravy | troll then | 10:56 | |
right, supermarket! | 11:00 | ||
11:07
RabidGravy left
11:12
smls joined
11:15
TEttinger left
11:16
gfldex joined
|
|||
DrForr | I keep meaning to use Pascal as a test case for parsing, but haven't gotten around to it. Should finish up the ANTLR converter and use that :) | 11:22 | |
itz | isn't it defined as BNF? (vague memories of CS of decades past) | 11:29 | |
DrForr | ANTLR? Hardly, closer to PEG or LALR(inf). | 11:30 | |
itz | no pascal | ||
DrForr | Probably, but it's easier to convert someone else's grammar. | ||
And lets me check out the output from the parser converter. | |||
arnsholt | Heh. And here I thought half the fun of writing a compiler is getting the grammar right =D | 11:31 | |
Probably my computational linguistics background showing | |||
11:31
llfourn left
11:32
llfourn joined
|
|||
jnthn | People have varying ideas of fun ;) | 11:33 | |
arnsholt | Definitely =) | ||
11:36
jaffa4 left
11:40
wtw left
|
|||
oha | I have a situation where i get "Missing or wrong version of dependency" on a module, as soon as i fix it i get the same on another one, and then back to square one | 11:44 | |
could anyone help? here some more info: gist.github.com/anonymous/d953766206a22761896a | |||
11:45
|Tux| joined
11:49
ely-se joined
|
|||
moritz | oha: usually the only remedy is to nuke the install dir, and reinstall everything (including panda) | 11:50 | |
oha | moritz, so it is something known, no need to report it | ||
11:51
llfourn left
|
|||
moritz | oha: sadly yes | 11:52 | |
11:52
llfourn joined
11:57
amurf joined
12:02
amurf left
12:09
brrt joined
12:10
atroxaper left
|
|||
hoelzro | good morning #perl6 | 12:38 | |
itz | I seem to be having a "nothing works day" maybe finishing the bottle of Club Mate will help | 12:57 | |
masak | I found modelviewculture.com/pieces/the-li...-languages interesting and relevant to Perl 6 as it matures. | 13:00 | |
oha | moritz, didn't worked. i removed moar-nom from rakudobrew and reinstalled it, then panda installed the modules, and got to the same point | 13:02 | |
13:02
|Tux| left
|
|||
oha | i wonder if i forgot something now | 13:02 | |
13:03
|Tux| joined
|
|||
itz | oha: you could check what "rakudobrew nuke" does .. although myself I tend to remove the entire .rakudobrew directory | 13:04 | |
oha | i noticed it change quite a lot by changing the order of the "use"s | 13:05 | |
13:24
skids joined
|
|||
cdc | m: .say for { :a, :b }, { :c, :d } | 13:30 | |
camelia | rakudo-moar 89847f: OUTPUT«a => True, b => Truec => True, d => True» | ||
cdc | m: gather take $_ for { :a, :b }, { :c, :d } | ||
camelia | ( no output ) | ||
13:30
ely-se left
|
|||
cdc | m: my @c := gather take $_ for { :a, :b }, { :c, :d }; .say for @c | 13:30 | |
camelia | rakudo-moar 89847f: OUTPUT«a => True, b => Truec => True, d => True» | ||
cdc found the answer to his question :) | 13:31 | ||
13:36
JimmyZ_ joined
|
|||
FROGGS | o/ | 13:37 | |
yoleaux | 15 Jul 2015 15:23Z <lizmat> FROGGS: re irclog.perlgeek.de/perl6/2015-07-15#i_10898154 , yes that was intentional | ||
15 Jul 2015 15:25Z <lizmat> FROGGS: since the error messages could also come from using the sub version, so the prefixing period could be misleading | |||
15 Jul 2015 15:27Z <lizmat> FROGGS: re irclog.perlgeek.de/perl6/2015-07-15#i_10898200 , the range info is just for display, so a string will do fine | |||
13:38
skids left
|
|||
jnthn | o/ FROGGS | 13:40 | |
oha | itz, even removing rakudobrew folder and starting from scratch, i get similar errors. but i must go now, will check again later | 13:42 | |
tadzik, ^^ | |||
13:46
_mg_ left
|
|||
tadzik | oh, interesting | 13:47 | |
cdc | Hello all, do you confirm that variadic functions are not supported by NativeCall yet? | 13:54 | |
timotimo | yes, sorry about that :( | ||
FROGGS: did you have a look at whether or not libffi can support var args? | 13:55 | ||
cdc | timotimo: ok, no problem :) | ||
timotimo: AFAIK libffi support var args | |||
jnthn | dyncall also supports varargs | 13:56 | |
We just didn't implement it yet | |||
13:56
skids joined,
llfourn left
|
|||
timotimo | yes, i've looked at dyncall's varargs in the past, but i didn't do anything with it yet | 13:57 | |
13:59
RabidGravy joined
14:01
vendethiel- is now known as vendethiel
|
|||
RabidGravy | erp | 14:02 | |
itz | Enterprise resource planning> | ||
14:02
_mg_ joined
|
|||
itz | :) | 14:02 | |
dalek | kudo-star-daily: efbb705 | coke++ | log/ (9 files): today (automated commit) |
14:04 | |
14:04
g4 left
|
|||
arnsholt | Regarding libffi vs. dyncall, I think both should support mostly the same stuff | 14:05 | |
AIUI libffi is more commonly used in HLLs than dyncall | |||
FROGGS | I am very happy that we can use both now btw | 14:12 | |
14:12
xinming left
14:14
khw joined
14:17
aborazmeh left
14:19
khw left
14:20
bougyman left,
llfourn joined
|
|||
timotimo | me, too | 14:25 | |
good work FROGGS :) | |||
FROGGS | :o) | ||
was fun | |||
and just a weekend worth of work | |||
14:26
VinceDee left
|
|||
itz | "constant LIB = sprintf $*VM.config<dll>, "curl";" is probably more portable than hardcoding .so everywhere .. was wondering if this sort of thing belongs in NativeCall itself though | 14:26 | |
timotimo | nativecall already has a bit of code in it that tries to guess a library name | ||
sadly, it doesn't have a way to figure out if a given name is right, so it'll decide on one candidate and then it's hit-or-miss | 14:27 | ||
itz | ah of course :) | ||
14:27
_mg_ left
|
|||
FROGGS | constant LIB = 'curl' # should hopefully good enough | 14:27 | |
be* | |||
timotimo | jnthn: how would you feel about an nqp op that lets us probe a library name for existence on the system? perhaps it could even fall back to calling ldconfig on linux for finding stuff ... | ||
14:27
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
RabidGravy | LibraryMake has some similar code in it | 14:27 | |
itz | constant LIB = 'libcurl'; works | 14:29 | |
14:29
vytas left
|
|||
masak | m: my %h = foo => "bar"; say "food".trans(%h.keys => %h.values) | 14:29 | |
camelia | rakudo-moar 89847f: OUTPUT«bard» | ||
masak | \o/ | ||
itz | in that case maybe NativeCall should warn if the suffix exists since it's system specific? | ||
masak | m: my %h = foo => "bar"; say "food".trans(.keys => .values) given %h | 14:30 | |
camelia | rakudo-moar 89847f: OUTPUT«bard» | ||
14:31
vytas joined
14:34
AlexDaniel joined
|
|||
itz | actually constant LIB = 'libcurl'; would break windows and constant LIB = 'curl' errors on OS X whereas my suggested line would I think work | 14:35 | |
masak | m: say words "foo bar baz" | 14:39 | |
camelia | rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AY1j4M_NTKUndeclared routine: words used at line 1. Did you mean 'ords'?» | ||
masak | why isn't `words` a sub as well as a method? seems it could be useful? | ||
(I was just in a situation where I would've preferred the sub form to the method for, because of end weight) | |||
14:40
synbot6 joined
|
|||
itz | are there any test cases for NativeCall::guess_library_name? | 14:42 | |
smls | m: dd lines "aa\nbb\ncc" | 14:43 | |
camelia | rakudo-moar 89847f: OUTPUT«("aa", "bb", "cc")» | ||
masak | right. especially given `lines` is already a sub, why not `words`? | 14:44 | |
smls | should 'words' without args also read from $*IN like 'lines' without args? | ||
masak | no, IMO. | 14:45 | |
it's kind of a historic accident that `lines` does, even. | |||
smls | fair enough | 14:46 | |
masak | also, it's easy in retrospect to decide to allow `words()` and have it mean that... but not so easy to back out of/deprecate. | ||
smls | I'd say, wait half a day for TimToady/others to comment; if no-one does just go ahead and add it :P | 14:47 | |
PerlJam | smls: but ... forgiveness >> permission ;) | 14:48 | |
14:48
brrt left
|
|||
smls | right, or simply add it and then revert if necessary. | 14:49 | |
m: my @a; dd lines @a; | |||
camelia | rakudo-moar 89847f: OUTPUT«()» | ||
smls | Nice; I was afraid the no-arg case would kick in. | 14:50 | |
How can it do that? | |||
ah, of course, it's not a slurpy | 14:51 | ||
FROGGS | m: say Code.^mro | ||
camelia | rakudo-moar 89847f: OUTPUT«(Code) (Any) (Mu)» | ||
FROGGS | m: say Block.^mro | ||
camelia | rakudo-moar 89847f: OUTPUT«(Block) (Code) (Any) (Mu)» | ||
dalek | kudo/nom: 532c1c4 | RabidGravy++ | t/04-nativecall/16-rt125408.t: Add test for RT#125408 |
14:55 | |
kudo/nom: ce88222 | lizmat++ | t/04-nativecall/16-rt125408.t: Merge pull request #471 from jonathanstowe/rt125408-test Add test for RT#125408 |
|||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125408 | ||
RabidGravy | I'll close that ticket then ;-) | ||
lizmat | RabidGravy++ | 14:56 | |
RabidGravy | All closed ;-) | 15:00 | |
smls | .oO( except for the 1030 RTs that are still open... ) |
15:03 | |
itz | . o O ( 1030 isn't even a power of 2 ) | 15:04 | |
hoelzro | I find myself wondering how many of those can just be closed | ||
itz | "WONTFIX" | 15:05 | |
hoelzro | itz: I mean ones that have actually *been* fixed and someone forgot to check =) | ||
dalek | osystem: c318eeb | jaffa4++ | META.list: Update META.list added Ini::Storage |
15:06 | |
15:07
vytas left
15:09
jaffa4 joined
15:10
smls left
|
|||
dalek | p/leave: 4c33d5e | FROGGS++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: change CONTROL_RETURN to CONTROL_LEAVE |
15:16 | |
kudo/leave: 1f6e726 | FROGGS++ | src/ (5 files): change CONTROL_RETURN to CONTROL_LEAVE, add leave() and Block.leave |
15:17 | ||
15:18
estrabd joined,
estrabd left
15:20
estrabd joined,
estrabd left,
zakharyas left,
estrabd joined
15:24
nys joined
15:25
recojax joined
15:34
captain-adequate joined
15:35
amurf joined
15:36
aborazmeh left
15:40
amurf left
|
|||
[Coke] | Lots of people are checking. Easiest thing to do is sort all perl 6 tickets by last updated date. | 15:48 | |
15:48
telex left
|
|||
[Coke] | if something has been open for over, say, 2 years, make sure it's still a problem. You can comment on the ticket (replyng to list) showing updated output, or saying "behavior unchanged". | 15:48 | |
Also look for testneeded and write tests. (or unfixed ones that don't have tests and write tests so we can just close it when it's fixed) | 15:49 | ||
15:50
telex joined
|
|||
hoelzro | [Coke]: good point | 15:53 | |
[Coke] | s/open for/not updated for/ , I mean | ||
jaffa4 | I added a new module, I cannot see it in Panda...What can be wrong? | 15:56 | |
15:57
skids left
|
|||
PerlJam | jaffa4: did you run "panda update"? | 15:57 | |
jaffa4 | yes, but it did not seem to have an effect first as it seems to have an effect now | 15:58 | |
15:59
domidumont left
|
|||
RabidGravy | I think the packages.json is generated by a cron-job | 16:00 | |
jaffa4 | I see | 16:01 | |
16:04
cognominal joined
|
|||
timotimo | yes, as soon as it shows up on modules.perl6.org, you can panda install it | 16:05 | |
it should be installable now, i think | |||
16:07
nebuchadnezzar left
|
|||
dalek | kudo/nom: 4b5a5f9 | (Lucas Buchala)++ | src/core/CompUnitRepo.pm: Fix vim modeline |
16:07 | |
kudo/nom: 0fa8c44 | FROGGS++ | src/core/CompUnitRepo.pm: Merge pull request #472 from lucasbuchala/temp1 Fix vim modeline |
|||
16:08
nebuchadnezzar joined
16:09
vendethiel left
16:10
abraxxa left
16:16
vendethiel joined
|
|||
vendethiel | FROGGS++ # leave! wee | 16:18 | |
FROGGS | vendethiel: we are not there yet | ||
vendethiel | FROGGS: I know, I saw the debug nqp::say() in the commit :P | ||
FROGGS | hehe, right | ||
16:31
Juggu joined
16:32
Juggu left
16:33
recojax left,
recojax joined
16:40
itz left
|
|||
jaffa4 | How can I see points? | 16:41 | |
16:41
diana_olhovik joined
|
|||
timotimo | "see"? "points"? | 16:42 | |
PerlJam | jaffa4: context please? | ||
jaffa4 | ++ | ||
timotimo | oh | ||
jaffa4 | What do you call it? | ||
timotimo | they aren't tracked, if i remember correctly | ||
"karma" | |||
PerlJam | karma jaffa4 | ||
just checking | |||
jaffa4 | karma PerlJam | 16:43 | |
!karma | |||
16:46
JimmyZ_ left
|
|||
FROGGS | there is no karma bot present | 16:48 | |
jaffa4 | so it is just a habit to show compliment | ||
FROGGS | aye | ||
we are just nice, that's all :o) | 16:49 | ||
cdc | .seen lambdabot | ||
yoleaux | I haven't seen lambdabot around. | ||
ugexe | a long shot... but anyone had luck installing dyncall on armv7/freebsd? i was able to install moarvm on this setup 6 months ago but now dyncall fails. i had to reinstall everything before restesting so it could be my dev env is not setup properly | 16:50 | |
FROGGS | ugexe: I have not such a machine.... but you can also try passing --has-libffi to MoarVM's Configure.pl | 16:52 | |
ugexe: but make sure you've got libffi-dev installed | |||
ugexe: or you no-paste the failing build output and we'll see what we can do | 16:53 | ||
geekosaur | freebsd doesn't make distinctions with -dev | ||
FROGGS | so I restate: "the header files must also be present" :o) | ||
geekosaur | they will be | ||
you don't get the binary part without the linker and header bits | |||
FROGGS | k | ||
ugexe | heh. i will give both a try. gotta rerun to log the output first | 16:54 | |
16:54
ely-se joined
|
|||
geekosaur | (and -devel means a testing release for ports) | 16:54 | |
16:55
_mg_ joined,
ely-se left,
spider-mario joined
16:56
domidumont joined
16:57
_mg_ left
16:59
JimmyZ_ joined
|
|||
AlexDaniel | jaffa4: you can parse the logs and generate the stats if you want :) | 17:00 | |
jaffa4 | sure | ||
17:02
JimmyZ_ left
17:11
Calibellus joined
17:12
Calibellus left
|
|||
_itz | ugexe: which compiler? clang or gcc | 17:14 | |
17:18
jaffa4 left
17:21
sivoais joined,
[Sno] left
|
|||
ugexe | both fail. looking closer at it gcc errors while building dyncall whereas clang just doesnt build it. the process goes gcc(compiling src/jit/stub.o, building dyncall.., "errors") and clang(compiling src/jit/stub.o, linking 3rdparty/libatomic_ops/src/libatomic_ops.a checking build system type... armv6-unknown-freebsd11.0, ... linking libmoar.so, "error") | 17:22 | |
17:23
_mg_ joined
|
|||
ugexe | by process i mean thats the output of the build process | 17:23 | |
still waiting on the build for a full log | |||
17:26
zakharyas joined
17:32
_mg_ left,
skids joined
17:37
atweiden joined
17:49
espadrine left
17:50
zakharyas left
|
|||
ugexe | gist.github.com/ugexe/175bc466e965...1-txt-L346 | 17:53 | |
thats from a rakudobrew build, so no special configuration arguments are being passed to moar's Configure.pl | 17:55 | ||
geekosaur | urgh | ||
compare line 344 to line 347 | 17:56 | ||
it switched asm syntax on youy | |||
masak | to whoever made the "Redeclaration of symbol <var>" a warning instead of an error: thank you <3 | 17:59 | |
RabidGravy | "panda gen-meta" seems to be doing "===SORRY!=== | 18:02 | |
no such file or directory" | |||
18:05
llfourn left
|
|||
ugexe | building dyncall myself ends the same way. the last command however is | 18:05 | |
cc -fPIC -I/home/ugexe/dyncall/././dyncallback/../dyncall -c dyncall_callback_arch.S -o dyncall_callback_arch.o | |||
cognominal | how to define a token as a submethod? I have a grammar B derived from a grammar A. Each one has its own <ws> token but due to virtual method rules B::ws "leaks" into A. Is there a way short of creating two languages?a | 18:10 | |
m: grammar A { token a { <a_> } ; token a_ { a } }; grammar B is A { token TOP { <a> }; token a_ { b } }; say B.parse('a') | 18:11 | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«(Any)» | ||
cognominal | m: grammar A { token a { <a_> } ; token a_ { a } }; grammar B is A { token TOP { <a> }; token a_ { a } }; say B.parse('a') | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«「a」 a => 「a」 a_ => 「a」» | ||
ugexe | my token a_ ? | ||
cognominal | lexical rules are not visible from the method dispatch mechanism | 18:13 | |
geekosaur | ugexe, so somehow you end up in dyncall_callback_arm32_arm_gas.s but it's not using gnu assembler to assemble it | 18:15 | |
18:20
diana_olhovik left
|
|||
masak | all spectests passed successfully tonight. nice. someone++ | 18:21 | |
AlexDaniel | m: my \test = 5; say test; | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«5» | ||
AlexDaniel | what is this? | ||
sigilless variables?? | |||
masak | AlexDaniel: it's a sigil-less variable. | 18:22 | |
AlexDaniel: frankly, I don't use them much. | |||
AlexDaniel | masak: "much"? When do you use this? | ||
masak | AlexDaniel: TimToady like them. :) you will see them quite a lot on RosettaCode, especially for mathematical things. | ||
likes* | |||
AlexDaniel: oh, I consider the legitimate uses to be in parameter lists when you don't want to force an interpretation of the variable. | 18:23 | ||
AlexDaniel: like, `$` forces "item", `@` forces "list", etc. sigil-less does neither. | |||
AlexDaniel | hmm | ||
masak | AlexDaniel: the core setting uses it a lot for perf. I hope that use goes away. | 18:24 | |
AlexDaniel | m: my \_ = 5; say _; | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«5» | ||
masak | (because when you can just bind directly without forcing a context, apparently it's a bit faster) | ||
jnthn | Assignments to sigilless things, otoh, are slower | 18:25 | |
18:26
lucasb joined
|
|||
masak | I think TimToady uses them in math formulas because the dollar signs get in the way of the way the formula looks. | 18:26 | |
jnthn | (of course, you normally assign to a my \foo since it's SSA, but the parameter use) | ||
masak | I dunno, that doesn't bother me so much. | ||
jnthn | We actually sped up some things (like the ++ impl) by using $ instead of \ | ||
'cus the compiler does case analysis by sigil | 18:27 | ||
AlexDaniel | what characters are allowed in variable names? | ||
18:29
espadrine joined
18:35
diana_olhovik joined
|
|||
AlexDaniel | m: our $.a = 5; | 18:37 | |
camelia | rakudo-moar 0fa8c4: OUTPUT«Potential difficulties: Useless declaration of a has-scoped method in mainline (did you mean 'my a'?) at /tmp/FEQeoOYCVY:1 ------> 3our 7⏏5$.a = 5;» | ||
AlexDaniel | 'my a' ? | ||
timotimo | huh, some attribute not getting set properly in the exception class? | 18:38 | |
possibly the attribute was renamed, but its usages weren't updated? | |||
AlexDaniel | no idea, I'll submit rakudobug... | 18:39 | |
timotimo | quite. | ||
18:41
zakharyas joined
|
|||
cognominal | A follow up to my question. Does it make sense for rules to have the virtual method semantic? | 18:41 | |
timotimo | oh, huh, that's interesting | 18:42 | |
"Useless declaration of a has-scoped $nocando in " ~ ($*PKGDECL || "mainline") ~ " (did you mean 'my $*METHODTYPE $name'?)"); | |||
the error probably comes from trying to put the "a" method in place for accessing the attribute | 18:43 | ||
lucasb | m: our $!x | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NtlP7nE1eRCannot use ! twigil on our variableat /tmp/NtlP7nE1eR:1------> 3our $!x7⏏5<EOL> expecting any of: constraint» | ||
lucasb | A better error would be this ^^ | ||
AlexDaniel | lucasb: yea I've already tried this :) | ||
timotimo | well... :) | 18:44 | |
18:44
kyclark joined
18:45
[Sno] joined,
andreoss joined
18:48
smls joined
|
|||
andreoss | s: my @x = [3; 0; 6], [2;7;0]; say @x.flat.perl; | 18:49 | |
AlexDaniel | s? | 18:50 | |
18:50
FROGGS left
|
|||
andreoss | m: my @x = [3; 0; 6], [2;7;0]; say @x.flat.perl; | 18:50 | |
camelia | rakudo-moar 0fa8c4: OUTPUT«[[3, 0, 6], [2, 7, 0]]<>» | ||
smls | jnthn: Just read your blog from last week. Did TimToady respond to your gist (gist.github.com/jnthn/fa6a9a3618ae322cb581)? | ||
andreoss | why nothing happens here? | ||
smls | andreoss: Because [] creates itemized arrays (currently - apperently that's gonna change) | 18:52 | |
18:52
wtw joined
|
|||
smls | itemized specifically means "do not flatten". | 18:53 | |
andreoss | s: my @x = [3; 0; 6], [2;7;0]; say @x.map(*.flat).flat.perl; | 18:54 | |
m: my @x = [3; 0; 6], [2;7;0]; say @x.map(*.flat).flat.perl; | |||
camelia | rakudo-moar 0fa8c4: OUTPUT«(3, 0, 6, 2, 7, 0)» | ||
masak | grr, t/spec/S17-lowlevel/lock.rakudo.moar failed in this test run. | 18:56 | |
18:57
ssqq joined
|
|||
AlexDaniel | m: say 'x' x Inf ~ 'x' x -Inf ~ 'x' x NaN ~ 'x' x -1 ~ 'x' x -9e9; | 18:58 | |
camelia | rakudo-moar 0fa8c4: OUTPUT«» | ||
AlexDaniel | I wonder if any at least one of this should produce a warning | ||
andreoss | m: say Inf xx Inf | 19:01 | |
camelia | rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer in block <unit> at /tmp/UhJYJ9IrhU:1» | ||
19:03
ssqq left
|
|||
AlexDaniel | yeah, why x and xx work differently? | 19:03 | |
I mean, when you pass Inf as a second argument | 19:04 | ||
smls | x is for string repetition, xx for list repetition | ||
andreoss | m: say ~Inf; | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«Inf» | ||
lucasb | P6 still doesn't have lazy strings | ||
andreoss | m: say (~Inf xx Inf).perl | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«Cannot coerce Inf or NaN to an Int in block <unit> at /tmp/lLj1MDaX_v:1» | ||
AlexDaniel | m: 5 x Inf | ||
camelia | ( no output ) | ||
smls | oh, that's not what u mean | ||
AlexDaniel | m: 5 xx Inf | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer in block <unit> at /tmp/sE5IIO3tEg:1» | ||
colomon | and does have lazy lists | ||
andreoss | m: say (5 xx Inf).perl | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer in block <unit> at /tmp/eWLxcDSH0v:1» | ||
AlexDaniel | hmmm | ||
m: '5' x Inf | |||
camelia | ( no output ) | ||
andreoss | m: ~NaN xx Inf | 19:05 | |
camelia | rakudo-moar 0fa8c4: OUTPUT«Cannot coerce Inf or NaN to an Int in block <unit> at /tmp/KQ3Ov4W2UQ:1» | ||
andreoss | why? | ||
lucasb | 'xx' is not working with Inf | ||
but it works with * (Whatever) | |||
andreoss | the error message is not the same | 19:06 | |
lucasb | m: constant f = { 42 }; f xx Inf | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer in block <unit> at /tmp/QIcaPjEl2n:1» | ||
lucasb | m: constant f = { 42 }; f xx Inf :thunked | 19:07 | |
camelia | rakudo-moar 0fa8c4: OUTPUT«Cannot coerce Inf or NaN to an Int in block <unit> at /tmp/7z5nhGjMo6:1» | ||
lucasb | "xx" has different multis | ||
... for each case | |||
19:07
andreoss left
|
|||
AlexDaniel | lucasb: but that's not OK, right? | 19:08 | |
at least it should behave in a similar way | 19:09 | ||
lucasb | AlexDaniel: yep, that's not ok :) IMO, it also should work with Inf | ||
AlexDaniel | lucasb: yea, that makes sense | ||
okay I'll submit that | |||
jnthn | smls: No, not yet, though I'm not blocking on him doing so :) | 19:10 | |
(yet :)) | |||
smls | I had wondered about the || semicolon-level argument interpolation too when reading S09. | 19:11 | |
dalek | kudo/words: 5448c85 | (Carl Masak)++ | src/core/io_operators.pm: [src/core] implement `words` sub In analogy with the `lines` sub, except that `words` conservatively doesn't default to $*ARGFILES. |
19:12 | |
masak | all spectests pass in that branch. | ||
the only remaining question is whether we want &words | |||
(I do.) :) | |||
19:12
domidumont left
19:13
amurf joined,
brrt joined
|
|||
brrt | \o | 19:14 | |
smls | jnthn: Right now, .[ ] doesn't use flattening slurpies at all, does it? | ||
jnthn | masak: I don't immediately see why not | ||
smls: Not sure off hand; I need to review that soon though, given I've done all the VM-level bits :) | 19:15 | ||
masak | jnthn: me either; I'm just being cautious because I'm essentially implementing a new (unspec'd) feature. | 19:16 | |
oh no, I'm not. says `is export` in S32/Str | |||
well, that settles it :> | |||
PerlJam | masak: +1 from me :) | ||
jnthn | masak++ # caution :) | 19:17 | |
smls | jnthn: Well, it needs to differentiate a Range argument (--> truncating slice) from any other positional argument (--> normal slice), so it must not flatten until it has decided between those. | ||
19:17
amurf left
|
|||
dalek | kudo/nom: ee36da5 | (Carl Masak)++ | src/core/io_operators.pm: [src/core] implement `words` sub In analogy with the `lines` sub, except that `words` conservatively doesn't default to $*ARGFILES. |
19:17 | |
jnthn | smls: I think it may be more that we pass a LoL | ||
But then we may need to look at construction costs of those | 19:18 | ||
otoh I plan to cheat like hell on the native arrays :) | |||
smls | :P | ||
lucasb | masak++; I think I like the sub form | 19:21 | |
masak | pro tip: words + heredocs + assigning to a hash = \o/ | 19:26 | |
colomon is having a hard time imagining that… | 19:27 | ||
19:27
kyclark left
|
|||
smls | masak: why not < ... > and assigning to a hash? | 19:28 | |
PerlJam | indeed. | 19:29 | |
what smls said | |||
masak | because backslashes, in this case | ||
the heredoc contained mostly LaTeX directives and braces, and the backwhacking made it really ugly | 19:30 | ||
heredoc + words solved that | |||
smls | m: dd Q:w<aa bb \nn> | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«("aa", "bb", "\\nn")» | ||
masak | yeah, could've done that. | ||
PerlJam | Any reason why words("foo bar baz blat", *) shouldn't work like words("foo bar baz blat",Inf) ? | 19:31 | |
(same for lines) | |||
masak | I think it does. | ||
smls | m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10); x |(42, "a" => 10);' | 19:32 | |
camelia | rakudo-moar 0fa8c4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/k53sPdufSVUnable to parse expression in single quotes; couldn't find final "'" at /tmp/k53sPdufSV:1------> 3 }; x |("a" => 10); x |(42, "a" => 10);'7⏏5<EOL> expecting any of: sing…» | ||
smls | m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10); x |(42, "a" => 10); | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«---[]<>{:a(10)}<>---[42, :a(10)]<>{}<>» | ||
smls | ^^ that seems flaky | ||
PerlJam | masak: not here. I get: Cannot call Numeric(Whatever: ); none of these signatures match: ... | 19:33 | |
masak | oh | ||
yeah, same here | |||
19:33
FROGGS joined
19:34
kyclark joined
|
|||
smls | so one may use |@foo argument interpolation, and everything works fine... unlike someone manages to cause *all* elements of @foo to be pairs, and suddenly it breaks? | 19:34 | |
that could even be a security risk | |||
Maybe | should interpolate strictly based on the top-level type of its argument | 19:35 | ||
jnthn | smls: , makes lists, not parens | ||
masak submits rakudobug about words($s, *) not working | |||
jnthn | Well, Parcels at the moment | ||
smls | oh, so it already doe what I suggested? | ||
jnthn | smls: yeah, believe so | 19:36 | |
smls | m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10,k "b" => 15); | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U2OI5AqQmhUndeclared routine: k used at line 1» | ||
smls | m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10, "b" => 15); | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«---[:a(10), :b(15)]<>{}<>» | ||
smls | yay | ||
jnthn: So, just add another overload that accepts LoL, and you won't need a separate || | |||
One could even call the combined thing ||, and let pmichaud_ steal | for list flattening :P | 19:37 | ||
jnthn | Heh, adding a not-implemented-right feature and then filing a ticket on it #dammitmasak | ||
masak | m: say (words "foo bar baz", *).perl | ||
camelia | rakudo-moar 0fa8c4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gED71tagJ5Undeclared routine: words used at line 1. Did you mean 'ords'?» | ||
masak | d'oh | ||
jnthn | :P | 19:38 | |
dalek | rl6-roast-data: 1966a5a | coke++ | / (9 files): today (automated commit) |
19:39 | |
[Coke] | (spectest passing) not for weeks, actually. | 19:41 | |
jvm, moar, and moar-nojit all failing in different ways. | |||
(and not even on osx, on p6c.org) | |||
lucasb | m: Whatever.new.Numeric | 19:44 | |
camelia | rakudo-moar 0fa8c4: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/dhu4FlVIgE:1» | ||
lucasb | there is a multi method for lines(Whatever) | 19:45 | |
dalek | kudo/nom: 5beeafd | PerlJam++ | src/core/io_operators.pm: Allow words($string, *) to work |
||
19:45
kyclark left
|
|||
lucasb | but there isn't a multi sub for lines(Whatever) | 19:45 | |
vendethiel | lucasb: "nqp::istype($limit,Whatever)" | 19:48 | |
isn't that good enough? | |||
lucasb | yeah, testing for Whatever before the numeric comparison fixes it :) | 19:49 | |
19:51
beastd joined
|
|||
lucasb | m: $*IN.lines(*) | 19:52 | |
camelia | rakudo-moar ee36da: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/jg5Tpd5Idj:1» | ||
PerlJam | I would guess that making multis for the Inf and * cases would be a slight optimization too. | ||
lucasb | Also must revert the order of comparison in IO::Handle .lines and .words | 19:53 | |
19:54
kyclark joined
19:55
smls left,
smls_ joined
|
|||
dalek | kudo/nom: b606f9f | PerlJam++ | src/core/IO/Handle.pm: Allow IO::Handle lines(*)/words(*) to work |
19:57 | |
[Coke] | OH. I just realized I can make a chrome plugin to make it easier to find tickets in RT to work on. | 19:58 | |
19:59
_mg_ joined
|
|||
AlexDaniel | m: say 'test' x *; | 20:00 | |
camelia | rakudo-moar ee36da: OUTPUT«WhateverCode.new» | ||
AlexDaniel | what is that? | ||
masak | an un-run piece of code. | ||
m: say ('test' x *)(5) | 20:01 | ||
camelia | rakudo-moar ee36da: OUTPUT«testtesttesttesttest» | ||
AlexDaniel | "The count may not be * because Perl 6 does not support infinite strings. (At least, not yet...)" | ||
design.perl6.org/S03.html#Replication | |||
20:01
llfourn joined
|
|||
masak | I think the current behavior makes more sense than * meaning Inf... | 20:01 | |
if you want Inf, write Inf | 20:02 | ||
AlexDaniel | haha | ||
masak | that's how I often feel about people writing * when they mean Inf, though, so I'm not sure that's a majority view... :) | ||
AlexDaniel | masak: just reported this: rt.perl.org/Public/Bug/Display.html?id=125627 | ||
PerlJam | How do you mark an RT ticket as "tests needed"? | 20:03 | |
jnthn | PerlJam: Jumbo | ||
PerlJam | danke | ||
jnthn | bitte | ||
masak | if it's in Jumbo, it's also in one of the smaller ones :) | ||
jnthn | .oO( guten tag... ) |
20:04 | |
AlexDaniel | masak: so, what can we do about it? | ||
does not sound like rakudobug | |||
20:05
_mg_ left
|
|||
masak | AlexDaniel: change the spec to conform with implementation, far as I'm concerned. | 20:05 | |
jnthn | I think I'm good with that. | ||
[Coke] | PerlJam: Custom Fields, Tag, add testneeded (tag is multiselect) | ||
AlexDaniel | masak: Well, I'm not the one to change the spec, especially when I'm unsure. But I can fill a bug report | 20:06 | |
jnthn | x auto-currying feels more helpful | ||
20:06
llfourn left
|
|||
AlexDaniel | masak: so where should I report problems with the spec? | 20:06 | |
[Coke] | github.com/perl6/spec/issues | ||
AlexDaniel | great | ||
[Coke] | er, github.com/perl6/specs/issues | ||
jnthn | AlexDaniel: Why ain't you? It's under version control, enough of us here seem to support the change, if it's disliked then revert is easy :) | ||
masak | AlexDaniel++ | ||
jnthn | The design docs ain't holy :) | ||
(Of course, an issue is welcome too.) | 20:07 | ||
AlexDaniel | jnthn: you are right. Maybe next time :) | ||
PerlJam needs to play with RT more to get used to the interface. | 20:08 | ||
jnthn | d3 | ||
oops | |||
masak | indeed, d3. should look at that more. | 20:09 | |
jnthn | It's a script that builds day 3 of the course slides I'm working on from source. :P | ||
And opens them in a PDF viewer :) | 20:10 | ||
masak | ooh :) | ||
lucasb | one script of each day? :D | ||
jnthn | yeah :P | ||
I don't teach anything longer than 3 days, though :P | |||
lucasb | oh, good | ||
jnthn | 3 days of me is enough for anybody. | 20:11 | |
PerlJam makes a mental note to ask jnthn's wife if she only takes him in 3 day doses | 20:12 | ||
I'm 1.5 months shy of my 20 year anniversary and I think there might be some wisdom to limiting spousal exposure as far as marital longevity is concerned. :-) | 20:15 | ||
cognominal | jnthn, that's false. I fell asleep at your teaching but that was me exhausted, not because of your teaching | 20:16 | |
nwc10 | I thought that the standard joke was something about fours, not threes. ie "four richer" etc. | ||
20:16
diana_olhovik left
20:18
bin_005 joined
|
|||
masak | four richer, four poorer? | 20:18 | |
nwc10 | four better, four worse | 20:19 | |
total, 16. | |||
20:21
FROGGS left,
dha joined
|
|||
cognominal | I have found an answer to my question : <&foo(1,2,3)> in S05 | 20:31 | |
20:33
zakharyas left,
ssqq joined
|
|||
ssqq | after install rakudo-star-2015.03-x86 (no JIT).msi, panda could not install module | 20:35 | |
dha | Admittedly, pandas are a bit clumsy. :-) | 20:36 | |
ssqq | not 03, is 06, rakudo-star-2015.06-x86 (no JIT).msi | ||
dha | You might want to try building from the repository, rather than using a specific release. | 20:37 | |
ugexe | when was your last rakudo | ||
20:38
s34n joined
|
|||
masak .oO( live each rakudo as if it's your last ) | 20:38 | ||
ssqq | best operate system to run Perl6 is Linux | ||
ugexe | afaik panda hasnt worked on win32 for a few months. at least for cl | ||
ssqq | I met a stange error when use YAML; anyone could help me? `use YAML; say dump < ^^ $$ >; | 20:40 | |
20:40
darutoko left
|
|||
timotimo | i think the YAML module isn't working properly any more ... or at least the tests can't run (because TestML is incomplete or bitrotted) | 20:41 | |
masak | why does YAML have a dependency on TestML? | 20:42 | |
timotimo | in order to run its tests | ||
ssqq | Have any similar module like YAML could lookup data with indent? | 20:43 | |
20:43
kyclark left
|
|||
timotimo | the to-json we have in core (but don't rely on it staying around) does indenting, too | 20:44 | |
m: say to-json({:foo, :bar, :yoink<a b c d>}) | |||
camelia | rakudo-moar b606f9: OUTPUT«{ "bar" : true, "foo" : true, "yoink" : [ "a", "b", "c", "d" ]}» | ||
RabidGravy | I've just installed both | ||
timotimo | oh? do they actually work? | 20:45 | |
i must admit the last time i looked at it must have been a year ago or earlier | |||
ugexe | he is on win32 i think | ||
RabidGravy | well, that code gives nasty error | ||
I think it needs some love | |||
ssqq | I think the best way is save data with JSON, and view it with Perl5<YAML> | 20:47 | |
20:47
ssqq left
|
|||
timotimo | right, you can use Inline::Perl5 to use perl5's YAML module | 20:48 | |
RabidGravy | I'll have a look at that in the morning, got to have a working yaml parser | ||
20:49
kyclark joined,
kyclark left
|
|||
flussence | well, there's always the option of writing native libyaml bindings... | 20:50 | |
yoleaux | 15 Jul 2015 01:09Z <japhb> flussence: Text-Tabs-Wrap seems rather unhappy: I can't install it with panda, and it seems to be failing quite a few tests. | ||
flussence | hm, that's no good... it should only have 3 marked todo/skip/* | 20:51 | |
20:51
ssqq joined
|
|||
skids | The meta is out of date or something. I tried a couple days ago to see if the .assuming code there was cranky but panda would not even fetch it. | 20:53 | |
20:54
kaare_ left
|
|||
flussence | oh, it's still using the old source-url thing, maybe that's why | 20:55 | |
I'll fix it, just updating rakudo atm | |||
20:56
brrt left
21:00
ssqq left
21:01
llfourn joined
21:02
skids left,
amurf joined
21:06
llfourn left,
amurf left
|
|||
flussence | oh, it's the opposite... it depends on a module using the support { source } syntax. I can fix that too, one minunte... | 21:07 | |
lucasb | m: sub f(Int() $x) {}; f(NaN) | 21:15 | |
camelia | ( no output ) | ||
lucasb | m: sub f(Int() $x) { $x }; f(NaN) | ||
camelia | rakudo-moar b606f9: OUTPUT«Unhandled exception: Cannot coerce Inf or NaN to an Int at <unknown>:1 (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:17338 (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.…» | ||
flussence | ohhh, looks like those URLs are cached server-side. It *should* work but I won't know until maybe an hour from now... | ||
lucasb | ^^ Is this because the coercion is lazy or something? | ||
m: sub f(Int() $x) { $x; 42 }; f(NaN) | 21:19 | ||
camelia | ( no output ) | ||
lucasb | m: sub f(Int() $x) { $x }; f(NaN); 1 | 21:20 | |
camelia | ( no output ) | ||
masak | m: sub f(Int() $x) { say $x }; f(NaN) | 21:21 | |
camelia | rakudo-moar b606f9: OUTPUT«Cannot coerce Inf or NaN to an Int in sub f at /tmp/kX8MTeSLEy:1 in block <unit> at /tmp/kX8MTeSLEy:1» | ||
lucasb | ^^ I think this shows that if don't evaluete a failed coercion in sink context, it's all good | ||
*evaluate | |||
masak | lucasb: I think you're right. | ||
lucasb: my intuition tells me the optimizer is removing problems for us. | |||
lucasb | perl6 --optimize=off -e 'sub f(Int() $x) { $x }; f(NaN)' | 21:22 | |
^^ this still fails | |||
masak | as it should. | 21:23 | |
lucasb | "--optimize=off" is the right way to turn it off? | ||
masak | but that one failed before. | ||
isn't it --optimize=0 ? | |||
lucasb | oh, I maybe a confusion; it fails with or without the optimize :) | ||
21:23
TEttinger joined
|
|||
masak | right. | 21:23 | |
21:23
lizmat left
|
|||
lucasb | *I made a... | 21:23 | |
I wish --optimize=0 also work to turn it off, but I guess it really wants the string "off" | 21:25 | ||
masak | ok | ||
21:32
kyclark joined
|
|||
jnthn | off and 0 are different | 21:33 | |
off means "don't even do the analysis" | |||
0 should mean "do the analysis but no optimizations" | |||
So you can isolate analysis crashes from transform crashes. | 21:34 | ||
masak | ah. | ||
21:37
spider-mario left
21:48
Ven joined
21:52
Ven left
21:53
mr-foobar left
21:54
mr-foobar joined
22:03
virtualsue left
22:04
lucasb left
|
|||
cognominal | github.com/perl6/specs/issues/96 I sollicit comments for my problems with sigspaces | 22:10 | |
22:16
meisl joined
22:22
bin_005 left
|
|||
dha | Documentation query: Currently, C<//> and C<orelse> are defined differently in the docs. C<orelse> seems to reflect the current behavior. It has been mentioned here that this behavior may change. | 22:22 | |
Should the doc for C<//> be corrected for now, or should we wait until the implementation is settled? | |||
22:23
RabidGravy left
|
|||
masak | dha: not sure I understand. | 22:31 | |
dha: C<//> and C<orelse> do have different behaviors, so they should probably be described differently. | 22:32 | ||
dha | Well, they have different precedence. Their returns should not, AFAICT, be different. | 22:33 | |
timotimo | orelse is a statement-level infix, which is why it's not insane that it sets $! on the RHS | ||
dha | C<//> says that it returns the first defined operand, but that is not the case if there are no defined operands. | ||
C<orelse> specifies that it returns the last operand if none are defined. | |||
timotimo | ah, yes | ||
that part ought to be added to //, too | |||
dha | C<//> certainly seems to behave that way as well. | ||
timotimo | that it returns the last one if no one was defined | ||
masak | m: sub foo { fail 42 }; foo() orelse say $! | 22:34 | |
camelia | rakudo-moar b606f9: OUTPUT«Nil» | ||
timotimo | masak: "is supposed to", i think | ||
masak | aye. | ||
NYI. | |||
dha | right. But TimToady mentioned when I was first looking at this that at some point it might return Empty, rather than the last operand. So... | ||
22:34
mr-foobar left
|
|||
masak | I'm not sure why the `()` are required there, if `orelse` is a *statement*-level infix. | 22:34 | |
dha | m: say Any // Int; | ||
camelia | rakudo-moar b606f9: OUTPUT«(Int)» | ||
22:34
espadrine left
|
|||
dha | m: say Int // Any | 22:35 | |
masak | shouldn't it work more similarly to statement-modifier `if`? | ||
camelia | rakudo-moar b606f9: OUTPUT«(Any)» | ||
masak | m: sub foo { 42 }; say foo if True | ||
camelia | rakudo-moar b606f9: OUTPUT«42» | ||
dha | Yep. seems to have the behavior described in C<orelse> | ||
22:36
mr-foobar joined
22:37
kyclark left
22:38
kyclark joined
22:41
beastd left,
skids joined
|
|||
masak | I don't think "same as infix //" is a good description of `orelse`. | 22:42 | |
looser precedence isn't the only difference. | 22:43 | ||
dha | What else is there? | 22:45 | |
22:46
telex left
|
|||
masak | the setting of $! in the rhs thunk | 22:46 | |
dha | Also, I'm not proposing saying they're the same, just adding the implemented behavior to the ?? doc. | ||
sorry. // | |||
masak | what implemented behavior? what do you feel is missing from the // doc? | 22:47 | |
dha | That it returns the last operand if no operand is defined, rather than what it says now which is that it returns the first defined operand, period. | 22:48 | |
(Granted, I haven't looked at the implementation, but that certainly appears to be its behavior) | |||
22:48
telex joined
|
|||
masak | docs for || has it right | 22:49 | |
"Returns the first argument that evaluates to True in boolean context, or otherwise the last argument." | |||
(except that it refers to the operands as "argument". that's needlessly routine-centric.) | |||
dha | That doesn't change the fact that the doc for // says "Returns the first defined operand." | 22:50 | |
masak | *nod* | ||
yeah, please fix that. | |||
dha | Ok. | 22:51 | |
masak | 'night, #perl6 | 22:52 | |
dha | Actually, I'm not clear on the procedure here. If I change it in the doc repository on github, will that propagate to the actual website at some point, or do I need to patch in two places? | ||
22:52
yqt joined
|
|||
dha | Oh, and also, if C<orelse> *isn't* the same as infix //, we should probably change that as well, but I'm not fully clear on what to change it to. | 22:53 | |
dalek | c: 2624102 | (David H. Adler)++ | lib/Language/operators.pod: Changed entry for C<//> in operators.pod to reflect behavior when there |
22:55 | |
flussence | .tell japhb (and/or skids) - I've fixed that URL problem in Text-Tabs-Wrap; the only thing blocking install now is a segfault in a test file... | 23:01 | |
yoleaux | flussence: I'll pass your message to japhb. | ||
skids | flussence: I noticed, thanks. Haven't debugged that SEGV yet. | 23:02 | |
23:04
s34n left
|
|||
flussence | the code looks correct, but it seems to do that pretty reliably under default settings... RAKUDO_MAX_THREADS=1 seems to make it work at least. | 23:05 | |
23:13
xiaomiao joined
23:18
kyclark left
23:19
bjz left
23:21
amurf joined,
timo1 joined,
timotimo left
23:23
smls_ left
23:44
laouji joined
23:45
b2gills left
23:55
vendethiel left
|