»ö« 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 |