»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:02
dataf3l left,
pierre__ left,
dataf3l joined
00:05
dataf3l left,
dataf3l joined
00:07
dataf3l left
00:08
dataf3l joined
00:11
dataf3l left,
dataf3l joined
00:14
dataf3l left,
dataf3l joined
00:16
dataf3l left
00:17
dataf3l joined
00:19
dataf3l left
00:20
dataf3l joined
00:23
dataf3l left,
dataf3l joined
00:25
dataf3l left
00:26
dataf3l joined,
cdg left
00:28
xfix left,
dataf3l left
00:29
dataf3l joined
00:32
dataf3l left,
dataf3l joined
00:34
cdg joined,
small-wolf joined
00:36
dataf3l left
00:37
dataf3l joined
00:38
cdg left
00:40
dataf3l left,
mawkish_ left,
mawkish_ joined
00:41
dataf3l joined,
Gasher joined
00:43
dataf3l left
00:44
dataf3l joined
00:47
dataf3l left
00:48
dataf3l joined
00:50
dataf3l left
00:51
dataf3l joined
00:52
mawkish_ left
00:55
mawkish_ joined,
dataf3l left
00:56
dataf3l joined
00:58
rburkholder joined
01:00
dataf3l left
01:01
dataf3l joined
01:02
wamba left
01:03
pierre_ joined
01:06
dataf3l left
01:07
dataf3l joined
01:08
pierre_ left
01:11
dataf3l left
01:12
mawkish_ left,
dataf3l joined
01:14
dataf3l left
01:15
mawkish_ joined,
dataf3l joined
01:18
dataf3l left
01:19
dataf3l joined,
mawkish_ left
01:21
dataf3l left
01:22
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
dataf3l joined,
mawkish_ joined
01:24
Gasher left,
dataf3l left
01:26
dataf3l joined,
cibs left
01:28
cibs joined,
dataf3l left
01:29
BenGoldberg joined,
espadrine left,
dataf3l joined
01:32
dataf3l left,
dataf3l joined
01:35
dataf3l left,
cdg joined,
dugword left
01:36
BenGoldberg left,
dataf3l joined
01:38
BenGoldberg joined,
dataf3l left
01:39
cdg left,
dataf3l joined
01:41
dataf3l left
01:42
dataf3l joined
01:44
dataf3l left
01:45
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg,
dataf3l joined
01:47
dataf3l left
01:48
dataf3l joined
|
|||
notviki realizes 2002 In Flame's song "Cloud Connected" all of a sudden is not a nonsensical phrase in 2016 :P | 01:48 | ||
In Flames | |||
www.youtube.com/watch?v=CAXtDPKkOlA | 01:49 | ||
01:50
dataf3l left
01:51
kalkin joined
|
|||
kalkin | hi | 01:52 | |
01:52
dataf3l joined
|
|||
lucs | How can I here avoid the if/else and have the foo() invocation not repeated?: if $some-condition { foo(:$a, :$b, :$c) } else foo(:$a, :$b, :$c, :$d) } | 01:52 | |
kalkin | I just notice there is no way in zef to install a specific verson of a module, even if the git managed source code is properly tagged | 01:53 | |
lucs | (got my brackets wrong there, but there it is) | 01:54 | |
01:54
djbkd joined
|
|||
kalkin | I would love to somehow match version managment tags to actual module versions, but there is no way besides adding aditional logic to zef | 01:54 | |
(or writing a script which checksout the module with proper tag and then cd $DIR && zef install .) | 01:55 | ||
lucs | I'd like something like foo(:$a, :$b, :$c, 「nothing here if $some-condition, else pass the :$D arg」) | ||
01:57
beatdown left
|
|||
kalkin | May be the module itself can provide the information about different versions in META6.json? | 01:57 | |
but I don't think it's a nice solution | 01:58 | ||
this would make META6.json administration annoying, but it could also be automated with mi6 release or something | 01:59 | ||
02:02
dataf3l left
|
|||
geekosaur thought zef was being updated with version support at some point | 02:02 | ||
(supposedly prior to it replacing panda) | 02:03 | ||
02:03
dataf3l joined
|
|||
kalkin | geekosaur: but how should this versioning logic work? | 02:05 | |
02:05
dataf3l left
|
|||
mspo | feels like a very possible enhancement | 02:05 | |
ugexe: ? | |||
kalkin | I would patch it in if I would know how perl6 modules should map different versions to version control tags | ||
02:06
dataf3l joined
|
|||
mspo | `zef install "CSV::Parser:auth<tony-o>:ver<0.1.2>"` | 02:06 | |
from github.com/ugexe/zef | |||
kalkin | mspo: yes but it currently just checks if such a distribution is known, but it doesn't check CSV:Parser git for version tag x.y. | ||
AFAIK zef just gathers it's data from HEAD of each repository containing a META file | 02:07 | ||
which is kind of suboptimal | |||
mspo | how about this version? `zef install github:tony-o:CSV--Parser:0.1.2` | ||
kalkin | also people don't have the habbit of versioning their dependencies | 02:08 | |
mspo | indeed | ||
kalkin | git ls-remote -t git://github.com/tony-o/perl6-csv-parser.git returns nothing | 02:09 | |
02:09
dataf3l left
|
|||
kalkin | this means zef has no idea how to fetch any other version besides the one in HEAD/META.json version field | 02:10 | |
02:11
dataf3l joined
|
|||
kalkin | i think it would be nice if some QA standarts would be defined for modules.perl6.org, i.e: version your dependencies, tag your versions | 02:11 | |
02:12
kyan left
02:14
cyphase left
|
|||
AlexDaniel | samcv: are there any unknown issues on that page? docs.perl6.org/routine/$EQUALS_SIG...QUALS_SIGN | 02:15 | |
02:15
telex left
|
|||
AlexDaniel | samcv: highlighting I mean | 02:16 | |
samcv | uhm the highlighting is LTA | ||
oh yeah | |||
was gonna say it seems fine lol | |||
other than the hl | |||
AlexDaniel | “proto sub” is wrong and “=:=” is wrong | ||
samcv | ah yeah i have a ticket open for proto sub | ||
AlexDaniel | what about =:= ? | ||
samcv | i will fix the =:= right now though | ||
AlexDaniel | ok, thank you very much! | 02:17 | |
mspo | =:= ? I had to check which channel I was in :) | ||
samcv | if i work on protosub it's likely that i could break like multi sub | ||
so less than trivial cause. uh how perl6 allows different things. tho i could duplicate it. but don't realy want to do that | |||
mspo | =:= and =/= are erlang-ese | ||
TimToady | in our case, =:= is what you get after a := | 02:18 | |
samcv | m: say " ".uniprop('Line_Break') | 02:19 | |
camelia | rakudo-moar 9fc616: OUTPUT«SP» | ||
02:19
cyphase joined
|
|||
samcv | m: say 0x200D.uniprop('Line_Break' | 02:19 | |
camelia | rakudo-moar 9fc616: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in argument list; couldn't find final ')' at <tmp>:1------> 3say 0x200D.uniprop('Line_Break'7⏏5<EOL>» | ||
samcv | m: say 0x200D.uniprop('Line_Break') | 02:20 | |
camelia | rakudo-moar 9fc616: OUTPUT«BK» | ||
samcv | TimToady, what is your thoughts on having the cmp operation compare alphabetically using proper unicode collation order. so diacritics are not misordered | ||
cause atm Z is less than a | |||
TimToady | I just said over in #moarvm :) | ||
samcv | oh | 02:21 | |
didn't see | |||
02:24
dataf3l left,
aindilis joined,
dataf3l joined
02:26
dataf3l left
|
|||
notviki | lucs: you ninja-in ( the "|(:)" looks like a ninja sideways) the named arg: foo :$a, :$b, :$c, |(:$d if $d); | 02:26 | |
02:27
dataf3l joined
|
|||
notviki | lucs: the :$d if $d ends empty if the :$d is false and if it's true the |() slips into the args for the routine | 02:27 | |
s:2nd/':$d'/\$d/ | 02:28 | ||
02:29
newbie1 left
02:30
telex joined
02:31
kalkin left
|
|||
SmokeMachine | lucs: terrible, but that's what I got: | 02:32 | |
m: multi foo(:$a!,:$b!,:$c! --> "without d") {}; multi foo(:$a!,:$b!,:$c!,:$d! --> "with d") {}; my $a=1; my$b=2; my$c=3; my$d; say foo |%(<a b c d> Z=> ($a,$b,$c,$d).grep: *.defined) | |||
camelia | rakudo-moar 9fc616: OUTPUT«without d» | ||
02:34
mawkish_ left
|
|||
notviki | :/ | 02:34 | |
02:34
mawkish_ joined
|
|||
SmokeMachine | notviki: great! | 02:35 | |
lucs | notviki: Ah, just what I needed. Thanks! | ||
02:35
cdg joined
|
|||
lucs | SmokeMachine: Um, a bit complicated compared to notviki's solution, but thanks anyways :) | 02:36 | |
notviki | m: my$c=3; dd $c | ||
camelia | rakudo-moar 9fc616: OUTPUT«Int $c = 3» | ||
02:36
shayan_ joined
|
|||
shayan_ | Why isn’t macperl.com available? | 02:36 | |
notviki surprised that even parses | |||
shayan_: it's a secret. Check back in a year for the great reveal of the secret. | |||
SmokeMachine | lucs: yes! notviki's much better! | ||
shayan_ | @notviki: why can’t you provide the appropriate answer? I am trying to download perl for mac. I’m reading my first programming book, based in perl | 02:37 | |
notviki | huggable: hug shayan_ | 02:38 | |
huggable hugs shayan_ | |||
shayan_ | Similarly, Mac users can get a copy of MacPerl from the Internet by going to www.macperl.om and following the directions for downloading MacPerl. | 02:39 | |
notviki | uhuh | ||
02:40
cdg left
|
|||
notviki | shayan_: so what's dsnextgen.com then? | 02:40 | |
02:40
cyphase left
02:41
labster left
|
|||
shayan_ | @notviki: your poor mother’s existence. | 02:41 | |
@notviki: rot in hell, mother fucker. | 02:42 | ||
02:42
shayan_ left
|
|||
notviki | Have a nice day! | 02:42 | |
02:43
djbkd left
|
|||
notviki | Obviously no one click that URL | 02:43 | |
Some fucking malware infested crap. | |||
mspo | which url? | 02:45 | |
notviki | both | ||
02:45
cyphase joined
|
|||
notviki | Heh, he's apparently a 30-minute driving distance away from me. | 02:45 | |
I'd email the ISP if I weren't so lazy.... | 02:46 | ||
02:46
ilbot3 left
|
|||
mspo | looks like it's a parked domain | 02:47 | |
notviki | .tell moritz may be worth scrubbing this URL and the dsnextgen one below from logs; has an inframe leading to an infested site irclog.perlgeek.de/perl6/2016-12-30#i_13822500 | ||
yoleaux | notviki: I'll pass your message to moritz. | ||
02:47
ilbot3 joined
02:48
mawkish_ left,
cyphase left
02:49
cyphase joined,
cyphase left,
xtreak joined,
cyphase joined,
cyphase left
02:50
cyphase joined
02:53
dataf3l left,
dataf3l joined
02:56
dataf3l left,
dataf3l joined
02:58
labster joined,
dataf3l left
02:59
dataf3l joined
03:01
dataf3l left
03:02
dataf3l joined,
cyphase left
03:04
mawkish_ joined
03:06
dataf3l left
03:07
dataf3l joined,
cyphase joined
03:08
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
03:09
BenGoldberg left,
dataf3l left
03:10
BenGoldberg joined
03:11
dataf3l joined
03:13
dataf3l left
|
|||
Xliff | Hmmm... camelia seems slow. | 03:14 | |
m: (2+2).say | |||
BenGoldberg pokes camelia. | 03:15 | ||
camelia | rakudo-moar 9fc616: OUTPUT«4» | ||
BenGoldberg wonders what butterflies eat, so he can try bribing her. | 03:16 | ||
Xliff | Over a minute? | ||
Wow. | |||
m: (2+2).say | |||
camelia | rakudo-moar 9fc616: OUTPUT«4» | ||
Xliff | Better! | ||
Xliff pets camelia | |||
BenGoldberg | m: 'alive'.say | ||
camelia | rakudo-moar 9fc616: OUTPUT«alive» | ||
Xliff | m: 42.WHAT.say | ||
camelia | rakudo-moar 9fc616: OUTPUT«(Int)» | ||
Xliff | m: 42.WHY.say | ||
camelia | rakudo-moar 9fc616: OUTPUT«(Any)» | ||
BenGoldberg | m: 42.5.HOW.say | 03:17 | |
camelia | rakudo-moar 9fc616: OUTPUT«Perl6::Metamodel::ClassHOW.new» | ||
BenGoldberg | m: 42.5.WHERE.say | ||
camelia | rakudo-moar 9fc616: OUTPUT«140623898977248» | ||
BenGoldberg | m: 42.5.WHERE.say | ||
camelia | rakudo-moar 9fc616: OUTPUT«140157770388448» | 03:18 | |
AlexDaniel | eval: 2+2 .say | 03:19 | |
evalable6 | AlexDaniel, rakudo-moar 9fc616f: OUTPUT«WARNINGS for /tmp/5e91x6ZuyH:Useless use of "+" in expression "2+2 ." in sink context (line 1)2» | ||
AlexDaniel | evalable seems fast! | ||
even though it unpacks an archive every run | 03:20 | ||
03:20
aborazmeh left
|
|||
AlexDaniel | yea, there's some room for speeding things up. Contributions welcome! | 03:20 | |
03:24
Vynce joined
03:27
rburkholder left
|
|||
BenGoldberg | m: # testing 'success'.say; | 03:28 | |
camelia | rakudo-moar 9fc616: OUTPUT«success» | ||
BenGoldberg | m: say <<WHEE;This thing all things devours,Birds, beasts, trees, and flowers.WHEE | 03:30 | |
camelia | rakudo-moar 9fc616: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in shell-quote words; couldn't find final '>>' at <tmp>:5------> 3<BOL>7⏏5<EOL> expecting any of: argument list shell-quote words te…» | ||
BenGoldberg | m: say q:to/WHEE/;This thing all things devours,Birds, beasts, trees, and flowers.WHEE | 03:31 | |
camelia | rakudo-moar 9fc616: OUTPUT«This thing all things devours,Birds, beasts, trees, and flowers.» | ||
03:32
cyphase left
|
|||
BenGoldberg grins. | 03:32 | ||
03:37
cyphase joined
03:42
bisectable6 joined,
ChanServ sets mode: +v bisectable6
03:45
shayan_ joined
03:48
noganex joined,
lichtkind__ joined
03:51
noganex_ left,
lichtkind_ left
03:55
Vynce left
04:05
pierre_ joined
04:10
pierre_ left
04:30
AlexDaniel left
04:31
regnarg left
04:45
xtreak left
04:47
mawkish_ left,
mawkish_ joined,
xtreak joined
04:51
mawkish_ left
04:52
mawkish_ joined
04:55
tojo joined
05:09
pyrimidi_ joined,
pyrimidine left
05:11
Cabanossi left
05:12
Cabanossi joined
05:20
shayan_ left
05:21
Actualeyes1 joined,
Actualeyes left
05:27
mawkish_ left,
dugword joined,
itcharlie_linux left
05:30
giraffe joined,
giraffe is now known as Guest57693
|
|||
webstrand | Is there any way to parse the output of Proc or Proc::Async without waiting for the process to exit? | 05:38 | |
05:39
tojo left
|
|||
webstrand | I have a process which is producing formatted output, and I'd like to parse it with a grammar incrementally | 05:40 | |
MasterDuke | webstrand: you should be able to .tap() the stdout of the proc | 05:51 | |
05:54
regnarg joined
05:58
Imme joined
05:59
regnarg left
|
|||
Imme | Join | 05:59 | |
06:01
BenGoldberg left
06:07
pierre_ joined
06:08
regnarg joined
06:09
bwisti left
06:10
khw left
06:13
pierre_ left
06:16
bjz joined
06:22
Imme left
06:23
petrutrimbitas joined
06:24
wamba joined
06:26
bjz left
06:33
petrutrimbitas left
06:44
bjz joined
06:48
xtreak left
06:51
xtreak joined,
darutoko joined
|
|||
Woodi | hi today :) | 06:54 | |
06:57
RabidGravy joined
06:59
telex left
|
|||
Woodi | from backlog:"isn't there an infinitely large family of taylor approximations of functions? it's not so simple" - err... Aleph-0 is for house wifes now ? or mafia, they are rational ppls, needs to count their stuff ;) # <small>warning: backlog rigged<small> :) | 06:59 | |
07:00
telex joined
07:06
rburkholder joined
|
|||
Woodi | about functional programming: I think in SICP was chapter about implementing algebra with functions. and replacing assigments with functions :) but it still is academic topic. simple becouse CPUs use registers, assigments, etc :) so, if CPUs will have function calls as cheap as operation on register then we can stop using languages with assignments for performance critical applications | 07:07 | |
07:10
thayne joined
|
|||
Woodi | also, if that quantum computers will start to be more popular we will have our free lunch back ! ;) - industry will stop caring about concurency stuff, functional and lazy languages, etc. all that nice thing possibly will be put back on the shelves or even archived somewhere :) but maybe few things from functional world is already assimilated into industry... | 07:12 | |
07:22
Tonik joined
07:25
regnarg left
07:33
labster left,
pyrimidi_ left,
pyrimidine joined
07:34
wamba left
07:35
Tonik left
07:37
dugword left
07:39
Actualeyes1 left
07:53
Actualeyes joined,
xtreak left
07:55
xtreak joined
|
|||
Woodi | oo, btw. last months I notice in news used numbers, eg. govs numbers like budget expenses. looks all what we needs in common cases is int64 - govs spends "only" bilions :) | 07:55 | |
08:12
regnarg joined
08:16
ths joined
|
|||
ths | Hello, Has anyone managed to get perl6 on raspberry pi using rakudobrew | 08:20 | |
08:22
grondilu joined
|
|||
grondilu | is there a quick way to see installed modules without using panda or zef? | 08:23 | |
for instance I want to parse a JSON string but I don't know which parser is installed (there are so many on modules.perl6.org) | |||
RabidGravy | I have a snippet somwhere, 'ang on | 08:25 | |
gist.github.com/jonathanstowe/7028...79d2896fdc | 08:29 | ||
however that needs, an, er, JSON parser | |||
08:30
wamba joined
08:38
labster joined
08:42
Cabanossi left
08:44
Cabanossi joined
|
|||
stmuk | I'm getting perm errors from the irclog site | 08:46 | |
oh fixed now :) | 08:47 | ||
08:47
xtreak left,
xtreak joined
08:49
xtreak left
08:58
pierre_ joined
09:04
domidumont joined
09:06
FROGGS joined
|
|||
RabidGravy | grondilu, fixed to use the approved mechanism gist.github.com/jonathanstowe/7028...79d2896fdc | 09:06 | |
09:10
domidumont left,
some joined
09:11
domidumont joined
09:12
xfix joined
|
|||
samcv | nice just implemented my bidi bracket matching code ^_^ | 09:13 | |
09:22
xtreak joined
09:24
ths left
09:27
regnarg left
09:28
rindolf joined
|
|||
grondilu | m: say <foo bar>.kv | 09:32 | |
camelia | rakudo-moar acec1e: OUTPUT«(0 foo 1 bar)» | ||
grondilu | m: say <foo bar>.vk | ||
camelia | rakudo-moar acec1e: OUTPUT«No such method 'vk' for invocant of type 'List' in block <unit> at <tmp> line 1» | ||
grondilu | kind of LTA, IMHO | 09:33 | |
09:37
dugword joined
09:39
pierre_ left
09:42
dugword left
|
|||
RabidGravy | what that there isn't a vk method on lists? | 09:43 | |
m: say ( <foo bar> but role :: { method vk() { self.kv.map( -> $k, $v { $v, $k }) } }).vk | 09:49 | ||
camelia | rakudo-moar acec1e: OUTPUT«((foo 0) (bar 1))» | ||
RabidGravy | there, fixed it for you :) | ||
actually it should be flatmap to be the same as kv, but hey | 09:53 | ||
09:59
some left,
ced_ left
10:12
bjz_ joined
10:13
bjz left
10:23
iH2O joined
10:29
iH2O left
10:31
wamba left
10:35
woolfy joined
10:40
skids left
10:45
woolfy left
10:49
xtreak left
10:50
xtreak joined
|
|||
dalek | osystem: 1c1af99 | (JJ Merelo)++ | META.list: Add Math::Constants to ecosystem |
10:58 | |
osystem: 4a73a7a | (Zoffix Znet)++ | META.list: Merge pull request #276 from JJ/master Add Math::Constants to ecosystem |
|||
11:04
thayne left
11:06
xtreak left
|
|||
grondilu | m: say qq{""} | 11:12 | |
camelia | rakudo-moar acec1e: OUTPUT«""» | ||
grondilu | m: say qq{"{"foo!"}"} | ||
camelia | rakudo-moar acec1e: OUTPUT«"{"foo!"}"» | ||
11:12
rburkholder left
|
|||
grondilu | ^this surprised me | 11:12 | |
grondilu was expecting C<"foo!"> | |||
notviki | Sorry, we've not implemented clayvorance yet. | 11:14 | |
It's interesting that you expected it to view first set of quotes and second set of brackets as delimiters, but not the second set of quotes too? | 11:15 | ||
Aj | 11:16 | ||
grondilu | to me inside a qq construct, double quotes should lose any special meaning and thus should not prevent curlies to interpolate | ||
11:17
wamba joined
|
|||
notviki | grondilu: it's likely due to this bug: rt.perl.org/Ticket/Display.html?id=130205 | 11:17 | |
m: say qq|"{"foo!"}"| | 11:18 | ||
camelia | rakudo-moar acec1e: OUTPUT«"foo!"» | ||
11:18
kalkin joined,
kalkin is now known as kalkin-
|
|||
moritz | this looks correct to me | 11:19 | |
yoleaux | 02:47Z <notviki> moritz: may be worth scrubbing this URL and the dsnextgen one below from logs; has an inframe leading to an infested site irclog.perlgeek.de/perl6/2016-12-30#i_13822500 | ||
notviki | moritz: why is it correct? | ||
and which "this" | 11:20 | ||
grondilu | m: say qq{{"{"foo!"}"}} | ||
camelia | rakudo-moar acec1e: OUTPUT«"foo!"» | ||
notviki | grondilu: seems some interaction when the delimiter is reused inside | ||
grondilu | yeah | ||
moritz | notviki: qq|"{"foo!"}"| is parsed as a string "..." which contains a closure, which returns foo! | 11:21 | |
notviki | moritz: ah, that sure. | ||
m: say qq{"{"foo!"}"} | |||
camelia | rakudo-moar acec1e: OUTPUT«"{"foo!"}"» | ||
notviki | this isn't | ||
moritz | right | 11:22 | |
notviki | grondilu: sorry for lashing out on you. I'm just really pissed right now :( | ||
11:22
kalkin- left,
kalkin- joined
|
|||
grondilu | no worries, I've spent most of my times in much harsher internet places lately. | 11:22 | |
11:23
rashc joined
11:25
small-wolf left
11:30
labster left
11:31
rburkholder joined,
lukaramu joined
11:32
kalkin- left
11:47
TEttinger left
11:50
wamba left
11:56
darutoko left,
darutoko- joined
11:59
darutoko joined
12:01
darutoko- left
12:04
bjz_ left
12:05
bjz joined
12:18
FROGGS left,
FROGGS joined
12:23
FROGGS left
12:24
dalek joined,
ChanServ sets mode: +v dalek
12:31
ths joined
12:35
rightfold joined
|
|||
rightfold | Does Perl 6 have Perl 5's goto? | 12:36 | |
For proper tail calls. | |||
12:37
dalek left
12:38
dalek joined,
ChanServ sets mode: +v dalek
|
|||
notviki | rightfold, not yet | 12:40 | |
rightfold | ok | ||
notviki | Well, we ain't got a goto at all, whether it's planned to work like Perl 5's I've no idea | ||
lizmat | we've been able to get by so far | 12:41 | |
rightfold | well it doesn't matter if it's called goto | ||
notviki | sure | ||
rightfold | as long as it does a proper tail call :P | ||
notviki | :) | ||
lizmat | also, goto in perl 5 is not really a tail call either | ||
afaik it's really messing with the stack reporting really | |||
notviki | oh | 12:42 | |
12:42
FROGGS joined
|
|||
lizmat | from what I remember (and this is now close to 5 years ago), doing a call at the end of a sub is cheaper gotoing | 12:42 | |
*than | |||
RabidGravy | I think the only place in P5 I have used "goto &sub" is in an AUTOLOAD | 12:45 | |
12:58
Rawriful joined
12:59
kaare_ left
|
|||
rashc | The docs don't say what's in $*PROGRAM-NAME when the interpreter is reading from $*IN. It only talks about -e. | 13:03 | |
notviki | rashc: feel free to correct them: github.com/perl6/doc/ | 13:06 | |
it's in doc/Language/Variables.pod6 | |||
13:07
Rawriful_ joined
|
|||
RabidGravy | it is "interactive" BTW | 13:07 | |
13:07
lucasb joined
13:08
Axord left
|
|||
RabidGravy | though it would be cooler if it realised what was happening and had "stdin" or something (and suppressed the "To exit type 'exit' or '^D'") | 13:09 | |
13:09
Rawriful left
13:10
darutoko left
|
|||
lucasb | perl6 - <<< 'say $*PROGRAM-NAME' #=> "-" | 13:10 | |
this REPL behaviour needs to be fixed | 13:11 | ||
before starting the REPL, check that stdin is an tty | 13:12 | ||
notviki | Well volunteered! | ||
lucasb | I think pmurias added code for this | ||
samcv | spectest done. and pass. time for bed :) | ||
13:13
FROGGS left
|
|||
notviki | lucasb: I don't see any indication that that invokation starts the REPL | 13:13 | |
Or is that what you mean by fixing? | |||
samcv | night @all | ||
notviki | night | ||
samcv | o/ | ||
rashc | night | ||
RabidGravy | [jonathan@coriolanus squirrel]$ echo 'say $*PROGRAM-NAME' | perl6 | ||
To exit type 'exit' or '^D' | |||
interactive | |||
lucasb | perl6 <<< 'say $*ERR: $*PROGRAM-NAME' 1>/dev/null #=> 'interactive' :) | ||
rashc | It hink that, because of the REPl, the filename will have to be '-' for P6 to know it's supposed to read from $*IN | 13:15 | |
13:15
ChoHag left
|
|||
rashc | Checking it's a TTY isn't enough. | 13:16 | |
stmuk | and make it all work on Windows too! | ||
notviki | Hilarious: en.wikipedia.org/wiki/USS_Yorktown...ip_testbed | ||
US battlecruiser dead in the water due to div-by-zero error | 13:17 | ||
13:17
pierre_ joined,
pierre_ left,
pierre_ joined
|
|||
rashc | Reuiring the '-' avoids a conflict where one might want to use the REPL to process data from $*IN. Just being a TTY doesn't mean it's a program and not data. | 13:21 | |
13:23
petrutrimbitas joined
|
|||
ggoebel | perl 6 made it onto a list of hottest up and coming programming languages for 2017... opensource.com/article/16/12/yearb...rends-2016 | 13:24 | |
rashc | Oh, now I understood, it has to check if $*In is a TTY to launch the REPL, not the other way around. | 13:25 | |
notviki | ggoebel: neat | 13:26 | |
kinda puts the pressure on tho.... | 13:27 | ||
How come we use === Inf in the setting in many places? | 13:33 | ||
Is it for performance or is the goal to not blow up Failures/div-by-zeros? | 13:34 | ||
ggoebel | I suppose. As a regular long time lurker... it makes me uncomfortable with my level of involvement. I need to do a little self-introspection, change some habits, and deal with some time management and organization issues so I lurk less and contribute more. | ||
13:34
timo joined,
timo is now known as Guest29939
13:36
Guest29939 is now known as timotimo
13:44
wamba joined
13:51
nebuchadnezzar left
13:52
nebuchadnezzar joined
13:54
Rawriful_ left
13:58
ths left
14:04
khw joined
|
|||
tbrowder | notviki: i see in the article a few jabs at MS, too | 14:07 | |
notviki | Not surprising. Multiple sclerosis is a serious condition.... | 14:14 | |
tbrowder | i've been browsing our sites and don't see any mention of the books we know are in print or in prep, did i miss something? | ||
14:16
rashc left,
Axord joined,
rasch joined,
rasch is now known as raschp
14:19
raschip joined,
Khisanth left
14:21
raschp left
14:24
FROGGS joined
14:32
bjz left,
Khisanth joined,
bjz_ joined
14:41
nebuchadnezzar left
14:42
pierre_ left
14:49
nebuchadnezzar joined
14:59
kalkin- joined
|
|||
ugexe | kalkin-: zef can install specific versions of modules. your actual problem is the ecosystem is not used in a way that allows versioning | 15:09 | |
kalkin-: tbrowder has actually used the ecosystem with versioned distributions | |||
kalkin-: see: github.com/perl6/ecosystem/commit/...93fa1aa4b4 Just note zef is entirely able to handle versions, but its still up to the ecosystem to handle what is visible | 15:10 | ||
15:11
bwisti joined
|
|||
raschip | CPAN support can't come soon enough. | 15:11 | |
ugexe | CPAN support already exists | 15:12 | |
raschip | But have to start sending their modules to PAUSE, then. | 15:13 | |
ugexe | kalkin-: also zef doesn't just check the HEAD of a repository because it doesn't only handle git repositories. realistically people should not be linking to their git repo as their source-url | ||
15:14
kalkin- left
15:15
cdg joined
|
|||
raschip | It's time to leave this kludge behind. | 15:16 | |
ugexe | if you use --metacpan (when the p6 version is up - it goes down sometimes) or --cpan (which doesn't have many distributions yet) there is no git involved | ||
raschip | Should be the deafult and fallback to git. | 15:17 | |
ugexe | or if you want to use the current ecosystem you put your .tar.gz links as your source-url and link *each version* of your meta file to the ecosystem META.list (by commit id) | ||
raschip | Does version support works when using CPAN? | ||
15:17
finanalyst joined,
finanalyst left
|
|||
ugexe | version support works for everything | 15:18 | |
notviki | raschip: the was (and maybe still is) a script running that automatically pushes new versions in our ecosystem to CPAN | ||
huggable: cpan | |||
huggable | notviki, nothing found | ||
ugexe | the reason it doesnt default to CPAN is because that would be wasted time for almost all queries since it doesn't have a full listing | ||
raschip | i.e. CPAN is still broken for perl6 modules. | 15:19 | |
ugexe | the main thing with CPAN is working out how to handle the `auth` field | ||
raschip | Can't wait for it to get fixed. | ||
ugexe | perl6 -Ilib bin/zef --/metacpan --/p6c --cpan search CSV | 15:20 | |
===> Found 2 results | |||
1 |Zef::ContentStorage::Ecosystems<cpan>|Text::CSV:ver('0.002'):auth('github:Tux') | |||
2 |Zef::ContentStorage::Ecosystems<cpan>|CSV::Parser:ver('0.1.2'):auth('auth:tony-o') | |||
notviki | raschip: what's broken exactly? | ||
raschip | it doesn't have a full listing | 15:21 | |
ugexe | it may never have a full listing | ||
notviki | ranguard and mst are leading that effort. May wanna talk to them | ||
ugexe | the idea of perl6 recommendation engines is that they should work together | ||
other than that it has to be determined how to map an existing `auth` from a p6 ecosystem module to whatever is copied to CPAN | 15:23 | ||
because you can't just change the auth from say :auth<me@foo.com> to :auth<me:cpan> as this changes the identity of the module, and the identity is meant to be immutable | |||
and CPAN isn't built for sharing namespaces (which the above is meant to allow) | 15:25 | ||
raschip | This should be fixed. | ||
ugexe | i'm sure they will welcome any help :) | ||
raschip | The maaping from module name to module should be one to one, not one to many, pulling a random module from there. | 15:26 | |
15:26
jantore left
|
|||
ugexe | it IS one to one unless you are fuzzy about what you want | 15:26 | |
Foo::Bar is exactly the same as Foo::ver<*> | |||
Foo::Bar:ver<*> | |||
raschip | "fuzzy" as in specifing the name of the module? | ||
ugexe | Foo::Bar:auth<xyz> is not the same as Foo::Bar:auth<abc> | 15:27 | |
but either one would fulfill a request for just "Foo::Bar" | |||
15:27
jantore joined
|
|||
ugexe | if you are explicit you will get the one you explicitly requested | 15:27 | |
raschip | Should work the same as traditional package managers, tbh. | 15:28 | |
ugexe | we're solving problems that traditional package managers have ignored | ||
look at the dbix::class namespace drama | |||
raschip | You're shifting the burden to the user, I tough it should be the other way around. | 15:30 | |
15:30
AlexDaniel joined
|
|||
ugexe | the burden of choosing explicit versions to avoid dependency hell is up to the user, but they are welcome to ignore it like the majority currently do | 15:31 | |
15:31
domidumont left
|
|||
ugexe | i.e. everyone does `use Foo::Bar;` but if they were writing production code it should be `use Foo::Bar:ver<...>` (and realistically :auth<whatever>) | 15:31 | |
how else are you supposed to do `{ use Foo::Bar:ver<1>; } { use Foo::Bar:ver<2> }`? | 15:32 | ||
AlexDaniel | morning \o/ | 15:34 | |
notviki | \o | ||
AlexDaniel looks at the clock… 17:34… | |||
ugexe | raschip: right now if you install Foo::Bar:ver<1> and then Foo::Bar:ver<2> and then `use Foo::Bar;`, what do you think will happen? | 15:35 | |
notviki | It'd use :ver<2> | ||
ugexe | I think it will use whatever is installed first | 15:36 | |
notviki | :S | ||
That's awful. | |||
I'd expect it to use latest and greatest. Same as omiting `use v6.whatever` would. | |||
15:37
hankache joined
|
|||
ugexe | well technically it resolves to :ver<*> which is literally "whatever" version | 15:37 | |
notviki | And it kinda makes sense, considering it's perfectly reasonable run the installer and get a fresher version without ensuring you uninstall everything first. | ||
ugexe | so whatever it encounters first | ||
notviki would argue that's a bug | |||
ugexe | i brought this up in perl6-toolchain though with the same expectation | ||
notviki forgot we even had a #perl6-toolchain | 15:38 | ||
ugexe: and what was the outcome when you brought it up | |||
ugexe | originally they wanted to leave those decisions up to policy and out of rakudo, but i argued it doesn't make sense that different versions would get used based on the order of CUR used (such as with -Ilib) | ||
let me find the discussion... | |||
hankache | hello #perl6 | ||
notviki | \o | 15:39 | |
raschip | That is most certainly a bug, it completely breaks user expectations. | 15:40 | |
ugexe | irclog.perlgeek.de/perl6-toolchain...i_13727142 (also goes into the next day) | ||
and its because when it caches what is loaded it does like %!loaded{$module.short-name} instead of %!loaded{$module.short-name, $module.ver, $module.auth} | 15:41 | ||
15:42
Axord left
|
|||
ugexe | another point was that the *first* choice should always be in the current distribution if it exists | 15:42 | |
15:42
pierre_ joined
|
|||
ugexe | if you already have Foo::Bar installed, and are working on a local copy that does `use Foo::Bar;` it should imply using the copy from the local distribution not from CURI | 15:43 | |
raschip | ugexe: "the *first* choice should always be in the current distribution if it exists". Why? | ||
ugexe | well how else do you know if changes you've made are taking affect? | 15:44 | |
raschip | If I have a distribution with some version and install a new minor version of the module, I would expect the code to start using that. Anything else is a bug. | ||
15:45
zakharyas joined
|
|||
raschip | It has to use new installed versions to facilitate security updates. | 15:45 | |
ugexe | im talking about if you have Foo::Bar installed, then decide to `git clone github/foo-bar` and `perl6 -Ilib whatever` | ||
raschip | Modules should be forced to do it, in fact. | ||
Use the newest version unless told otherwise. Anything else is a security bug. | 15:46 | ||
ugexe | there are other not-yet-implemented strategies for that (emulates, supercedes, superceded-by, etc) | 15:47 | |
raschip | Debian forbids more than one version of something to ensure this, in fact. | ||
15:47
pierre_ left
|
|||
raschip | Should follow user expectations. This isn't even about Perl6 programmers, but sysadmins giving support and users. | 15:48 | |
If they need to be aware things work differently in Perl6, they aren't going to like it. | |||
ugexe | well we certainly *are* supported multiple versions | ||
thats not something that will go away | |||
raschip | Sure, supporting multiple versions isn't a problem. | ||
ugexe | Consider two installed distributions Foo:ver<1> and Foo:ver<2>, both of which provide Foo::Bar and `use Foo::Bar` inside Foo.pm - if I `use Foo:ver<1>` it would be expected that `use Foo::Bar` inside of Foo.pm (for v1) loads Foo::Bar from the same distribution and not from a possibly newer or older distribution | 15:49 | |
raschip | But things should use the newest compatible version, otherwise users and sysadmins will have serious problems. | ||
It wouldn't. If a version isn't especified, it should be the newer version. | 15:50 | ||
RabidGravy | it would be | ||
ugexe | then it breaks when the newer version isn't compatible with the older | ||
RabidGravy | I'm with ugexe here | ||
raschip | The behavior you suggest would be completely unexpected. | ||
It has to follow Semver, sure. | 15:51 | ||
I'm talking about minor upgrades. | |||
RabidGravy | I think you aren't getting the idea of "Distribution" | ||
raschip | It's like a package from CPAn, isn't it? | ||
ugexe | how will users have such expectations when it seems like multiple versions is not a common thing | 15:52 | |
raschip | Say, there's a Foo:ver<1.1> and a Foo:ver<1.2>, I would expect the second to be loaded if someone asks for Foo::*. | 15:53 | |
ugexe | thats not what im talking about though | ||
RabidGravy | right and it will do that | ||
notviki | ugexe: what happens if I have Foo installed and run zef install Foo (given a newer version has been released since previous installation)? | ||
ugexe: I'd end up with two versions of Foo, no? | |||
raschip | The user expectation is that just installing Foo:ver<1.2> will solve a problem present on Foo:ver<1.1> | 15:54 | |
RabidGravy | yes | ||
ugexe | notviki: if you explicitly declare the version it will install it (or if you use zef upgrade ...) | ||
notviki | And if you say leaving off the :ver<> will give me the first installed, then I'd end up with unupgraded module... | ||
ugexe: and if I don't? | |||
ugexe | otherwise if you just do `zef instll Foo::Bar` it will tell you Foo::Bar:ver<*> is already installed | ||
notviki | :S | ||
raschip | That should upgrade it. | 15:55 | |
notviki | Seems very uintutive | ||
Especially if you compare with things like `cpanm` and `cpan` that upgrade if there's a new version available. | |||
ugexe | right, but its also not very intuitive for the meaning of :ver<*> to switch | ||
hence zef upgrade | |||
raschip | Yep, prepare for angry bug reports, there will be a lot of angry sysadmins looking for you. | 15:56 | |
ugexe | there will always be lots of angry sysadmins looking for you | ||
notviki | ugexe: and what syntax to "install latest"? | ||
for ver | |||
or :ver<latest-and-greatest> I mean | 15:57 | ||
ugexe | notviki: if its not already installed (any version of it) then just `zef install Foo::Bar`. if it *is* installed then `zef upgrade Foo::Bar` (i think) | ||
notviki | ugexe: but why is that condition exists? | ||
raschip | "zef install Foo::Bar" should upgrade the module if it installed. | ||
notviki | ugexe: I basically have to run zef upgrade, see it fail because the module is not installed, and then run zef install | ||
ugexe | because CUR.is-installed.grep(* ~~ Foo::Bar:ver<*>) == True | ||
notviki | ugexe: but I'm talking in more general terms. If I'm `use`ing a module, how to tell it to use latest and greatest version? | 15:58 | |
ugexe | there is no way to `use` like that (and zef just followed suit with how that acts). im not saying that right or wrong, but thats why zef treats it the way it does (so no discrepency in the meaning of *) | 15:59 | |
notviki | :o | ||
ugexe | if perl6 treated :ver<*> as latest-and-greatest then zef would be changed as well | ||
notviki | That's what I intuitively expect it to mean. So it's predictable. | 16:00 | |
I don't what point is there in asking for "whatever you happen to find first" | |||
ugexe | to be fair a lot of this stuff is only just now accessible due to lexical module loading now working | ||
raschip | notviki++ | ||
16:02
lukaramu left
|
|||
ugexe | as mst pointed out maybe there should be a way to declare like `use Foo::Bar:from<THIS DISTRIBUTION ONLY>` such that they dont have to use `use Foo::Bar:ver<this version>:auth<this auth>` and edit it every time they release a new version | 16:04 | |
raschip | And the module ecosystem should make sure published modules don't make use of the feature that allows specifing specific versions of another module. | 16:05 | |
ugexe | i couldn't disagree with that more | ||
16:05
Ven joined
|
|||
raschip | (For minor versions) | 16:05 | |
ugexe | best practice should be to *always* declare the version of what you are using | ||
perl6 doesn't enforce semvar | |||
raschip | Far major versions, yes. | 16:06 | |
ugexe | you can have poop emoji as your version if you want | ||
notviki | lol | ||
ugexe | if you want to do the semver thing then you do `use Foo::Bar:ver<1.*>` | 16:07 | |
raschip | It's a good idea to declare a major version, otherwise it shouldn't declare any version at all. | ||
notviki | m: say Ver.new: "💩" | ||
camelia | rakudo-moar 338336: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared name: Ver used at line 1» | ||
notviki | m: say Version.new: "💩" | ||
camelia | rakudo-moar 338336: OUTPUT«v» | ||
raschip | Camelia ate the poop. | ||
notviki | m: dd Version.new: "💩" | 16:08 | |
camelia | rakudo-moar 338336: OUTPUT«Version.new» | ||
notviki | s: Version, 'new', \("x") | ||
SourceBaby | notviki, Sauce is at github.com/rakudo/rakudo/blob/3383...ion.pm#L24 | ||
ugexe | i only increment my versions by adding an additional poop emoji each iteration (so it still passes a version compare) | ||
notviki | m: dd Version.new: ["💩"], "💩", 42 | 16:09 | |
camelia | rakudo-moar 338336: OUTPUT«Version.new('💩')» | ||
notviki | m: Version.new(["💩"], "💩", 42).perl.EVAL.perl.say | ||
camelia | rakudo-moar 338336: OUTPUT«Version.new» | ||
notviki | m: Version.new(["💩"], "💩", 42).perl.say | 16:10 | |
camelia | rakudo-moar 338336: OUTPUT«Version.new('💩')» | ||
notviki | heh, bug | ||
ugexe | m: say Version.new("💩") cmp Version.new("💩💩") # ok maybe not | 16:11 | |
camelia | rakudo-moar 338336: OUTPUT«Same» | ||
ugexe | but theoretically! | 16:12 | |
notviki | m: say Version.new(" ") cmp Version.new(" . ") | 16:13 | |
camelia | rakudo-moar 338336: OUTPUT«Same» | ||
notviki | m: say Version.new(" . ").Stringy | ||
camelia | rakudo-moar 338336: OUTPUT«» | ||
notviki | it's also a bug | ||
at the very list because it silently goes for Version.new() | 16:14 | ||
raschip | New versions have security fixes and should be used. Using outdated versions is a security bug. | ||
It's better to break software otright than silently keeping security bugs. | |||
outright* | 16:15 | ||
ugexe | m: say v1.💩 cmp v1.💩💩 # boo | ||
camelia | rakudo-moar 338336: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Malformed postfix callat <tmp>:1------> 3say v1.7⏏5💩 cmp v1.💩💩 # boo» | ||
ugexe | m: say v1.1 cmp v1.2 | ||
camelia | rakudo-moar 338336: OUTPUT«Less» | ||
notviki | .u poop | ||
yoleaux | No characters found | ||
raschip | She just eats it. | ||
If users or admins want to keep old versions around, they should be able to, but the software deciding that on it's own is very bad. | 16:18 | ||
ugexe | tbf its not entirely difficult to implement your own CompUnit::Repository that resolves things its own way | ||
16:18
regnarg joined
|
|||
raschip | It's should be easy. And predictable. | 16:19 | |
It* | |||
16:19
cdg left,
shayan_ joined,
lucasb left
16:20
cdg joined
|
|||
ugexe | consider something that has a depends on "Foo::Bar:ver<1.*>" and you already have Foo::Bar:ver<1.0> installed but a Foo::Bar:ver<1.9> exists in the ecosystem (but is not installed). Not everyone expects that it should have to download the newer version of Foo::Bar since its already fulfilled | 16:21 | |
raschip | No new downloads, you're right on that. | ||
And I agree with you zef and panda should do the same ar P6 itself. It's P6 that should be fixed. | 16:22 | ||
ugexe | so the meaning of * now changes with context. that is not predictable. so the problem is it cant be so simple and also be predictable | ||
raschip | Do the multiple versions are in the same place on @*INC? | 16:23 | |
16:23
kaare_ joined
|
|||
ugexe | they are placed in whatever CompUnit::Repository you install them to | 16:23 | |
raschip | I see. | 16:24 | |
16:24
cdg left
|
|||
raschip | Can't it be solved by an option of the Comp::Unit::Repository? To return the right versions? | 16:25 | |
ugexe | CUR (CompUnit::repository) must implement a .resolve method that serves that purpose yes | ||
raschip | It's possible to implement a CUR that returns the latest version unless told otherwise, or that understands SemVer? It's an important feature. | 16:27 | |
Should be the default. | 16:28 | ||
16:29
Ven left
|
|||
ugexe | they all understand semver already | 16:31 | |
16:32
Ven joined,
zakharyas left
|
|||
raschip | They do something with it? | 16:33 | |
ugexe | in some parts yes | 16:34 | |
github.com/rakudo/rakudo/blob/nom/...on.pm#L512 | 16:35 | ||
thats the real problem (caching) | |||
raschip | When is the cache invalidated? | ||
ugexe | caching on the short-name (the Foo::Bar of Foo::Bar:ver<...>:auth<...>) | ||
never - it shouldn't have to be | 16:36 | ||
raschip | This cache is saved to the disk? | ||
ugexe | its just mapping a loaded CompUnit to something its searching for | ||
16:36
BenGoldberg joined
16:38
dugword joined
|
|||
raschip | What is the scope of the cache? If it ends up there, all P6 invocations will use it? | 16:39 | |
16:40
ChoHag joined
|
|||
ugexe | its just a way to memoize the loading code for a specific request for a module | 16:41 | |
raschip | When P6 starts, this cache is empty? | 16:42 | |
16:42
dugword left
16:44
petrutrimbitas left
|
|||
ugexe | you're over thinking this. it just means `return %!loaded{$spec.short-name} if %!loaded{$spec.short-name}:exists;` needs to s/$spec.short-name/~$spec/ | 16:44 | |
(slightly simplified, as that doesn't cover version ranges, but works other than that) | 16:45 | ||
raschip | I wouldn't say I'm overthinking it too much, I was just asking. | ||
16:45
BenGoldberg left,
Ven left
|
|||
raschip | So, you say the problem with using a newer version is that it's cached in the way above? | 16:46 | |
16:46
small-wolf joined
|
|||
ugexe | yes, but using a "different" version period | 16:47 | |
16:47
pyrimidine left
|
|||
raschip | Ok, but it's not a problem to keep using the same version in the sameinvocation of the program. Users and admins already are used to restart services to make them load newer versions. | 16:48 | |
Even in Unix-like systems that overwrite libraries when upgrading that is necessary. | |||
16:48
small-wolf left,
pyrimidine joined
|
|||
ugexe | but in perl6 you can do `{use Foo::Bar:ver<1>} {use Foo::Bar:ver<2>}` | 16:49 | |
raschip | Yes, if it is specified, use whatever was specified. The case in question is when there's no version specified. | 16:50 | |
It should use new versions after the program is restarted. | |||
ugexe | the example I showed ignores the version | ||
raschip | Uses the first one it sees? | 16:51 | |
ugexe | first one that was loaded | ||
the "first one it sees" problem is separate | 16:52 | ||
raschip | ok | ||
16:52
Ven joined
|
|||
raschip | It's not the problem I'm concerned with. It's only when there's no version specified. | 16:53 | |
16:54
hankache left
16:57
shayan_ left
16:59
Ven left,
dugword joined,
dugword left
17:00
dugword joined
17:07
pmurias joined
|
|||
pmurias | in Backtrace.pm there is a comment "note that backtraces are nqp::list()s, marshalled to us as a List" | 17:08 | |
what does the marshalling | |||
? | |||
arnsholt | The HLL interface in NQP presumably, as configured by nqp::sethllconfig or whatever the op is? | 17:12 | |
17:16
xinming_ joined
17:20
xinming left,
cdg joined
|
|||
webstrand | I'm trying to incrementally parse $*IN with a grammar. In exegesis 5, a mechanism for binding a scalar to a stream, but that doesn't seem to exist. Is this currently possible? | 17:22 | |
17:25
cdg left
|
|||
notviki | is that the Cat type? It's NIY | 17:25 | |
webstrand | Not sure, google doesn't turn up anything for Cat. The proposed syntax was: my $text is from($*ARGS); | 17:28 | |
17:30
cdg joined
17:32
Ven joined
17:35
cdg left,
PapaChub joined
|
|||
pmurias | webstrand: AFAIK it NIY | 17:37 | |
17:39
small-wolf joined
|
|||
AlexDaniel | webstrand: that's interesting, at some point I've wondered about this too. What are you trying to do, by the way? | 17:39 | |
pmurias | arnsholt: thanks, forgot to set the hllRole | 17:40 | |
17:41
cdg joined
|
|||
webstrand | AlexDaniel: I' | 17:41 | |
AlexDaniel | oops, seems like this answer is a Cat… :) | ||
webstrand | Do you know where I can find documentation on cat? | 17:42 | |
AlexDaniel | webstrand: it's not yet implemented | ||
notviki | How can I simulate `is default` on a routine without actually usign the trait? The trait just `does role { method default() { True } }`; I tried multi foo {...} does role {...] but that doesn't do it. Any idea? | ||
webstrand | But somewhere, someone has specified what Cat is, right? | 17:43 | |
notviki | webstrand: try looking on design.perl6.org/ | ||
AlexDaniel | webstrand: vaguely, yea | ||
17:44
pierre_ joined
|
|||
notviki | m: multi foo (Rational, Rational) {say "got it"}.^mixin(role { method default() { True } }); multi foo (Real, Real) {say "fail"}; foo 1.1, 1.1 | 17:44 | |
camelia | rakudo-moar 338336: OUTPUT«Ambiguous call to 'foo'; these signatures all match::(Rational $, Rational $):(Real $, Real $) in block <unit> at <tmp> line 1» | ||
17:45
Ven left
|
|||
pmurias | 65 | 17:47 | |
sorry | |||
17:48
pierre_ left
|
|||
notviki | BINGO! | 17:50 | |
17:52
Ven joined
|
|||
webstrand | I don't suppose there's a low-level interface to grammars, so that I could manually feed in data? | 17:55 | |
17:56
shayan_ joined
18:00
zakharyas joined
|
|||
raschip | I think we hava an XY problem here. | 18:00 | |
What's the problem you're finding on the standard interface? | |||
18:01
Ven left
|
|||
webstrand | In my limited experience with PEG parsers, there's often a way to take action when a subrule matches | 18:01 | |
18:01
shayan_ left
|
|||
webstrand | If you're parsing a large file, or the data is from a slow source, it's nice not to have to load the whole thing into memory | 18:02 | |
From what I can tell, grammars currently require all of the data to be in a string before parsing. | 18:03 | ||
lizmat | that is correct | ||
PapaChub | Stupid question: What's the idiomatic way to "die" from a script without printing a backtrace? Short of redefining my own "sub die { note ~@_; exit 1 }" | ||
18:04
shayan_ joined
|
|||
lizmat | exit | 18:04 | |
PapaChub: ^^^ | |||
notviki | But how to print the message? | ||
ugexe | m: for 1..5 { exit note "Error" } | ||
camelia | rakudo-moar 338336: OUTPUT«Error» | ||
PapaChub | lizmat Does that take a message? | ||
notviki | oh | ||
PapaChub | Neat | 18:05 | |
webstrand | Since there's no mechanism to create 'lazy' strings, I was hoping I could drive the parser myself by supplying individual characters | ||
raschip | Is there a field separator in what you're trying to parse? | ||
18:06
zakharyas left
|
|||
notviki wonders what exit note ... would do if note fails.. | 18:06 | ||
lizmat | well, then note would return False, and exit would return 0 ? | 18:07 | |
notviki | Yeah | ||
m: say +note 0/0 | |||
camelia | rakudo-moar 338336: OUTPUT«Attempt to divide by zero using div in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
notviki | .oO( bad example ) |
||
m: exit 1+note "Error" | 18:08 | ||
camelia | rakudo-moar 338336: OUTPUT«Error» | ||
webstrand | raschip: Yeah, newlines. I was hoping for a more general solution, so that I could parse more complicated formats, like VDF | ||
AlexDaniel | b: say ‘test’ | ||
c: say ‘test’ | |||
Undercover | AlexDaniel, Something's wrong: testERR: Cannot resolve caller sourcery(Bool); none of these signatures match: ($thing, Str:D $method, Capture $c) ($thing, Str:D $method) (&code) (&code, Capture $c) in block <unit> at -e line 6 | ||
lizmat | webstrand: could you do it with .split ? | ||
AlexDaniel | Undercover: get out of here! | ||
notviki | AlexDaniel: I can change its trigger if you want to use that for something more useful. | 18:09 | |
webstrand | lizmat: yep, or .lines | ||
lizmat | well, .split on IO::Handle is supposed to be lazyish | ||
AlexDaniel | notviki: I'm just thinking that “c: 2015.12” is easier to type than “commit: 2015.12”, but I'm going to add “mc:” anyway | ||
mc: say 42 | |||
notviki | ok | 18:10 | |
AlexDaniel | e: say 42 | 18:11 | |
raschip | If there is a filed separator, it's possible to define IFS to that and P6 will pull it piece by piece for you. | ||
notviki goes to hack Undercover | |||
raschip | The grammar engine doesn't work byte by byte, I think. | ||
18:12
Ven joined
|
|||
PapaChub | m: CATCH { note .payload; exit 1 }; die "Error" | 18:12 | |
camelia | rakudo-moar 338336: OUTPUT«Error» | ||
AlexDaniel | notviki: do you want it to be 2015.12 or 2015.12,HEAD ? | ||
lizmat | m: say 2017.is-prime # USP of 2017 so far | ||
camelia | rakudo-moar 338336: OUTPUT«True» | ||
18:12
Undercover joined,
ChanServ sets mode: +v Undercover
|
|||
moritz wants to publish at least one book in 2017 | 18:13 | ||
notviki | AlexDaniel: juse 2015.12 | ||
*just | |||
18:13
Ven left
|
|||
notviki | c: dsadasdas | 18:13 | |
Undercover: help | |||
Undercover | notviki, Use s: trigger with args to give to sourcery sub. e.g. cover: Int, 'base'. See modules.perl6.org/dist/CoreHackers::Sourcery | ||
notviki | heh | ||
lizmat | (courtesy of xkcd.com/1779/ ) | ||
18:13
teksteiner joined
18:14
Undercover left,
Undercover joined,
ChanServ sets mode: +v Undercover
|
|||
notviki | Undercover: help | 18:15 | |
Undercover | notviki, Use cover: trigger with args to give to sourcery sub. e.g. cover: Int, 'base'. See modules.perl6.org/dist/CoreHackers::Sourcery | ||
notviki | cover: Int, 'base' | ||
Undercover | notviki, The code is hit during stresstest [WARNING: this line is a proto! Check individual multies] See perl6.WTF/src_core_Int.pm.coverage.html#L64 for details | ||
notviki | Oh hilarious. Old coverage is actually still on the site because the broken coverage used different filenames. | 18:16 | |
18:16
shayan_ left
|
|||
notviki | Yey? :) | 18:16 | |
18:18
evalable6 joined
18:19
evalable6 left,
committable6 left,
bisectable6 left,
petrutrimbitas joined,
evalable6 joined,
committable6 joined,
ChanServ sets mode: +v committable6,
bisectable6 joined,
ChanServ sets mode: +v bisectable6
|
|||
raschip | Welcome back, bots. | 18:20 | |
18:20
bisectable6 left
18:21
committable6 left
|
|||
raschip | What did I do? | 18:21 | |
moritz | nobody will ever know for sure. | 18:22 | |
18:23
bisectable6 joined,
ChanServ sets mode: +v bisectable6
18:24
committable6 joined,
ChanServ sets mode: +v committable6
18:25
committable6 left
|
|||
arnsholt <3 git commit --amend | 18:28 | ||
(And git in general) | |||
18:30
committable6 joined,
ChanServ sets mode: +v committable6
|
|||
jonadab | arnsholt: Indeed. | 18:30 | |
18:32
Ven joined
18:33
petrutrimbitas left
|
|||
PapaChub | m: ¬e.wrap: { callsame; False }; exit note "exit zero" | 18:34 | |
camelia | rakudo-moar 338336: OUTPUT«exit zero» | ||
notviki | m: note "exit zero", exit | 18:35 | |
camelia | ( no output ) | ||
notviki | riiight | ||
18:35
committable6 left
|
|||
notviki | m: note("exit zero"), exit | 18:35 | |
camelia | rakudo-moar 338336: OUTPUT«exit zero» | ||
notviki | m: "exit zero".note, exit | ||
camelia | rakudo-moar 338336: OUTPUT«exit zero» | ||
18:35
committable6 joined,
ChanServ sets mode: +v committable6
|
|||
PapaChub | m: note "exit zero" => exit | 18:36 | |
camelia | ( no output ) | ||
rightfold | say ¬e.WHY | 18:37 | |
m: say ¬e.WHY | |||
camelia | rakudo-moar 338336: OUTPUT«Nil» | ||
rightfold | I don't understand WHY | 18:38 | |
notviki | m: say WHY 'Life, the Universe and Everything': | 18:41 | |
camelia | rakudo-moar 338336: OUTPUT«42» | ||
ugexe | m: for 1..5 { exit() R, note("exit 0") } | ||
camelia | rakudo-moar 338336: OUTPUT«Potential difficulties: Useless use of R, in sink context at <tmp>:1 ------> 3for 1..5 { exit() 7⏏5R, note("exit 0") }exit 0» | ||
ugexe | m: for 1..5 { exit() R, note("exit 0") if 1 } | 18:42 | |
camelia | rakudo-moar 338336: OUTPUT«exit 0» | ||
ugexe | weird | ||
ugexe refers to R, as the "right-after" operator in my head | 18:43 | ||
18:44
Vynce joined
18:45
Ven left
|
|||
PapaChub | m: my $dir = "."; $dir = $dir.IO.resolve.Str; dd $dir | 18:45 | |
camelia | rakudo-moar 338336: OUTPUT«Str $dir = "/home/camelia"» | ||
PapaChub | m: my $dir = "."; $dir .= IO.resolve.Str; dd $dir | ||
camelia | rakudo-moar 338336: OUTPUT«IO::Path $dir = ".".IO(:SPEC(IO::Spec::Unix),:CWD("/home/camelia"))» | ||
PapaChub | Is there a shortcut for ".="-ing a longer method chain? | 18:46 | |
18:47
committable6 left,
committable6 joined,
ChanServ sets mode: +v committable6
|
|||
PapaChub | m: my Str $dir = "."; $dir .= IO.resolve.Str; dd $dir | 18:48 | |
camelia | rakudo-moar 338336: OUTPUT«Type check failed in assignment to $dir; expected Str but got IO::Path (".".IO(:SPEC(IO::Spec...) in block <unit> at <tmp> line 1» | ||
ugexe | m: my $a = 1 andthen {$_++}; say $a | ||
camelia | rakudo-moar 338336: OUTPUT«2» | ||
18:48
committable6 left,
committable6 joined,
ChanServ sets mode: +v committable6
|
|||
ugexe | but whatever you are trying to do with those IO objects looks wrong | 18:49 | |
18:49
shayan_ joined
|
|||
ugexe | mutating a string type into an IO::Path for instance | 18:50 | |
18:50
pyrimidine left
|
|||
PapaChub | I was hoping to mutate it back to a Str (i.e., go from "." to "/some/path") | 18:50 | |
18:50
pyrimidine joined
|
|||
ugexe | ah right | 18:51 | |
18:52
Ven joined
|
|||
ugexe | not ideal but you could do | 18:53 | |
m: my Str $dir = "." andthen {$_ = .IO.resolve.Str}; dd $dir | 18:54 | ||
camelia | rakudo-moar 338336: OUTPUT«Str $dir = "/home/camelia"» | ||
ugexe | not sure why you get that type check error actually | 18:55 | |
PapaChub | sub MAIN (Str $dir is copy = ".") { $dir = $dir.IO.resolve.Str } | ||
18:55
pierre_ joined
|
|||
PapaChub | I think ".=" only does one method | 18:55 | |
18:55
skids joined
|
|||
PapaChub | m: sub MAIN (Str $dir is copy = ".") { $dir = $dir.IO.resolve.Str; dd $dir } | 18:56 | |
camelia | rakudo-moar 338336: OUTPUT«Str $dir = "/home/camelia"» | ||
PapaChub | m: sub MAIN (Str $dir is copy = "/tmp") { $dir = $dir.IO.resolve.Str; dd $dir } | ||
camelia | rakudo-moar 338336: OUTPUT«Str $dir = "/tmp"» | ||
PapaChub | Does camelia accept command-line parameters? | ||
ugexe | yu can call &MAIN(...) | 18:57 | |
PapaChub | m: sub MAIN (Str $dir is copy = ".") { $dir = $dir.IO.resolve.Str; dd $dir }; &MAIN("/tmp") | ||
camelia | rakudo-moar 338336: OUTPUT«Str $dir = "/tmp"Str $dir = "/home/camelia"» | ||
PapaChub | m: multi sub MAIN (Str $dir is copy = ".") { $dir .= IO.resolve.Str; dd $dir }; &MAIN("/tmp") | 18:58 | |
camelia | rakudo-moar 338336: OUTPUT«Type check failed in assignment to $dir; expected Str but got IO::Path ("/tmp".IO(:SPEC(IO::S...) in sub MAIN at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
ugexe | I often find myself wishing we could do coercing for that ala `sub foo(Str(IO::Path) $dir) { }` | 18:59 | |
PapaChub | m: multi sub MAIN (Str $dir is copy = ".") { $dir = $dir.IO.resolve.Str; dd $dir }; &MAIN("/tmp") | ||
camelia | rakudo-moar 338336: OUTPUT«Str $dir = "/tmp"Str $dir = "/home/camelia"» | ||
PapaChub | m: sub SUB (Str $dir is copy = ".") { $dir = $dir.IO.resolve.Str; dd $dir }; &SUB("/tmp") | ||
camelia | rakudo-moar 338336: OUTPUT«Str $dir = "/tmp"» | ||
19:01
Ven left
19:03
Ven joined
|
|||
webstrand | The docs list a number of pragmas that are NYI, such as MONKEY-WRENCH. Neither the design nor the roast mention them. Any idea where they're specified? | 19:07 | |
notviki | webstrand: they're not. They're just reserved. | 19:08 | |
19:08
raschip left
|
|||
webstrand | Shouldn't they be TBD then? | 19:08 | |
notviki | We just wanted to call dibs on all the cool MONKEYs if we come up with something for them in the future | ||
webstrand: where are they listed? | |||
webstrand | understandable. Here: docs.perl6.org/language/pragmas | ||
moritz | there should be a statement that all upper-case names are reserved | 19:09 | |
instead of listing specific ones | |||
notviki | webstrand: yeah, that needs some lovin' | ||
moritz: that seems pretty harsh. | |||
I guess that would make my SPEC::Func illegal? | 19:10 | ||
webstrand | I can submit a pull request to change the pragmas. Shall I mark all pragmas marked [NYI] but not listed in either design or the roast as [TBD]? | 19:11 | |
notviki | webstrand: a more awesome approach would be to add them into roast with just a simple eval-dies-ok 'use MONKEY-WHATEVER'; and then document them as just reserved for possible future use. | 19:14 | |
webstrand: because we're basically not supposed to document anything that's not in roast | |||
And there should also be Issues in doc and/or roast for these | |||
pmurias | are they specced to die? | ||
* should they be? | 19:15 | ||
notviki | pmurias: they're not specced at all | ||
webstrand | I can do that | ||
notviki | m: use MONKEY-WRENCH | ||
camelia | ( no output ) | ||
notviki | m: use MONKEY-WRENCH; | ||
camelia | ( no output ) | ||
notviki | Isn't that one of the reserved? | ||
pmurias | notviki: you want them to be specced to die | ||
notviki | We already had this discussion before. | 19:16 | |
ugexe | i'd really like a way to access the list of pragmas rakudo/implementation supports | ||
pmurias | notviki: when? | ||
19:17
Ven left
|
|||
ugexe | then zef could ignore depends on those items, and Test::META could warn users | 19:18 | |
19:19
Tonik joined
|
|||
moritz | ugexe: +1 | 19:19 | |
notviki | webstrand: I'd expect them to die with a message that they're reserved but I see that they currently don't so perhaps those tests don't work | ||
*won't work | |||
webstrand | wouldn't that be a good thing? Then the tests will succeed when the pragmas correctly die? | 19:20 | |
notviki | pmurias: I believe this was a previous discussion: irclog.perlgeek.de/perl6/2016-12-02#i_13669763 | ||
webstrand: oh, OK, I see the proposal was to add it as a "does NOT die" test: irclog.perlgeek.de/perl6/2016-12-02#i_13669791 | 19:21 | ||
m: use MONKEY-BRAINS | 19:22 | ||
camelia | ( no output ) | ||
notviki | m: use MONKEY-BALLS | ||
camelia | rakudo-moar 8d3595: OUTPUT«===SORRY!===Could not find MONKEY-BALLS at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6 CompUnit::…» | ||
ugexe | webstrand: a pragma isnt a dependency/module, so while you can query something like $_.is-installed.grep($identity) for the later (module) there is no way to tell if its a pragma that exists | ||
notviki | m: use Test; use-ok 'MONKEY-BRAINS' | ||
camelia | rakudo-moar 8d3595: OUTPUT«ok 1 - The module can be use-d ok» | ||
notviki | heh | ||
19:23
Ven joined
|
|||
ugexe | maybe they belong somewhere else, but they dont belong under depends | 19:23 | |
pmurias | I don't see any value in adding a test for "reserved" pragmas | ||
ugexe | warn the user the dependency list contains a pragma and that is not what they should do? | 19:24 | |
pmurias | ugexe: having zef test for a dependency on a pragama makes sense | 19:25 | |
ugexe: I meant having a test in the spec that 'use MONKEY-WRENCH' dies | |||
notviki | that it lives | 19:26 | |
or dies with "this is reserveed" | |||
ugexe | ah sorry, wasn't following the rest :) | ||
notviki | The value is pretty obvious if you don't assume Rakudo represents Perl 6 | ||
or defines Perl 6, I should say | |||
19:27
Vynce left
|
|||
notviki | We can't claim MONKEY-X is reserved in Perl 6 language just because we typed some letters in Rakudo implementatino. That's what the roast is for. | 19:28 | |
pmurias | why is MONKEY-X reserved? | ||
notviki | docs.perl6.org represents Perl 6 Language, not Rakudo. Hence why it follows the rule that we don't document stuff that's in roast. | ||
I think TimToady is the author of the most MONKEY reservasion commits, ask him vOv | 19:29 | ||
pmurias | Rakudos currently allows MONKEY-WRENCH, it's just a noop | ||
19:30
Ven left
|
|||
notviki | Right, you can't have a module named MONKEY-WRENCH; you won't be able to `use` it | 19:31 | |
dalek | c: 65172ba | (Tom Browder)++ | doc/Language/faq.pod6: no need for parens |
19:32 | |
synopsebot6 | Link: doc.perl6.org/language/faq | ||
geekosaur | TinToady reserved the MONKEY* namespace for "dangerous" things, iirc | ||
notviki | .oO( can still `require` it tho) |
||
geekosaur | all of which are expected to be pragmas; "dangerous" normal modules are something for the community to work out | 19:33 | |
notviki | hah | ||
mst | geekosaur: <auth:DCONWAY> | 19:37 | |
geekosaur | not going there kthxbai :p | ||
19:38
petrutrimbitas joined
19:41
petrutrimbitas left
19:42
Predator00100 joined
19:45
cdg left,
espadrine joined
19:49
domidumont joined
19:58
cyphase left
19:59
noganex_ joined
20:02
Ven joined
20:03
noganex left,
cyphase joined
20:05
Tonik left,
Predator00100 left
20:08
regnarg left
20:13
labster joined
20:14
labster left,
labster joined
20:15
petrutrimbitas joined
20:16
labster left,
Ven left
20:17
petrutrimbitas left
20:21
Ven joined
20:22
labster joined,
petrutrimbitas joined
20:25
zakharyas joined
20:27
domidumont left
20:28
pyrimidine left,
shayan_ left
20:29
pyrimidine joined
20:46
Ven left,
TEttinger joined
20:47
petrutrimbitas left
20:50
Ven joined
21:01
Ven left
21:09
Ven joined
21:11
pierre_ left
21:12
pierre_ joined
21:13
webstrand left
21:16
Ven left
21:17
pierre_ left
21:20
webstrand joined
21:30
Ven joined
|
|||
samcv | o/ | 21:37 | |
morning all | |||
21:38
lukaramu joined
|
|||
teksteiner | good evening samcv and everyone o/ | 21:42 | |
21:44
cdg joined
21:45
kaare_ left
21:52
xinming_ left
21:54
xinming joined
|
|||
samcv | :) | 21:55 | |
tbrowder | Hi, samcv and teksteiner! | 22:00 | |
samcv | <notviki> docs.perl6.org represents Perl 6 Language, not Rakudo. Hence why it follows the rule that we don't document stuff that's in roas | 22:01 | |
don't you mean _not_ in roast? | |||
webstrand | I'm getting segfaults from Inline::Python's test suite on rakudo-git. Does anyone else have this problem? | 22:02 | |
22:02
Ven left
|
|||
notviki | samcv: yes | 22:03 | |
notviki rocks out to www.youtube.com/watch?v=yTpOy6ydf_0 | 22:04 | ||
Perfect music to squash bugs to! | |||
webstrand: I'm just getting this: pyhelper.c:1:20: fatal error: Python.h: No such file or directory | 22:05 | ||
#include "Python.h" | |||
webstrand | Your probably missing python-dev or python-devel? | ||
notviki | probably | 22:06 | |
webstrand: what's rakudo-git BTW? | 22:07 | ||
webstrand | I mean i built rakudo from git HEAD | 22:08 | |
notviki | OK. You can try a proper release. | ||
japhb was having issues with Native::Blob. Maybe related? | |||
22:09
Ven joined
|
|||
webstrand | Ah. Last time i was hear HEAD was basically the release. I'll rebuild | 22:09 | |
notviki | irclog.perlgeek.de/perl6-dev/2016-...i_13825883 | ||
err, no, HEAD is development | |||
You can just checkout the release tag: 2016.12 | 22:10 | ||
and build that way | |||
Otherwise, compiler releases are at rakudo.org/downloads/rakudo/ and user-facing distro (with docs and modules) is at rakudo.org/downloads/star/ | |||
teksteiner | Quick question, what would be the easiest way to remove all newlines from a String? | 22:12 | |
notviki | teksteiner: $string.lines.join | ||
lizmat | m: "a\nb\nc\n\nd".trans("\n" => "").say # teksteiner | 22:13 | |
camelia | rakudo-moar b2332c: OUTPUT«abcd» | ||
teksteiner | notviki thank you :) | ||
samcv | @notviki, on perl6.fail “Search is NIY” | ||
what is this NIY and when it be implemented? | 22:14 | ||
:P | |||
22:14
pierre_ joined
|
|||
samcv | (the search box default greyed out text) | 22:14 | |
notviki | samcv: NIY is Not Implemented Yet as for when... I currently have very little desire to add it, but patches welcome: github.com/zoffixznet/R6 | 22:15 | |
samcv | oh thought it was typo to be NYI | 22:16 | |
ignore me then | |||
notviki | I've no idea why everyone writes it as NYI.. | ||
22:17
Ven left
|
|||
mst | Not Yet Implemented | 22:17 | |
notviki | I've no idea why everyone writes it as Not Yet Implemented | ||
mst | because 'Not Yet X' is a common phrasing | ||
notviki | :) | 22:18 | |
22:18
pierre_ left
|
|||
samcv | and putting the X at the end is clearer i think | 22:19 | |
than in the middle of the word | |||
geekosaur | "is X ...?" "not yet" | ||
lizmat | NYD # not yet documented | ||
samcv | is NYA a thing too | ||
NYC, New York not sure what that means | 22:20 | ||
maybe somebody can think of something witty | |||
notviki | *shrug* | ||
I know the other side of the pond people get pissed and bars and cars have boots, so what do I know :P | 22:21 | ||
s/and/in/; | |||
114M results in google for Not Yet Implemented and only 7M for NIY | 22:22 | ||
"Yet is normally placed at the end of the clause, particularly in informal English and in questions, but can go immediately after not in negative sentences in a more formal style, such as Cambridge Dictionaries and the British Library have used. Compare also the following:" | 22:23 | ||
22:26
committable6 left,
committable6 joined,
ChanServ sets mode: +v committable6
22:28
Ven joined
22:29
Ven left
|
|||
jdv79 | not yet calm,capable,chaos,cheap,classy,clean,cynical | 22:32 | |
geekosaur | the questions one is roughly akin to the inversion structure of questions: does X Y? X does Y. | 22:33 | |
webstrand | notviki: moarvm/nqp/rakudo at tag 2016.12: Inline::Python's t/call_back.t segfaults | 22:40 | |
notviki | webstrand: please report it as a bug by emailing to [email@hidden.address] | 22:41 | |
22:49
Ven joined
22:52
newbie1 joined
|
|||
skids | is S01-perl-5-integration/hash.t a well-known failing test right about now? | 22:52 | |
notviki | Not seen it fail, though I don't know if I have the latest and greatest Inline::Perl5 | 22:53 | |
skids | oh, p5, maybe I need to update the mod. | ||
22:55
rindolf left
22:56
wamba left
22:57
FROGGS left
22:58
RabidGravy left
23:01
Ven left
23:02
Tonik joined
23:03
cpage_ left
23:04
cpage_ joined
23:06
pmurias left
23:08
Ven joined
23:10
Tonik left
23:15
grondilu left
23:16
Ven left
23:17
grondilu joined
|
|||
notviki | skids: did it work? | 23:23 | |
23:27
kyan joined
23:28
Ven joined
23:29
Ven left
23:32
zakharyas left
|
|||
dugword | I'm getting this error and I'm not sure why: "Cannot unbox a type object (int) to an int" What does that mean? | 23:33 | |
Are ints not ints? Or do the parens mean something | 23:34 | ||
notviki | :S what the... | 23:36 | |
dugword: is that actually the error? | |||
or did you type it by hand | 23:37 | ||
What's the code that reproduces it? | |||
rightfold | the type object isn't an integer | ||
it's a type object | |||
notviki | m: my int $x = int | ||
camelia | rakudo-moar 87fefa: OUTPUT«Cannot unbox a type object (int) to int. in block <unit> at <tmp> line 1» | ||
notviki | Ah, right you can repro it that way | ||
dugword | That is a copy paste | ||
geekosaur | dugword, a type object is a typed undef | ||
so no, it doesn't fit into a native int | 23:38 | ||
notviki | m: my $x = int; dd $x | ||
camelia | rakudo-moar 87fefa: OUTPUT«int $x = int» | ||
notviki | neat | ||
geekosaur | (this is a bit of a corner case for native types) | ||
notviki | m: my $x = int; dd $x.new: 42 | ||
camelia | rakudo-moar 87fefa: OUTPUT«42» | ||
notviki | anyway | ||
dugword | Okay, so my code must be passing in a type object instead of a value... that could be | ||
notviki | dugword: right, ints can't take type objects | 23:39 | |
well no natives can | |||
dugword | That really helps, thanks | ||
23:48
cooper left,
Ven joined
|
|||
notviki | skids: weird... t/spec/S01-perl-5-integration/import.t just failed for me, but succeeded when I re-ran it on its own :( | 23:52 | |
23:54
Ven left
23:56
Ven joined,
clasclin joined
|