»ö« 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. |
|||
kalkin- | ugexe: even during the build and test phase? | 00:00 | |
ugexe | someone elses build might generate perl modules during the build phase | ||
kalkin- | ugexe: so when you talked about concurrency you meant like actually doing builds of modules depending on each other concurrently? | 00:01 | |
ugexe | kalkin-: yes, this is doable. zef did this for a long time even | ||
kalkin- | because this is what you talking about if module a waits for module b to generate some modules during b's build phase | ||
ugexe | you can probably think of other situations where that behavior would be wanted. its not specific to this point | 00:02 | |
kalkin- | but then you need to provide a bus where all the distrubtions can send message through during any phase and other distributions can listen to them | ||
so something like dbus | 00:03 | ||
:D | |||
ugexe | right, thats sort of what im getting at | ||
the average use would not need those things and should really be usable with just `perl6 -Ilib hooks/my_hook.pl6`, but we need to keep more sophisticated requirements in mind | 00:05 | ||
kalkin- | so you would need some way for hooks to listen on events in other hooks during same phase? or even all phases? | ||
00:05
shayan_ left
00:06
pecastro joined
|
|||
ugexe | dunno, I never implemented this part | 00:06 | |
kalkin- | also then you have to think about the event protocol. do you standardize some parts of it, like “class A is build“? | ||
ugexe | in short the hooks should be able to know whats happening in the current build environment its a part of | ||
kalkin- | don't we put to much logic in to distributions? | 00:07 | |
ugexe | it doesnt belong in distribution | ||
kalkin- | well hooks are part of the distribution | ||
we allow people to write very sophisticated stuff, I fear most will misuse it | 00:08 | ||
(because of lack of understanding) | |||
ugexe | if you dont allow it you end up with terrible hacks being used everywhere | ||
kalkin- | But hooks are limited to just generate new files inside the distribution dir. They can't influence anything else, like i.e. change installation location | 00:11 | |
or can they? | |||
ugexe | hooks are a script, they can do anything | ||
changing the installation location might be pushing it, but technically they could | 00:12 | ||
kalkin- | well yes but can this script force i.e installation of further stuff without you knowing it? | ||
ugexe | a perl6 script can do anything it has permissions for, so yes | ||
kalkin- | In such case we are in security territory | ||
ugexe | you cant prevent a hook thats `run <zef install Virus::Module>` | 00:13 | |
kalkin- | In such case it's the same as curl github/foo |bash | ||
ugexe | because people also need to `run <make something>` | ||
theres nothing stopping you from doing these things inside a perl module or test either though | |||
kalkin- | right | 00:14 | |
ugexe: it would be nice if you would readd simple hooks to zef | 00:15 | ||
ugexe | they need to be installable first | 00:16 | |
otherwise its breaks the preconception that you can get a distribution from some CUR and install it to another | |||
00:17
eitan left
|
|||
kalkin- | ugexe: is zef missing that or something else? (rakudo) | 00:18 | |
or what do you mean by installable? (Besides copy) | |||
ugexe | CompUnit::Repository::Installation.install() does not look for files starting with `hooks/` | 00:19 | |
so they won't be installed | |||
and fwiw installation does not actually do a file copy, it reads from a handle which could be a socket or something | 00:20 | ||
(it cant be a literal socket but you can put a thin wrapper role around one to make it happen) | 00:21 | ||
kalkin- | Hmm I'm looking at CompUnit::Repository::Installation.install i think it's just a one liner | 00:22 | |
hmm may be oneliner + loop | 00:23 | ||
ugexe | github.com/rakudo/rakudo/blob/nom/...on.pm#L299 you would just copy this block but s/resources/hooks/ i believe. then you'd need to update Distribution::Path and module installers to include those files in the meta data they pass | ||
github.com/rakudo/rakudo/blob/nom/...on.pm#L128 you'd copy this but s/bin/hooks/ to fix for Distribution::Path for instance | 00:24 | ||
SmokeMachine | ugexe: thanks! | 00:25 | |
kalkin- | ugexe: thanks! | 00:26 | |
ugexe is just glad someone else is listening and making noise about these things | 00:29 | ||
00:33
cdg_ left
00:34
lukaramu left,
pierrot left
00:35
pierrot joined
00:39
bjz joined
01:06
AlexDaniel joined
01:07
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:20
espadrine left
01:23
aborazmeh left
01:24
labster joined
01:26
Tonik left
01:32
ChoHag left,
ChoHag joined
01:34
Ben_Goldberg joined
01:35
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
01:49
gcole left
01:56
gcole joined
02:08
Gasher left
02:12
gcole left
02:13
gcole joined
02:19
araujo left
02:20
araujo joined,
araujo left,
araujo joined
02:28
hartenfels left
02:31
kalkin- left,
kalkin-_ joined
02:53
araujo left
02:54
araujo joined
03:11
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
03:12
DarthGandalf joined
03:13
DarthGandalf left
03:19
BenGoldberg left,
BenGoldberg joined
03:20
llfourn joined
03:21
llfourn left
03:26
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
[Coke] | anyone able to install "JSON::Fast" with zef? | 03:30 | |
I'm getting github.com/timo/json_fast/issues/18 | |||
03:30
Ben_Goldberg joined,
BenGoldberg left
03:31
Ben_Goldberg is now known as BenGoldberg
03:38
BenGoldberg left
|
|||
[Coke] | samcv: I can't run docs in sparse ATM: gist.github.com/coke/fa890bff5a219...17f2e20575 | 03:39 | |
that's after doing an npm rebuild and a make init-highlights | |||
03:40
BenGoldberg joined
|
|||
[Coke] | (trying to upgrade node from 7.2.1 to 7.4.0...) | 03:41 | |
samcv: same thing with upgraded node. | 03:42 | ||
BenGoldberg | Is there an equivilant of perlbrew for node? | ||
[Coke] | samcv: ugh. 'npm rebuild', but in the highlights directory. that fixed it. | 03:44 | |
dugword | nvm | 03:55 | |
nvm is the perlbrew for node | |||
[Coke] | I thought nvm was more like cpanm. | 04:09 | |
04:10
pecastro left
|
|||
[Coke] | ok, now the htmlify --sparse is hanging on Writing programs document for Perl 6 ... | 04:10 | |
timotimo | [Coke]: in case you missed it, ugexe just commented on your bug in json::fast | 04:16 | |
dugword | npm == cpanm | 04:19 | |
nvm == perlbrew | |||
04:20
labster left
|
|||
dugword | (n)ode (v)ersion (m)anager. lets you switch between different versions of node and installs them all in your local home dir | 04:21 | |
04:22
savasten joined
04:33
labster joined
04:34
BenGoldberg left
04:45
kyan left
|
|||
garu waves | 04:51 | ||
m: say 42 | |||
camelia | rakudo-moar f6303d: OUTPUT«42» | ||
04:52
savasten left
|
|||
garu | class Boom { method new($pos?, *%args) { %args = x => ($pos, %args); warn %args{q|x|}; return; } }; my %o = Boom.new(q|random|, :foo<bar>) | 04:53 | |
so... um... this ^^ hangs on by perl6 moar build (just updated with rakudobrew build moar) | 04:54 | ||
I'm afraid of running it on camelia and hanging her here for everybody else, so I'll leave it as is | 04:55 | ||
if anyone can help me debug it, it'd be awesome :D | |||
one interesting bit: if I remove the bit that says "warn %args{q|x|}" it doesn't hang | 04:57 | ||
ugexe | m: lass Boom { method new($pos?, *%_) { my %args = x => ($pos, %_); warn %args{q|x|}; return; } }; my %o = Boom.new(q|random|, :foo<bar>) | ||
camelia | rakudo-moar f6303d: OUTPUT«5===SORRY!5===Undeclared name: Boom used at line 1. Did you mean 'Bool'?Undeclared routine: lass used at line 1. Did you mean 'last'?Other potential difficulties: Useless declaration of a has-scoped method in mainline (did…» | ||
garu | hmm... so it does run | ||
ugexe | m: class Boom { method new($pos?, *%_) { my %args = x => ($pos, %_); warn %args{q|x|}; return; } }; my %o = Boom.new(q|random|, :foo<bar>) | ||
camelia | rakudo-moar f6303d: OUTPUT«random foo bar in method new at <tmp> line 1Odd number of elements found where hash initializer expected:Only saw 1 element in block <unit> at <tmp> line 1» | ||
ugexe | you dont think method(*%args) { %args = x -> (%args) } could be problematic? | 04:58 | |
m: my %x; %x<x> = %x; say %x | 05:01 | ||
camelia | rakudo-moar f6303d: OUTPUT«(\Hash_71399200 = {x => Hash_71399200})» | ||
ugexe | m: my %x; %x<x> = %x; warn %x | ||
camelia | rakudo-moar f6303d: OUTPUT«(timeout)» | 05:02 | |
garu | a-ha! | ||
thanks for reproducing it in a much smaller/cleaner fashion | |||
ugexe: also, I'm sorry, I'm new to perl6 and it's 3am here :) Why should it be problematic? say %args had :foo<bar>, I expected %args = x => ('lala', %args) to turn %args into x => ('lala', :foo<bar>) | 05:04 | ||
is it creating a reference to itself, instead? | |||
ugexe | yes | 05:05 | |
you could do `x => ('lala', |%args)` | |||
garu | ah... I keep forgetting about | | ||
thanks! | 05:06 | ||
m: my %x = foo => 42; %x<x> = ('lala', |%x); warn %x; | 05:07 | ||
camelia | rakudo-moar f6303d: OUTPUT«x lala foo 42foo 42 in block <unit> at <tmp> line 1» | ||
ugexe | you really just need to sink it, so |%args could also be `% = %args`, `eager %args`, etc | ||
05:07
shayan_ joined
|
|||
garu | ugexe: looks like it works exactly as I wanted, thanks! I'll try to keep it in mind, maybe try to get the whole "flat" mnemonic down | 05:08 | |
ugexe: still... the timeout is a bug, right? | |||
ugexe | its not the flattening that "fixes" it. its sinking | ||
I dunno if it is - but it could be | 05:09 | ||
garu | sinking.... can you elaborate? I think I get it but it looks like I'm missing something | 05:10 | |
or maybe just point me towards the docs? | |||
hobbs | hola garu | 05:13 | |
or olá. I just hola random peopl :) | 05:14 | ||
05:16
gfldex left
|
|||
garu | hobbs: heya! long time no see :) | 05:18 | |
hobbs | yeah | 05:19 | |
it's a nasty snowy day up here so I was just thinking that it should be OPW season right now | |||
but sadly we don't have that anymore :) | |||
05:29
skids joined
05:35
CIAvash joined
05:36
bjz left
05:47
Cabanossi left
05:49
Cabanossi joined
05:50
faraco joined
05:52
dugword left
05:59
khw left
06:11
CIAvash left
06:29
ggoebel joined
|
|||
faraco | hi guys, if I upload a perl6 to cpan, how to install it? Does cpan This::Module is enough to let it install under perl6 environment instead of perl5? | 06:34 | |
perl6 module* | |||
06:36
floutenvy joined
06:46
bjz joined,
floutenvy left
07:01
geekosaur left
07:02
geekosaur joined
07:09
araujo left
07:10
araujo joined,
araujo left,
araujo joined
07:11
rpburkholder left
07:13
mr-foobar left
07:14
mr-foobar joined
07:17
dugword joined
|
|||
faraco | hi | 07:19 | |
07:30
dugword left
07:31
floutenvy joined
07:33
astj joined
07:34
floutenvy left
|
|||
faraco | I don't understand about map function (basically in any language) | 07:36 | |
is it a functional routine? | |||
because I'm not experienced with functional paradigm | |||
when you should use map routine? | 07:37 | ||
and when you should not? | |||
07:39
faraco left
07:41
faraco joined
07:42
CIAvash joined
07:46
FROGGS joined
07:54
bwisti left,
andrzejku joined
07:58
skids left
|
|||
AlexDaniel | faraco: basically, you need it if you have a list of values that you want to turn into another list of values :) | 08:01 | |
m: my @a = 5, 8, 40; say @a.map: { $_² } | |||
camelia | rakudo-moar f6303d: OUTPUT«(25 64 1600)» | ||
CIAvash | faraco: en.wikipedia.org/wiki/Map_(higher-..._function) | 08:02 | |
AlexDaniel | my explanation is not very precise to be honest | ||
faraco: and in fact, you don't really *need* it. You can always achieve the same result by other means | 08:03 | ||
m: my @a = 5, 8, 40; say ($_² for @a) | |||
camelia | rakudo-moar f6303d: OUTPUT«(25 64 1600)» | ||
AlexDaniel | m: my @a = 5, 8, 40; say gather take $_² for @a | 08:04 | |
camelia | rakudo-moar f6303d: OUTPUT«(25 64 1600)» | ||
AlexDaniel | hah… | ||
m: my @a = 5, 8, 40; say @a»² | |||
camelia | rakudo-moar f6303d: OUTPUT«[25 64 1600]» | ||
AlexDaniel | m: my @a = 5, 8, 40; say @a X** 2 | 08:06 | |
camelia | rakudo-moar f6303d: OUTPUT«(25 64 1600)» | ||
AlexDaniel | m: my @a = 5, 8, 40; say @a »**» 2 | 08:07 | |
camelia | rakudo-moar f6303d: OUTPUT«[25 64 1600]» | ||
andrzejku | c++17 looks horrible | 08:09 | |
;d | |||
AlexDaniel | andrzejku: anything in particular? | 08:10 | |
andrzejku | fold expressions? | 08:11 | |
AlexDaniel | “Removal of trigraphs” hooray! | ||
andrzejku | std::clamp?:D | 08:12 | |
AlexDaniel | andrewalker: come on, it does not look so bad | 08:13 | |
oops | |||
andrzejku: ↑ | |||
08:26
faraco left
08:42
astj left
08:44
astj joined
08:48
rindolf joined
|
|||
samcv | [Coke], did you get it working? | 08:49 | |
08:49
sammers left
08:50
faraco joined
08:57
faraco left
09:03
sammers joined
|
|||
TEttinger | AlexDaniel: are trigraphs the octal char things that mess lots of char handling up? | 09:04 | |
09:06
wamba joined
|
|||
AlexDaniel | TEttinger: octal char things? No, it is a very “modern” feature that turns for example ??= → # just in case you have no # on your keyboard :) | 09:07 | |
TEttinger | ouch | 09:08 | |
AlexDaniel | TEttinger: en.wikipedia.org/wiki/Digraphs_and_trigraphs#C | 09:09 | |
imagine people at the time | 09:10 | ||
TEttinger | yeah | ||
AlexDaniel | “what? Your language has {} and \ and #, but I don't have these characters on my keyboard!” | ||
ok-ok, fine! Here are some “texas” equivalents for you! | 09:11 | ||
09:12
gfldex joined
|
|||
AlexDaniel | I hope people in ≈50 years will laugh at our texas ops just like we laugh at C trigraphs today | 09:12 | |
TEttinger | ... except handled much worse than how perl6does it | ||
can ??/ show up in perl 6 and be parsed as a newline? | |||
like, inside a string? | |||
AlexDaniel | hmm what do you mean? | 09:13 | |
gfldex | TEttinger: did you try to overload <ws> ? | 09:22 | |
TEttinger | no, I just mean that trigraphs can do that in C++ before C++17 | 09:23 | |
09:24
shayan_ left
09:27
domidumont joined
|
|||
samcv | i have never redefined whitespace for fun. can somebody point to me an article on how to do it | 09:31 | |
i have known you could be curious | |||
09:31
domidumont left
09:32
domidumont joined
09:39
TEttinger left
09:43
xinming left
09:45
xinming joined
09:46
faraco joined
|
|||
dalek | ecs: 660070a | samcv++ | S15-unicode.pod: S15-unicode, change .chars to .codes where this was actually intended `.chars` was used be all the examples output's specified the number of codes. Use `.codes` in the example because of this |
09:47 | |
09:50
Tonik joined
09:58
geekosaur left
|
|||
faraco | quit | 09:59 | |
oops | |||
09:59
faraco left
|
|||
samcv | quit | 09:59 | |
oops | |||
09:59
DarthGandalf joined,
DarthGandalf left,
astj left
10:01
DarthGandalf joined,
DarthGandalf left,
geekosaur joined
10:02
DarthGandalf joined,
DarthGandalf left
10:04
RabidGravy joined
10:05
aries_liuxueyang joined
10:06
espadrine joined
|
|||
samcv | Unicodey.chars | 10:10 | |
Unicodey.codes | |||
Both are synonymous. Counts the number of codepoints in a Unicodey type. | |||
i don't really like this | |||
rakudo doesn't have Unicodey.chars anyway. but i don't think they should be synonymous it's confusing with Str.chars which does graphemes | |||
10:16
DarthGandalf joined,
DarthGandalf left
10:17
bjz_ joined,
bjz left
10:18
DarthGandalf joined,
DarthGandalf left
10:37
wololoooo joined
|
|||
wololoooo | Hello guys, | 10:39 | |
the syntax highlighting on perl6 docs are off in some cases | |||
example: docs.perl6.org/syntax/loop | 10:40 | ||
on the line with (loop ( my $i = 0; $i++ < 3;) { $i * 2 }).say; #-> "(2 4 6)" | |||
kalkin-_ | wololoooo: plz open an issue (if there isn't one already) @ github.com/perl6/doc/issues | 10:41 | |
wololoooo: BTW if you can fix it on your own, the #perl6 community will be happy to accept the patch | |||
10:49
DarthGandalf joined
|
|||
samcv | wololoooo, if the highlighting is off please open here github.com/perl6/atom-language-perl6 | 10:49 | |
or just tell me. since i'm the lead dev on that | |||
wololoooo, ok i see the issue, but open a ticket here github.com/perl6/atom-language-perl6 | 10:50 | ||
wololoooo | yeah the highlighting is off, the span has a string class which is incorrect | 10:51 | |
will open a ticket there | |||
samcv | yep i see that | ||
thanks :) | |||
10:53
ufobat joined
10:57
astj joined
11:05
zappa_ joined,
zappa_ left
11:13
bjz_ left
11:14
bjz joined
11:24
labster left
|
|||
wololoooo | sub baa(@b is readonly) { @b= "b", "a", "a";} | 11:45 | |
my @b = 1, 2, 3; | |||
baa(@b); | |||
say @b; | |||
The subroutine changes values in @b even though i made it read only, is this odd? | |||
11:47
rpburkholder joined
|
|||
gfldex | wololoooo: the container is RO, not it's content | 12:01 | |
m: sub s(Seq $a){ $a[1] = 42 }; s([].Seq) | 12:02 | ||
camelia | rakudo-moar f6303d: OUTPUT«Cannot modify an immutable Nil in sub s at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
gfldex | wololoooo: ^^^ use a readonly container to have a readonly container | ||
this is ENODOC | 12:05 | ||
12:06
lukaramu joined,
jraglin left
12:07
rurban joined
12:08
andrzejku left
|
|||
dalek | rl6-most-wanted: 61563bf | (Tom Browder)++ | most-wanted/modules.md: add WIP |
12:10 | |
12:14
ufobat left
|
|||
gfldex | the reason of that ENODOC is bad structure of the docs | 12:18 | |
RabidGravy | yeah, I think there probably needs to be a whole page on this thing | 12:21 | |
ah there is a containers page | 12:22 | ||
but probably needs more inward linkage | |||
gfldex | I don't agree. In fact I believe we got to many pages already. | 12:23 | |
12:23
loredana joined
|
|||
gfldex | I have to work 'til 23 o'clock today and should have the time to write a plan down. | 12:23 | |
dalek | c: efdae1d | kalkin++ | doc/Type/IO/Path.pod6: Fix IO::Path::absolute return type to Str |
12:25 | |
c: 0012741 | kalkin++ | doc/Type/IO/Path.pod6: Fix IO::Path::relative return type to Str |
|||
synopsebot6 | Link: doc.perl6.org/type/IO/Path | ||
c: 77aa498 | RabidGravy++ | doc/Type/IO/Path.pod6: Merge pull request #1124 from kalkin/master Fix IO::Path::absolute return type to Str |
|||
synopsebot6 | Link: doc.perl6.org/type/IO/Path | ||
12:25
loredana left
|
|||
RabidGravy | right, time to go to the supermarket | 12:26 | |
AlexDaniel | but what's the point of 「is readonly」 then in this case? | 12:28 | |
if it is pointless but does not give a warning, then it is a bug | 12:29 | ||
sorta | |||
gfldex | it can't give a warning because `is readonly` is the default | ||
12:31
dugword joined
12:32
jraglin joined,
xinming left
12:33
xinming joined
12:35
dugword left
12:37
xinming left
12:38
xinming joined
12:42
Stown joined
12:47
trnh joined
12:52
trnh left
13:07
rindolf left
|
|||
garu | is there a bug report already for "my %x; %x<x> = %x; say %x"? | 13:11 | |
moritz | I'm not sure there is a bug | 13:12 | |
garu | m: my %x; %x<x> = %x; say %x | ||
camelia | rakudo-moar f6303d: OUTPUT«(\Hash_61613856 = {x => Hash_61613856})» | ||
garu | oh, works now | ||
garu is confused | 13:13 | ||
m: my %x; %x<x> = %x; warn %x | |||
moritz | .Str will likely timeout | ||
but I'm not sure that's a bug either | |||
camelia | rakudo-moar f6303d: OUTPUT«(timeout)» | ||
13:13
rindolf joined
|
|||
moritz | .gist and .perl have some liberties about how to format stuff | 13:13 | |
.Str doesn't | |||
13:14
tojo joined
13:15
tojo left
|
|||
garu | moritz: but... not even a warning? I mean | 13:18 | |
"infinite loop detected" or "circular reference" or whatever... it should hint the developer about what's going on, shouldn't it? | 13:20 | ||
moritz | I'm against expecting magic from all kinds of functions that should be really simple in nature | 13:21 | |
13:22
jraglin left,
jraglin joined
|
|||
notviki | And I thought the halting problem was unsolved... | 13:23 | |
garu | sure, but the way it is the program just hangs, without any indication whatsoever of what is going on, where and why :'( | 13:24 | |
moritz | garu: you don't get any warning either when you write loop (;;) { } or stuff like that | 13:25 | |
at some point, programmers do have to think for themselves | |||
garu | I understand you're trying to make a point, but don't you think "loop (;;) { }" is a much more explicit infinite loop than "warn %x"? | 13:26 | |
notviki | heh | 13:27 | |
garu: but you created a circular structure first. | |||
What did you think would happen when you printed an infinitely repeating structure? | |||
13:27
lucasb joined
|
|||
moritz | garu: more implicit ways to generate an infinite loop don't warn either | 13:27 | |
13:27
kurahaupo__ joined,
bjz left
|
|||
moritz | for 4, 6 ... * -> $target { last if $target == any( (2..$target).grep(&is-prime) + (2..$target).grep(&is-prime)) } | 13:29 | |
will it terminate? | |||
garu | what about "Torment the implementors on behalf of the users"? | 13:30 | |
moritz | garu: the problem is, if we add that detection, we torment the users too | ||
lizmat | garu: consider yourself tormented :-) | ||
moritz | garu: by making stuff slower | ||
and more complicated, and thus much more likely to be buggy | |||
notviki | garu: well volunteered! When you have the solution, let us know: en.wikipedia.org/wiki/Halting_problem | 13:31 | |
garu | maybe it's just me still with a perl5 way of thinking... because circular references in perl5 did not behave that way... or maybe they just broke in different ways | ||
notviki: you don't have to be sarcarstic about that, I'm just trying to help | |||
:( | |||
moritz | garu: but they did | 13:32 | |
garu: when you tried to print their contents while recursively descending, they also loop infinitely | |||
garu: and that's what the stringification with warn() does | |||
garu: if that's not what you want, then you shouldn't stringify it | |||
notviki | garu: I don't see the help. You've made an infinite loop and are complaining that we haven't solved the halting problem for you and you want us to implement all sorts of heuristics with the excuse that you have the right to torment us based on some slogan you heard. | 13:33 | |
13:33
rafsch joined
|
|||
notviki | And after how many iterations would you warn exactly? Maybe my object's .Str gives a different value after a million calls? | 13:35 | |
13:39
ocbtec joined
|
|||
garu | notviki: why are you being so agressive? I'm just talking about how I expected a (broken) code that generates an infinite loop to warn the user. This is me trying to help. If you don't see the value in giving feedback, then yeah, you won't see the help :( | 13:39 | |
13:39
Stown left
13:40
Stown joined
|
|||
moritz | garu: if you find a way to make it behave in a more sensible way without making stringification much slower, that would be very much appreciated | 13:40 | |
garu | moritz: thank you! | ||
moritz | garu: but that's a tall order, which is why we try to push back against that expectation | ||
garu | that's ok | ||
13:40
Gasher joined
|
|||
garu | I understand right now you're trying to make things much faster | 13:40 | |
and for one I really think you are doing an excelent job | 13:41 | ||
in that particular case, it struck me that "say" worked but "warn" didn't | |||
but you mentioned it's because of the implementation, is that correct? | 13:42 | ||
13:42
AlexDaniel left
|
|||
lucasb | both .gist and .perl already have this protection against cyclic data structures, no? | 13:42 | |
moritz | lucasb: they have; but they are typically used more for debugging, so performance isn't as critical | ||
lucasb | can someone benchmark the difference between .gist/.perl and .Str? I guess the proctection won't incur in much performance penalty, no? | 13:43 | |
moritz | lucasb: youc an, yes | ||
13:44
Stown left
|
|||
garu | in perl5 there is a "deep recursion" warning. it is super hard to implement something similar without a big performance penalty in perl6? | 13:44 | |
moritz | you could try | 13:45 | |
garu | also, hi lizmat! sorry, didn't catch you there :D | ||
rafsch | Is garu going to try and discover a way to tell if a program will stop or continue forever? | 13:46 | |
notviki | So we're changing the core behavior of .Str now? | 13:47 | |
moritz | rafsch: no, just detect cyclic data structures | ||
notviki | garu: I'm aggressive because literally every day someone comes here and starts complaining about some edge case. They don't want to do any work. They just whine. And worst of all, at the end someone goes and does implement the suggestion without first carefully weighing in the impact in the rest of the language. | 13:49 | |
For example lucasb above is already contemplating adding .gitseen into .Str. | 13:50 | ||
lucasb contemplates adding .gitseen into .Str | |||
(just kidding) | 13:51 | ||
notviki leaves to hack on robots | |||
lizmat | lucasb: brrrr | 13:53 | |
garu: no problem | 13:54 | ||
but there are some things in Perl 6 that we consider to be a problem of the user, at least for now | |||
there are too many other things still that will bite newbies sooner | 13:55 | ||
and sometimes we have to do things we don't like | |||
notviki | The hang in my %x; %x<x> = %x; warn %x isn't in Str; it's in .pairs.join | 13:56 | |
lizmat | like just now I needed to make .grep( {...} ) about 1.4x slower | ||
notviki | m: my %x; %x<x> = %x; %x.pairs.join | ||
camelia | rakudo-moar 362f67: OUTPUT«(timeout)» | ||
notviki | m: my %x; %x<x> = %x; eager %x.pairs | 13:57 | |
camelia | ( no output ) | ||
13:57
cdg joined
|
|||
notviki | I guess it is in Str | 13:57 | |
s: :42a, 'Str', \() | |||
SourceBaby | notviki, Something's wrong: ERR: Cannot resolve caller sourcery(Str, Capture, :a(Int)); 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 | yup, join does a .Str | ||
notviki | s: "a" => 42, 'Str', \() | ||
SourceBaby | notviki, Sauce is at github.com/rakudo/rakudo/blob/f630...air.pm#L50 | ||
lucasb | my $p; $p = a => $p; $p.Str # other spelling | 13:58 | |
lizmat | m: mt $p; $p = a => $p; say $p # and gist ? | 14:00 | |
camelia | rakudo-moar 362f67: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$p' is not declaredat <tmp>:1------> 3mt 7⏏5$p; $p = a => $p; say $p # and gist ?» | ||
lizmat | m: my $p; $p = a => $p; say $p # and gist ? | 14:01 | |
camelia | rakudo-moar 362f67: OUTPUT«(\Pair_73795152 = a => Pair_73795152)» | ||
notviki | m: my $p; $p = a => $p; say $p.perl | 14:02 | |
camelia | rakudo-moar 362f67: OUTPUT«(my \Pair_64104304 = :a(Pair_64104304))» | ||
notviki | m: my $p; $p = a => $p; say $p.perl.EVAL.perl | ||
camelia | rakudo-moar 362f67: OUTPUT«:a(Mu)» | ||
14:02
kyan joined
|
|||
lucasb | right, .perl emits invalid output, but at least it shows the cyclic nature of the pair object | 14:03 | |
notviki | m: dd my \Pair_64104304 = :a(Pair_64104304) | ||
camelia | rakudo-moar 362f67: OUTPUT«:a(Mu)» | ||
notviki | m: dd my $Pair_64104304 = :a($Pair_64104304) | ||
camelia | rakudo-moar 362f67: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot use variable $Pair_64104304 in declaration to initialize itselfat <tmp>:1------> 3dd my $Pair_64104304 = :a($7⏏5Pair_64104304) expecting any of: term» | ||
notviki | lucasb: .perl.EVAL is meant to roundtrip | 14:04 | |
m: my %p; %p = a => %p; say %p.perl | |||
camelia | rakudo-moar 362f67: OUTPUT«(my \Hash_67498832 = {:a(Hash_67498832)})» | ||
notviki | m: my %p; %p = a => %p; say %p.perl.EVAL.perl | ||
camelia | rakudo-moar 362f67: OUTPUT«{:a(Mu)}» | ||
notviki | :( | ||
m: dd my %Hash_67498832 = {;:a(%Hash_67498832)}() | 14:05 | ||
camelia | rakudo-moar 362f67: OUTPUT«Hash %Hash_67498832 = (my \Hash_62542480 = {:a(Hash_62542480)})» | ||
lucasb | @a.perl and %h.perl also suffer the same problem | 14:06 | |
14:06
faraco joined
|
|||
faraco | hi, why creating and using a custom operator is slow? | 14:06 | |
14:06
Actualeyes joined
|
|||
lizmat | because you're installing a new grammar | 14:06 | |
lucasb | but I don't know if it would be reasonable for .perl to output 2 statments, one to declare and other to assign | ||
moritz | faraco: because it has to derive a new grammar | ||
notviki | faraco: it should be slow only creating it. Because we need to recalculate the grammar. But, stick it into a module so it gets precompiled and the slowdown won't be noticable | 14:07 | |
faraco | so, what makes the its slow, because of the compilation? but in runtime, is actually same as calling other subroutines? | 14:08 | |
by runtime, I meant using it from module | |||
notviki | lucasb: I don't see a problem with that. The goal of .perl is to provide a structure that can be EVALed to get the original back. If the only way to get that for circular structures is to output to statements, so be it | ||
lucasb | notviki: ok, agreed | 14:09 | |
maybe some output like... 'my %h = do { my %h; %h = :a(%h) }' ? | 14:10 | ||
my $p = do { my $p; $p = :a($p) } | |||
notviki | faraco: try it out and see and use one of the latest compilers. A year ago, the slowage was so bad I moved my 16 operators to a separate module (github.com/zoffixznet/perl6-Color/...ators.pm6) but I recall someone pointed out that due to precomp the slowage is no longer there. | ||
lucasb: that doesn't look circular to me :P | 14:11 | ||
14:11
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
notviki | m: my $p = do { my $p; $p = :a($p) }; $p.Str | 14:11 | |
ah ok | |||
camelia | rakudo-moar 362f67: OUTPUT«MoarVM panic: Memory allocation failed; could not allocate 121088 bytes» | ||
lucasb | oh, it didn't timeout'ed | 14:12 | |
notviki | But it's prolly circular over the wrong thing, innit? It's circular with the closed over $p, not itself | ||
notviki & | 14:13 | ||
faraco | notviki: I installed last day. I think, it's noticeable because of my lower amount of total RAM. | 14:14 | |
notviki | faraco: but is it in a precompiled module? | 14:17 | |
14:17
aborazmeh left
|
|||
notviki | It'll still be slow on first run after you make changes to that module, because it'll be re-compiled, but further runs should be faster | 14:18 | |
faraco | I just wrote them in a script. I don't know to actually compile a module. just `perl 6 blah.p6`. | ||
notviki | faraco: just stick them into Foo.pm6 and stick `is export` on them, like here: github.com/zoffixznet/perl6-Color/...ors.pm6#L5 | ||
faraco: and then run perl6 -I. -MFoo.pm6 blah.p6 (or stick use lib <.>; use Foo; in your script) | 14:19 | ||
And on first run, that'll precompile Foo.pm6 and next runs should be faster | |||
faraco | let me try that and see the result | ||
ls | 14:23 | ||
oops | |||
14:24
Khisanth joined
14:25
astj left
|
|||
faraco | erm, what differs between unit module and unit package? | 14:25 | |
is package for class? | |||
notviki | No, for class it's unit class | 14:26 | |
faraco | so, either one is fine? | ||
notviki | No idea about module/package | ||
You don't need any of them really. Just stick your operators into the file with `is export` trait and they'll get exported. | |||
moritz | a package is a stub that can be be later turned into a class, module, grammar or role | ||
faraco | oh, okay. I'll try that. | 14:27 | |
14:33
drrho left
|
|||
faraco | notviki: I'm actually don't really understand how to export the prefix, and using them. Running perl6 blah.p6 (after created the Foo.pm6) shows nothing. | 14:35 | |
Fortunately, I notice that running the perl6 t.p6 twice and more, faster | |||
than running them with prefix in the same script. | |||
#!/usr/bin/env perl6 | 14:36 | ||
multi prefix:<wix> (Str $arg) is export {"$arg, you are cool" } | |||
exit; | |||
is that right? | |||
and I try to use them with | |||
use lib <.>; | |||
use Foo; | |||
say wix 'Jim'; | |||
the last 3 lines are blah.p6 | 14:37 | ||
notviki: okay my bad. the exit in the module is the cause of that. | 14:39 | ||
I think it return $? instead of the string hardcoded in the module. | |||
notviki tries a test | 14:40 | ||
... and it might've been a bad idea to do it with 100 custom operators :/ | |||
faraco | oh, that gonna be *really* slow. | 14:41 | |
notviki | First comp: real 1m20.189s | ||
Second run: real 0m1.471s | |||
faraco | is that using `time`? | ||
notviki | My hypothesis holds | ||
Yes, time | |||
faraco | let me check on mine | ||
notviki | This is the two files I used. Both in the same directory: gist.github.com/zoffixznet/9fde0b3...af14559905 | 14:42 | |
And I ran them with: time perl6 script.p6 | |||
faraco | erm, a quick question, which row to use for comparing the time? | ||
there is real, user and sys | |||
notviki | No idea. I usually go by "real" | 14:43 | |
faraco | ah, okay. let me try | ||
time perl6 t.p6 | |||
oops | |||
first run, 0m1.659s | |||
second run, 0m1.593s | 14:44 | ||
well, a little bit faster, I guess, but with more than one, is gonna be painful to load. | |||
notviki | Just on compilation :) | 14:45 | |
14:46
lucasb left
|
|||
faraco | yeah | 14:46 | |
well, there always room for rakudo to improve | |||
last question, is rakudo finally declared as official compiler? | 14:47 | ||
because, google won't help. Traffic to the language is pretty low, (because of perl is dead doctrine) | |||
notviki | faraco: no, and it never will be. | ||
faraco | what...erm. never? | 14:48 | |
why? internal issues? | |||
kalkin-_ | m: class A { has $.foo = "asd" }; class B { has $.bar = $!foo ~ " foo"}; say B.new.bar; | ||
camelia | rakudo-moar 905242: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Attribute $!foo not declared in class Bat <tmp>:1------> 3}; class B { has $.bar = $!foo ~ " foo"}7⏏5; say B.new.bar; expecting any of: horizontal whitespace postfix …» | ||
notviki | faraco: no, by design. There isn't any "official" compilers. Any compiler that passes the Perl 6 Specification test suit is a perl6 compiler. | ||
kalkin-_ | how do i access attributes of the parents class? | ||
14:49
gcole left
|
|||
faraco | notviki, thanks for all help. | 14:49 | |
notviki | No problem | ||
kalkin-_: $.foo | |||
kalkin-_ | m: class A { has $.foo = "asd" }; class B { has $.bar = $.foo ~ " foo"}; say B.new.bar; | ||
camelia | rakudo-moar 905242: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Virtual method call $.foo may not be used on partially constructed object (maybe you mean $!foo for direct attribute access here?)at <tmp>:1------> 3o = "asd" }; class B { has $.bar = $.foo7⏏5 ~ "…» | ||
notviki | kalkin-_: missing `is A` on B | 14:50 | |
m: class A { has $.foo = "asd" }; class B is A { has $.bar = $!foo ~ " foo"}; say B.new.bar; | |||
camelia | rakudo-moar 905242: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Attribute $!foo not declared in class Bat <tmp>:1------> 3ass B is A { has $.bar = $!foo ~ " foo"}7⏏5; say B.new.bar; expecting any of: horizontal whitespace postfix …» | ||
notviki | m: class A { has $.foo = "asd" }; class B is A { has $.bar = $.foo ~ " foo"}; say B.new.bar; | ||
camelia | rakudo-moar 905242: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Virtual method call $.foo may not be used on partially constructed object (maybe you mean $!foo for direct attribute access here?)at <tmp>:1------> 3asd" }; class B is A { has $.bar = $.foo7⏏5 ~ "…» | ||
notviki | m: class A { has $.foo = "asd" }; class B is A { has $.bar = self.foo ~ " foo"}; say B.new.bar; | 14:51 | |
camelia | rakudo-moar 905242: OUTPUT«asd foo» | ||
14:51
dugword joined,
dugword left,
dugword joined
|
|||
kalkin-_ | ahh `self` it is | 14:51 | |
notviki: thanks | |||
notviki | m: class A { has $.foo = "asd" }; class B is A { method bar {$.foo ~ " foo"}}; say B.new.bar; | ||
camelia | rakudo-moar 905242: OUTPUT«asd foo» | ||
14:55
jebes joined,
newbie1 joined
|
|||
jebes | is there an equivalent to class variables in perl6? Right now i'm wrapping the code in a module with the variables i need access to. | 14:56 | |
notviki | jebes: use `my` instead of `has` | ||
jebes | notviki: aaah. thanks | ||
Shame i still don't grok OOP even after 7 years of programming :( | |||
i've been poisoned by haskell and fp wizardy | 14:57 | ||
notviki | m: class Foo { my $.bar }; my $o1 = Foo.new: :42bar; my $o2 = Foo.new; say $o2.bar; $o2.bar = 72; say $o1.bar | ||
camelia | rakudo-moar 905242: OUTPUT«(Any)72» | ||
notviki | :o | ||
14:57
cdg left
|
|||
notviki | m: class Foo { my $.bar }; my $o1 = Foo.new: :42bar; say $o1.bar; my $o2 = Foo.new; say $o2.bar; $o2.bar = 72; say $o1.bar | 14:58 | |
camelia | rakudo-moar 905242: OUTPUT«(Any)(Any)72» | ||
notviki | I guess constructors don't init those.... | ||
faraco | whoa, meta operator seems like lisp like operator | ||
[*] 4, 3 == (* 4 3) | 14:59 | ||
15:04
iH2O joined
15:07
drrho joined
|
|||
rafsch | jebes: See if this does it for you: lwn.net/Articles/444910/ | 15:07 | |
jebes | rafsch: I understand how OOP is implemented and why its useful, I just can't apply it properly, prefering more functional abstractions | 15:14 | |
rafsch | How would you implement the VFS? | 15:15 | |
jebes | I think its just a load of boilerplate without much pay off. Just pass me a function :^) | ||
rafsch | Which is what the kernel is doing. | 15:16 | |
jebes | I suppose. | ||
rafsch | "Just pass me a function" is easy to say, but OOP makes it easier to have pluggable modules. | 15:17 | |
It's about interfaces to "pass functions". | |||
15:18
Actualeyes left
|
|||
rafsch | When all the code is in your own control, interfaces don't matter much. | 15:18 | |
15:18
iH2O left
|
|||
jebes | True. | 15:18 | |
rafsch | The VFS has a reference object that has the interface it expects. Anyone implementing a file-system has to implement at least the bits VFS relies on. | 15:19 | |
jebes | I guess, more or less, what I struggle with isn't so much OOP, as it is the limit of its abstraction. | ||
rafsch | In OOP parlance, this is called a "is-a" relationship. | 15:20 | |
Most languages have syntactic sugar to make that easier. | |||
jebes | How would you go about implementing monoids in oop? I suppose a role in perl6 would do it. But the syntax always ends up funky. | 15:21 | |
i'd much prefer a <> b <> c to a.app(b.app(c)) | |||
15:22
rurban1 joined
|
|||
jebes | So i guess what i'm saying is: multi methods are p good | 15:22 | |
15:22
gcole joined
|
|||
rafsch | Oh, I'm not in any way an OOP purist. Some things are better to do using OOP and others not. | 15:22 | |
jebes | rafsch: Yeah, I would agree. Sometimes it makes sense, other times it doesn't. | 15:23 | |
Its a heavy-weight solution imo. | |||
15:23
domidumont left
15:24
bwisti joined
15:25
rurban left
15:28
zakharyas joined
15:29
pierrot left
|
|||
rafsch | It is as heavywheight as you make it to be. Just don't force it where it doesn't belong. | 15:30 | |
15:30
pierrot joined
15:32
rurban joined,
rurban left
|
|||
RabidGravy | I had a thought earlier regarding DBIish, would it be an idea to move it into a separate organization from perl6 (say perl6 database or something,) ? | 15:34 | |
15:35
rurban1 left
|
|||
faraco | is it okay to PR a working module, but maybe not useful like Acme::Bleach to Perl 6 repo? | 15:35 | |
RabidGravy | the advantage of doing this as I see it is that it can provide a separate incubator for new DBDish drivers and means that people can be given commit rights who may have no interest in the rest of the stuff | ||
faraco, as long as it installs and isn't breaking any laws, sure | 15:36 | ||
so make the PR, as long as it looks sane then it'll get merged | 15:37 | ||
faraco | RabidGravy: thanks for the information. Now I can *happily* practicing through making modules (and PR them too) | ||
RabidGravy | the more the merrier :) | 15:39 | |
faraco | I read that, the repo is temporary. So what is the future solution to this? CPAN? | ||
notviki | yeah | ||
faraco | okay, I also read that you can upload perl 6 modules to CPAN right now (with special requirements) | 15:41 | |
but how about the installation? | |||
cpan perl6::blah::blah will install them under perl 6 environment? | |||
rafsch | zef --cpan | 15:42 | |
faraco | ah, now it makes sense. Thanks everyone for helping! | ||
El_Che | is zef --cpan a thing? wow | 15:47 | |
RabidGravy | ugexe++ never realised that | ||
okay that's the way to be going | |||
I'm going to stick an issue on the DBIish regarding moving it into its own organisation | 15:48 | ||
rafsch | I'm lobbying to make --cpan the default on zef. | 15:50 | |
notviki | :/ | ||
So we get outdated modules? | |||
15:51
mr_ron joined
|
|||
rafsch | The other way around will still be readily available. Users don't use the word "outdated", they prefer to call them "stable". | 15:52 | |
El_Che | go is working hard to fix their broken-get-the-latest-version-from-github-libs | ||
notviki | Except they aren't stable. The releases are automated from whatever commit just happened to be there during the release run | ||
El_Che | (go get) | ||
15:53
pierrot left
|
|||
mr_ron | m: grammar g {our $bleh is export = 12; sub blah is export { 14 }; token t is export {<[2]>}}; import g; say $bleh; say blah(); say "2" ~~ /<t>/ # any way to export rules/tokens? | 15:53 | |
camelia | rakudo-moar 905242: OUTPUT«1214Type check failed in binding to <anon>; expected g but got Cursor (Cursor.new) in regex t at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
rafsch | "get-the-latest-version-from-github-libs". Yep, this is not a good thing for users. If CPAN doesn't do it, we need something that does. | 15:57 | |
15:57
pierrot joined
|
|||
notviki | m: my token t {<[2]>}}; say "2" ~~ /<t>/ | 15:58 | |
camelia | rakudo-moar 905242: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unexpected closing bracketat <tmp>:1------> 3my token t {<[2]>}7⏏5}; say "2" ~~ /<t>/» | ||
notviki | m: my token t {<[2]>}; say "2" ~~ /<t>/ | 15:59 | |
camelia | rakudo-moar 905242: OUTPUT«「2」 t => 「2」» | ||
notviki | m: grammar g {our $bleh is export = 12; sub blah is export { 14 }; token t(Any:) is export {<[2]>}}; import g; say $bleh; say blah(); say "2" ~~ /<t>/ | ||
camelia | rakudo-moar 905242: OUTPUT«1214「2」 t => 「2」» | ||
RabidGravy | In principle I agree with the above, however I have 55 (maybe 61) modules and now tool to prepare a CPAN distribution | ||
El_Che | rafsch: I was really exited about go's announcement that the core people realize they need to fix it | 16:00 | |
RabidGravy | so making --cpan the default will mean none of my modules are available | ||
notviki | RabidGravy: isn't ranguard uploading them all with a script? | ||
RabidGravy | and there are inactive authors and so forth | ||
notviki | Hence my comment about outdatedness | ||
Last year, I recall seeing the entire ecosystem on CPAN with versions 0.000000 or somethign so if authors decide to start uploading to CPAN they can | 16:01 | ||
El_Che | I agree that "right-away" is not an option | ||
faraco | in perl 6 regex, if I use :P5, do I basically can use 100% perl 5 regex grammar? | ||
notviki | faraco: nope, lots of things don't work | ||
faraco | notviki: aww | ||
RabidGravy | *but* most things will tell you that have done something P5ish that don't work and suggest a way to fix it | 16:02 | |
rafsch | faraco: if you have a complicated P5 regex, you should be excited to do it the other way around, translating it. | ||
kalkin-_ | from yesterdays discussion about META6 & Distributions I took away that Distributions should be called App-Foo while modules App::Foo. But I see that S22 provides an example for name saying it should match the main module | 16:03 | |
faraco | well, idiom perl 6 then ;) | ||
kalkin-_ | is S22 just obsolete? | ||
faraco | idomatic* | ||
notviki | kalkin-_: speculations are historical documents, but with S22 as I know it it's pretty much accurate. We haven't really locked all of this stuff down yet. | 16:04 | |
In the last coverage report I seen all the CUR stuff was essentially unspecced (in roast) | |||
RabidGravy | kalkin-_, the distribution name can be *anything* however best practice would be that it is the name of the main module | 16:05 | |
which is why Test::META warns if it has a hyphen in it | |||
rafsch | Is it the same distinction between a package and the binaries that come in it? | 16:06 | |
RabidGravy | after all most people are going to do "zef install <some module>" and expect it to work | ||
CPAN does a lookup from the distributed package name to the module name and vice versa, but we don't do that yet | 16:08 | ||
16:08
ggoebel left
|
|||
kalkin-_ | k | 16:09 | |
thanks | |||
RabidGravy | which is I still get hate mail from rule fixated packagers and sysadmins that the package name of Term::ReadKey is TermReadKey | ||
notviki | mr_ron: ^ not sure if you saw it above. Basically automatic invocant is the grammar, I guess, so to make that work you need to specify something less specific | ||
mr_ron | notviki: I did see it and was looking to answer ... 1 min ... | 16:10 | |
kalkin-_ | What if i have a distribution which provides some other implementation of App::Foo. Would i then use the :ver and :author adverbs to distinguish them? | ||
And what if I ship with a distribution which ships two different versions of same api (so versioning compunits instead of the whole Distribution)? | 16:11 | ||
mr_ron | notviki: that works for people who understand (I would claim somewhat obscure) explicit invocant parameters. Is there room for improvement / an easier, simpler way for how that export declaration worked? rakudobug? | ||
kalkin-_ | Wouldn't it be better to decouple Distribution::Name and MainModule::Name? | 16:12 | |
may be via a field in META6,json setting the main-module? | |||
hmm, but this would clash with having two differently versioned main modules in same distribution | 16:13 | ||
notviki | mr_ron: as I recall it, what you can use in bare regexes is very limited. So I'd call that method a hack, rather than part of normal API, TBH | ||
Tokens are meant to be for grammars | |||
m: my token t ($x) { <[2]> {say $x} }; say "2" ~~ /<t: 42>/ | |||
camelia | rakudo-moar 905242: OUTPUT«42「2」 t => 「2」» | ||
notviki | hm | ||
kalkin-_ | I think I don't understand why Distribution.name should be coupled to the main module name? (Besides convenience for user search) | 16:14 | |
notviki | mr_ron: I guess it wouldn't hurt to rakudo bug it and see what someone who knows this stuff things of it | ||
mr_ron | notviki: will ponder rules/tonkens meant for grammars a bit before emailing bug report. Makes sense but may be other cases. | 16:16 | |
notviki: thanks | |||
rafsch | "Besides convenience for user search". Users won't search for it in any other way. If it doesn't match, they will never find it. | 16:17 | |
kalkin-_ | rafsch: user will use some tool for search be it modules.perl6 or zef | ||
actually zef handles both | |||
rafsch | See how people really hated debian for distributing node as nodejs and docker as docker.io. | 16:18 | |
kalkin-_ | rafsch: that is part of the reason why we should distinguish between distributions and provided CompUnit names | ||
so if I do use Foo:ver<3> I don't need to care which distribution zef ends up installing to satisfy this dependency | 16:19 | ||
rafsch | Well, it's nice if zef does it, but it's not the only distribution method people will use. | 16:21 | |
kalkin-_ | well when people implement their distribution methods the would read S22 (I hope) | ||
s/the/they | |||
rafsch | They're already implemented. | 16:22 | |
kalkin-_ | rafsch: is there something out there besides panda & zef? | ||
16:22
iH2O joined
|
|||
rafsch | apt, dnf, pacman | 16:22 | |
msi | 16:23 | ||
iH2O | dnf install pacman | ||
kalkin-_ | rafsch: I don't see how this should be solved by perl6 | ||
samcv | so is the plan to eventually useq CPAN proper, or to like have a cpan6 type thing? | 16:24 | |
rafsch | We don't have to solve it, we just have to follow their expectations that the distribution will have the name people expect. | ||
kalkin-_ | if you deploy perl6 as part of your os, you would also implement some kind of plugin to your package manager which can resolve stuff Perl6 needs to be first class citizen. If not there is always user installable package managers | ||
rafsch | There was some talk about doing it, but what would be done is automatic packaging of modules. Which means which name it has is even more important. | 16:25 | |
16:26
ggoebel joined
|
|||
kalkin-_ | ugexe: are you reading this? | 16:27 | |
iH2O | i tried to install rakudo one month ago on fedora using dnf and that worked fine...except it installed 2016.07 | ||
16:28
pmurias joined
|
|||
kalkin-_ | rafsch: apropos the distribution will have a name people expect. Fedora shipped/ships with 2 pycrypto implemetations and AFAIK there is a 3-rd one in pip, and they all slightly differ from each other | 16:29 | |
of course you can't install both in parallel | |||
This is a problem as well on the yum/dnf side as on the programming language side. Perl6 solved the programming language part, you can specify same version different implementations. | 16:30 | ||
notviki | RabidGravy: ssh -o TCPKeepAlive=no -nNTR 8888:localhost:8888 zoffix@server still didn't do it... Or at least it didn't survive overnight.... | ||
kalkin-_ | If i can't use/install different versions/implementations of same package then your package manager is broken | 16:31 | |
s/package/unit/g | |||
(because package in perl6 world is Distribution) | 16:32 | ||
pmurias | rafsch: people hated debian for distributing node.js as nodejs because they broke node.js | ||
rafsch | kalkin-_: package managers do support installing multiple versions of a package on a technological level. It's the policies of the distributions that forbid it. | ||
iH2O | how can i choose which rakudo version to install on fedora? it seems the only choice is 'dnf install rakudo-star.x86_64' | ||
RabidGravy | kalkin-_, rather than use language like "your package manager is broken" maybe it's actually provide a working improvement? | ||
iH20 I think it's on 2016.11 at the moment, I just use rakudobrew | 16:33 | ||
iH2O | wow | ||
kalkin-_ | RabidGravy: I don't care about perl6 packages beeing shipped with dnf/apt/WHATEVER | ||
iH2O | i've already installed it | ||
by hand | |||
rafsch | They don't allow multiple versions because they take an implicit obligation to give support. And they don't want to support more versions than they have to. | 16:34 | |
RabidGravy | yep | ||
rafsch | Perl 6 is still Perl, if you guys abandon the strenghts Perl5 has, might as well give up. | 16:35 | |
kalkin-_ | rafsch: what kind of strength do you mean in this case? | 16:36 | |
rafsch | Support for old code. | ||
16:37
girafe joined
|
|||
kalkin-_ | rafsch: btw couldn't you have support for old code by just replacing :: with - on rpm generation? The specific version and implementation and may be even multiple of it are still up to the maintainer | 16:38 | |
rafsch | Well, backporting patches, providing fixes for problems that went away instead of recommending people upgrade, keeping support for old feature-sets, etc. | 16:39 | |
kalkin-_ | :ver adverb could be probably encoded in the version field of the dnf/apt version manager, how to match :auth would be version manager specific if they even provide multiple versions | ||
16:39
aries_liuxueyang left
|
|||
kalkin-_ | rafsch: also there is currently no legacy code, that needed to be migrated to some other schema | 16:40 | |
If there're distributions packaged via rpm, the maintainer of them still has to check the distribution name string, because currently both are used in the wild | 16:41 | ||
pmurias | are we really planning to make the :auth work as the the user chooses his variant of the package mechanism? | 16:42 | |
kalkin-_ | but may be I'm just bikeshading | ||
16:43
iH2O left
16:44
dudz left
|
|||
rafsch | kalkin-_: I'm not asking for anything right now, what you guys are doing is fine. It's just something to keep in mind. | 16:46 | |
"the maintainer of them still has to check the distribution name string, because currently both are used in the wild". Yes, it would be nice if this could be automated, that's all. | 16:47 | ||
RabidGravy | For discussion github.com/perl6/DBIish/issues/84 | 16:49 | |
faraco | guys, when installing module from perl6 repo that has executable script in bin | 16:53 | |
why the PATH to those scripts are not in system PATH? | |||
it only seems, in $HOME/.rakudobrew/bin | |||
~/.rakudobrew/moar-nom/install/share/perl6/site/bin$ | |||
seems left out | 16:54 | ||
moritz | we can't seem to install to /bin usually :/ | ||
notviki | faraco: you need to run `rakudobrew rehash` | ||
moritz | have you read rakudobrew's README? | ||
faraco | no, I don't. I think it's something wrong with my installation. | 16:55 | |
well | |||
nevermind then | |||
notviki | heh | ||
RabidGravy | rakudobrew does something with the things in bin that may not be what you want | ||
stmuk | "it's shims all the way downn" | 16:56 | |
RabidGravy | yeah | ||
faraco | ah | 16:57 | |
SmokeMachine | masak: I was reading your blog and wandering: do you think is it possible to have something like it? sub my-if($expresion, &block) is using-xblock-and-breaking-ttiar {...}; my-if 1 == 1 { say "ok" } | ||
16:58
andrzejku joined
|
|||
rafsch | SmokeMachine: That's what macros are for. | 16:58 | |
SmokeMachine | rafsch: yes, but I was thinking on function traits... | 17:00 | |
RabidGravy | three features of Perl 6 I was quite excited about and haven't actually used at all are user defined terms, macros and partial application | ||
SmokeMachine, function traits are do-able | 17:01 | ||
I've got examples all over the place | |||
rafsch | SmokeMachine: Macros can be traits, like "is parsed". | 17:02 | |
RabidGravy | the thing to bear in mind is that with a trait you have control of the thing that the trait is on at a <hand wave> early stage in compilation | 17:03 | |
so you can do basically what you want | |||
17:06
pmurias left
|
|||
rafsch predicts that when macros are released people will want to reimplement most of the language with them just for the bragging points. | 17:09 | ||
SmokeMachine | Another question: what is it for the Slang class? | 17:14 | |
RabidGravy | and most of the time they will be using macros which would be better done using other language features | 17:15 | |
17:15
Actualeyes joined
|
|||
RabidGravy | SmokeMachine, which Slang class? | 17:15 | |
I actually meant to bring this up before | |||
m: slang Foo { } | |||
camelia | rakudo-moar 905242: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot resolve meta-object for slangat <tmp>:1------> 3slang Foo7⏏5 { } expecting any of: generic role» | ||
notviki | src/core/Slang.pm | 17:16 | |
RabidGravy | the parser understands slang, but just leaves the whole thing in the lurch | ||
SmokeMachine | RabidGravy: github.com/rakudo/rakudo/blob/beec...e/Slang.pm | 17:17 | |
RabidGravy | well that appears to do precisely jack | 17:18 | |
rafsch | NIY | ||
? | |||
RabidGravy | if someone had some intent for it, it should be documented somehow | ||
SmokeMachine | m: say Slang.new | 17:19 | |
camelia | rakudo-moar 905242: OUTPUT«Slang.new(:grammar(Any), :actions(Any))» | ||
ugexe | there are 3 slangs inthe ecosystem | ||
RabidGravy | yah but even if you populate the attributes it doesn't do anything as far as I can tell | 17:20 | |
17:21
Actualeyes left
|
|||
SmokeMachine | I was hoping that the slang class would mixin the grammar and the action for me... | 17:21 | |
rafsch | The commit message says: "Initial stab at getting $~Vars to work " | ||
RabidGravy | if you want to implement a slang *right now* look in the ecosystem for current implementations | 17:22 | |
SmokeMachine | RabidGravy: yes, I did... | ||
RabidGravy | right | 17:23 | |
ugexe | kalkin-_: Distribution name is not tied to a main module name, why do you think it is? | 17:24 | |
you can create a Distribution Foo::Bar that has no Foo/Bar.pm6 | |||
if you mean why do people use '::' in their distribution name thats a different question | 17:25 | ||
RabidGravy | I'm not sure it would be that difficult to make "slang Foo { }" work, just give it a HOW type that does all the magic that people do in the EXPORT currently in its compose | ||
or something like that | |||
ugexe, the question is what is the expectation of some users is that they give a module name to the installer and it installs that | 17:26 | ||
CPAN does a lookup so you can supply either a package name or some module name within the package but we can't do that right now | 17:27 | ||
ugexe | yes you can | ||
RabidGravy | can you? | 17:28 | |
ugexe | yes | ||
RabidGravy | github link or it didn't happen | ||
17:29
domidumont joined
|
|||
ugexe | github link to what exactly? | 17:29 | |
[zef|panda] install URI::Escape | 17:31 | ||
installs URI | |||
rafsch | Distros have a plan to package all of CPAN automatically, the package name then would be something like liburi-perl6? | 17:34 | |
ugexe | packagers have way bigger problems than what you guys are goign on about | 17:35 | |
how do you handle module names (or even *versions*) with unicode in them? | |||
17:36
khw joined
|
|||
ugexe | apt-get install lib[poop-emoji]-perl6 | 17:36 | |
rafsch | "Package names must consist only of lower case letters (a-z), digits (0-9), plus (+) and minus (-) signs, and periods (.). They must be at least two characters long and must start with an alphanumeric character. " | 17:37 | |
That's debian's policy. | |||
ugexe | thats my point | 17:38 | |
rafsch | "lib[poop-emoji]-perl6" is not valid even. | ||
ugexe | thats my point | ||
faraco | guys | ||
I got this error | |||
pastebin.com/XFTF3eu9 | |||
while running test | 17:39 | ||
on META.info | |||
rafsch | ugexe: I'm complementing what you said. | ||
faraco | what is wrong with my META.info? | ||
I use Module::Minter | |||
ugexe | first, try to fit all of that into 1 sentence because its hard to follow on 10 different lines in here | 17:40 | |
secondly your META.info in that gist cannot be the entire thing | |||
faraco | ah my bad, forgot to copy the last character, } | 17:41 | |
ugexe | there is no closing }, and if thats all you are missing then your JSON is still not valid because provides { }, should not have a comma after it if its the last thing | ||
faraco | there is } | 17:42 | |
ugexe | read the part after that | ||
faraco | nothing else. that is the last thing | ||
17:43
zakharyas left
|
|||
ugexe | can you summarize what i just told you to check? | 17:43 | |
mst | faraco: you (a) have a comma that shouldn't be there (b) are missing a } | ||
faraco | oh, my bad for misunderstood. yeah, now the error is more detailed after removing the comma | 17:45 | |
17:46
wololoooo left
|
|||
ugexe | you probably should s{lib//}{lib/} as well | 17:47 | |
if Module::Minter generated that then its wrong | |||
17:48
wololoooo joined,
rafsch left
|
|||
faraco | okay fixed it. Module::Minter, generate "author" instead of "authors" made the test return error. | 17:50 | |
also it doesn't have the "perl" : | |||
well, it's not updated, so my bad. | |||
the Module::Minter* | |||
17:52
rafsch joined
17:58
gcole left
|
|||
kalkin-_ | ugexe: S22 The name identifying this distribution. This is usually the name of the main module that this distribution provides. An example of this would be: | 17:59 | |
"name" : "JSON::Fast" | |||
ugexe | "usually" | 18:02 | |
kalkin-_ | ugexe: right so every one does it, while I thought it may be better to say: usually your main module with hyphens. so people get used to the destinction between distribution and a module | 18:04 | |
ugexe | zef has "name" : "zef" but provides "lib/Zef.pm6" (not lib/zef.pm6). Another step further is Net::HTTP has no lib/Net/HTTP.pm6 - if you install this and `use Net::HTTP;` you do get a LTA error | ||
18:05
Geth joined
|
|||
notviki | So, who's up for a bit of spam to see the new bot? :) | 18:05 | |
18:05
mr_ron left,
Geth is now known as Guest84397
|
|||
notviki | Here's how it'll show pushes with 3 or fewer commits: | 18:05 | |
Guest84397 | th-test/moew-branch: 8b986f1ec7 | (Zoffix Znet)++ | README.md meow1-0.381293480954163 meow3 |
||
notviki | And here's how 3-10 commits would look like: | ||
Guest84397 | th-test/moew-branch: 4 commits pushed by zoffixznet++ | 18:06 | |
notviki | And here's how 10+ commits would look like: | ||
18:06
curt_ joined
|
|||
Guest84397 | th-test/moew-branch: 15 commits pushed by zoffixznet++ review: github.com/zoffixznet/geth-test/co...a1079ba845 |
18:06 | |
notviki | \o/ | ||
And too-long commit messages are abridged, so review link would still be present. | |||
samcv | foo foo foo | 18:07 | |
cool | |||
notviki | I'll also make it notify when a new PR is created | ||
18:07
Guest84397 left
|
|||
samcv | cool | 18:08 | |
meow | |||
ugexe | kalkin-_: right, I would agree | 18:11 | |
18:11
espadrine left
18:12
domidumont left
18:13
shayan_ joined
|
|||
notviki | and it's only 120 lines of code :o | 18:14 | |
18:19
andrzejku left
18:21
faraco left
|
|||
notviki shakes head | 18:21 | ||
The TAP spec folks are somewhat tone deaf github.com/TestAnything/testanythi...-271167987 | 18:22 | ||
Users shouldn't need to be educated on the specifics of TAP :/ | |||
SmokeMachine | RabidGravy: but is there specified a slang keyword? | 18:26 | |
Or you mean a module? | |||
RabidGravy: but is there specified a slang keyword? | |||
notviki | m: use Test; ok 1, "foo\nbar\nber"; | 18:28 | |
camelia | rakudo-moar 905242: OUTPUT«ok 1 - foobarber» | ||
notviki | :( | ||
18:29
andrzejku joined
|
|||
notviki | m: use Test; ok 1, "foo\nok\nnok"; | 18:29 | |
camelia | rakudo-moar 905242: OUTPUT«ok 1 - foooknok» | ||
notviki | so that'd blow the harness up :/ | 18:30 | |
18:30
AlexDaniel joined
|
|||
AlexDaniel | a lot of new names here. Nice to see | 18:34 | |
18:34
rafsch left
18:36
labster joined
|
|||
AlexDaniel | notviki: githubbabble? Nice. :D | 18:37 | |
18:38
shayan_ left
|
|||
mst | notviki: 'geth' appears to already be a user on freenode, and also you're using a new hostmask so the +v isn't working | 18:39 | |
18:44
raschipi joined
|
|||
SmokeMachine | Where's the slang keyword spec? | 18:44 | |
18:46
TEttinger joined
18:49
raschipi left
|
|||
notviki | mst: it's my user. It's just not using a password and I've no idea how to make nickserv NOT kick it off it | 18:49 | |
SmokeMachine: I don't think it's specced yet | 18:50 | ||
AlexDaniel: dalek replacement | |||
AlexDaniel | good good | ||
SmokeMachine | notviki: :( | ||
mst | notviki: er. you turned ENFORCE on. | ||
notviki: /msg nickserv help set enforce | 18:51 | ||
notviki | mst: yeah, I don't know how to turn it off | ||
mst | notviki: ... 'set enforce off' ! | ||
notviki | Thanks :) | ||
mst | my superpower: reading the documentation | ||
notviki | :D | 18:52 | |
mst | seriously though if you're ever confused by services, start off with '/msg thingserv help' and go from there | ||
if you're still confused, just ask me, I'm your group contact to staff so everything is my fault anyway | 18:53 | ||
notviki | :D | ||
Well, I see what I was doing wrong the first time I tried. I did /nickserv RELEASE | |||
mst | if you're still confused and either I'm not around or you don't feel like dealing with the inevitable sarcasm, ask #freenode and they'll give you six different answers of which at least two will probably work | ||
notviki | :) | ||
AlexDaniel hoped that thingserv is a thing | 18:54 | ||
mst | heh | 18:55 | |
18:55
espadrine joined
18:56
labster left
18:57
Abeer joined
18:58
wololoooo left
|
|||
dalek | osystem: 1e900cf | faraco++ | META.list: Update META.list |
19:01 | |
osystem: ad82afa | (Zoffix Znet)++ | META.list: Merge pull request #282 from faraco/patch-1 Update META.list |
|||
notviki | .oO( where do people get the idea it should be named META.list instead of META6.json.... ) |
19:02 | |
SmokeMachine | RabidGravy: github.com/FROGGS/p6-Slangy/blob/m.../Slangy.pm | ||
19:03
domidumont joined
19:04
dugword left
19:05
Abeer left
19:07
hartenfels joined
19:09
domidumont left
|
|||
ranguard | notviki: mostly yes I am, no clue how it will fit into p6 ecosystem, but no one was backing up the repos as far as I was aware | 19:11 | |
notviki | cool | 19:12 | |
ranguard | RabidGravy: cpan.metacpan.org/authors/id/P/PS/...STS/Perl6/ | 19:13 | |
your stuff will the in there | |||
notviki | huggable: cpan | ||
huggable | notviki, nothing found | ||
notviki | huggable: cpan :is: Perl 6 dists on CPAN: cpan.metacpan.org/authors/id/P/PS/...STS/Perl6/ | 19:14 | |
huggable | notviki, Added cpan as Perl 6 dists on CPAN: cpan.metacpan.org/authors/id/P/PS/...STS/Perl6/ | ||
ranguard | notviki: this should only be temporary.. until authors upload themselves | 19:15 | |
RabidGravy: I understood modules.perl6.org to be built from raw.githubusercontent.com/perl6/ec.../META.list | 19:16 | ||
notviki | ranguard: makes sense | ||
ranguard | ^^ anyone know different? | ||
notviki | ranguard: That's accurate | ||
RabidGravy | but there is an intermediate step | 19:17 | |
notviki | No, modules.perl6.org uses that file, as far as I recall. | 19:18 | |
ranguard | notviki: does it process the list in anyway (e.g. could osmething be in the list but not on the website) ? | 19:19 | |
RabidGravy | but it doesn't just read the file and generate the page on every request | ||
notviki | ranguard: yes, could be. For example if the META url is a 404 or has a JSON error in it. | 19:20 | |
buggable: eco | |||
buggable | notviki, Out of 767 Ecosystem dists, 124 have warnings and 4 have errors. See modules.perl6.org/update.log for details | ||
ranguard | notviki: github.com/perl6/ecosystem/issues/255 is the context of why I'm asking | ||
notviki: cool, so is there an output somewhere of the 'good' modules? | |||
notviki | huh 4 406s :S | 19:21 | |
ranguard doesn't want to impliment the validation | |||
see my comments today at the end of #255 | |||
notviki: by output I mean a 'good list' - rather than having to parse a logfile | 19:22 | ||
notviki | ranguard: and by good you mean what? | ||
ranguard | well, for a start one without the 4 that have errors | 19:23 | |
do the ones with warnings make it to the site? | 19:24 | ||
ranguard guesses they do | |||
notviki | ranguard: yeah, even ones with errors may still be listed if the error wasn't there when the module was first added to the site. The site keeps previous result for those, as GitHub connectivity errors are common. | 19:25 | |
ranguard: I'd say no, we don't have the list of good modules and can't have it, for the simple reason that we don't keep the code. For example, consider this scenario: I add a "good" module, it gets added to the list and a minute later I push a commit that breaks the entire META file. The list would still have it listed as good even though it's no longer true. | 19:26 | ||
ranguard | I'm only after good _now_, rather than some historical point | ||
notviki | So validating by fetching the code and checking it and only then packing that same code (without re-fetching) can you guarantee the module is "good" | 19:27 | |
ranguard | the use of such a 'good now 'list is that others (like me) don't have to impliment the validation each time | 19:28 | |
notviki | Well, I guess you could have the SHA commit as a reference point. | ||
ranguard | if something it's valid _now_ then it can't be installed, so isn't really any use to anyone? | ||
notviki: github.com/perl6modules/perl6-modu...acker.json :) | 19:29 | ||
ranguard is perl6modues :) | |||
notviki | The "valid now" is vague tho. If the script building that list catching github at downtime and fails to fetch 600 modules are those now "bad" or what? | ||
s/catching/catches/; | 19:30 | ||
ranguard | if GH is down, they can't be fetched, if they can't be fetched they can't be installed | ||
so they arn't 'valid' | |||
notviki | :S | 19:31 | |
RabidGravy | I actually think the current PAUSE model that the author takes responsibility for the goodness at the time of upload | ||
notviki | But 1 minute later everything goes to normal.... | ||
19:31
rumble joined
|
|||
RabidGravy | I'd be quite happy to do normal pause uploads | 19:31 | |
ranguard | RabidGravy++ # far the best solution | ||
notviki: so then when I next run my code I'll get the 'valid' list | 19:32 | ||
notviki: this is about centralising the validation rather than expecting it to directly effect the output on modules.perl.org | 19:33 | ||
19:33
faraco joined
|
|||
RabidGravy | I actually think the better effort would be to make it easier for Perl 6 authors to do this | 19:33 | |
ranguard | and it's all (hopefully) a stopgap until P6 authors use PAUSE or something | ||
faraco | moritz: thanks for the invitation! I appreciate that! | ||
19:34
grumblebee joined
|
|||
mst | right | 19:34 | |
at some point we need to replace the duct tape and baling wire that is the "ecosystem" with a real solution | |||
19:34
rumble left,
grumblebee is now known as grumble
|
|||
mst | but, y'know, better to have something obviously temporary and terrible while we get it right than something that pretends to be a solution | 19:35 | |
ranguard | RabidGravy: cool, my point on #255 was I'm not going to keep reporting the issues - but therefor people shouldn't rely on my duct tape working 100% :) | ||
19:35
faraco left
|
|||
RabidGravy | well right now there are "only" 182 authors, it would be easier to turn this round now than in a year | 19:36 | |
ranguard | ++ | ||
19:42
jraglin left
|
|||
stmuk | modules.perl6.org doesn't correctly display the multiple "Foo" modules | 19:45 | |
19:47
CIAvash left
|
|||
RabidGravy | I guess it would be fairly time consuming to discover which of those 182 already have a PAUSE id | 19:48 | |
unless someone fancies a "small data mining project" | 19:49 | ||
19:49
bjz joined
19:50
wamba left
19:51
domidumont joined
19:52
wamba joined
|
|||
notviki | Well, looks like I have a completed Geth prototype ready for the switch... | 19:53 | |
stmuk | notviki: I'm wondering whether modules.perl6.org should use the zef JSON feed rather than the panda one | 19:56 | |
I'll like to think they contain exactly the same information but I bet they don't | 19:57 | ||
notviki | it doesn't use panda feed | ||
It uses the META.list :/ | 19:58 | ||
I don't know why people don't believe me :\ | |||
github.com/perl6/modules.perl6.org...pl#L18-L19 | |||
stmuk | raw.githubusercontent.com/FROGGS/p.../META.info | 19:59 | |
raw.githubusercontent.com/FROGGS/p.../META.info | |||
ugexe | there is also a third one | 20:01 | |
stmuk | notviki: ah so essentially the source META.list is processed in three different ways by zef, panda and modules.perl6.org | ||
RabidGravy | which is utter cock | ||
moritz | panda uses ecosystem-api.p6c.org/ which is what I'd expect module installers to use | 20:02 | |
notviki | As far as I know, panda doesn't do anything with it. | ||
ugexe | all 3 foo modules are in the ecosystem projects.json - something on the web site is probably just using "name" as a hash key instead of the full identity | 20:04 | |
RabidGravy | moritz, that's fine and dandy but if it's generated by different code to the modules.perl.org and so forth it's all hopeless | ||
notviki | No, the site simply doesn't list multiple versions of the same module (why would it) | ||
ugexe | because of :auth | 20:05 | |
notviki | :auth is the same | ||
moritz | RabidGravy: if modules.perl6.org can't work with the ecosystem API, I'm fine with it generating a JSON blob that's a superset with what the ecosystem API currently generates | ||
stmuk | I wish there was one Golden Source of Truth which was JSON and not hosted on github | 20:07 | |
notviki | It already does: modules.perl6.org/.json | ||
RabidGravy | yes | ||
notviki | And as far as I can see the eco API JSON just contains META file guts and nothing that modules.perl6.org needs | 20:08 | |
(travis, Issues, stargazers, etc) | |||
ugexe | fwiw tony-o is working on an api as well | ||
notviki | last updated time | ||
ugexe | curl -H "Content-Type: application/json" -X POST -d '{"module":"zef", "version":"*"}' modules.zef.pm/api/module-search && echo '' | ||
{"data":[{"auth":"github:ugexe","commit":"d3cd8180b1d69aad599770c7f818fac82b7ec5c6","short-name":"zef","ver":"*"}],"success":1} | |||
RabidGravy | AAAAAAAAAAAAAAAAAAAAARGH | 20:09 | |
20:09
domidumont left
|
|||
ugexe | there is going to be multiple ecosystems, there is not going to be a single ecosystem and there doesnt have to be | 20:09 | |
notviki | buggable: eco IRC:Client | 20:10 | |
buggable | notviki, Nothing found | ||
notviki | buggable: eco IRC::Client | ||
buggable | notviki, Found 4 results: IRC::Client, IRC::Client::Plugin::HNY, IRC::Client::Plugin::Factoid, IRC::Client::Plugin::UserPoints. See modules.perl6.org/#q=IRC%3A%3AClient | ||
notviki | ^ that uses modules.perl6.org API | ||
20:10
Gasher left
|
|||
stmuk | buggable: eco Foo | 20:11 | |
buggable | stmuk, Found 5 results: Slang::Tuxic, Slang::Piersing, Foo, Acme::DSON, WebService::FootballData. See modules.perl6.org/#q=Foo | ||
RabidGravy | ugexe, I agree but in the meanwhile there are all sorts of interim solutions being floated and implemented | ||
stmuk | we have de facto different ecosystems anyway now | 20:12 | |
20:12
Geth joined,
ChanServ sets mode: +v Geth
20:13
Geth left,
Geth joined,
ChanServ sets mode: +v Geth,
melezhik joined
|
|||
ugexe | so do most perl 5 projects I've worked on - darkpans | 20:13 | |
stmuk | anyway I wish we could just use CPAN as a dumb file store .. I can't see any integration with PAUSE ids etc. could work | ||
the perl6 requirements are so different | |||
20:14
domidumont joined
|
|||
FROGGS | stmuk: CPAN can be used... | 20:14 | |
stmuk: I wrote an indexer that recognizes Perl 6 dists and updates several json files that a client can use for lookups | 20:15 | ||
ugexe | was that those dist-name.meta files? | 20:16 | |
FROGGS | the only problem I ran into was that there was no Archive::Tar and GZip module at that time | ||
notviki | awwww | ||
notviki kicks Geth | |||
20:17
Geth left
|
|||
FROGGS | ugexe: probably... | 20:17 | |
20:17
Geth joined,
ChanServ sets mode: +v Geth
|
|||
ugexe | FROGGS: thats what I was using to index CPAN, but they don't get added anymore :( | 20:17 | |
20:17
Geth left
|
|||
FROGGS | uhh, why that? | 20:18 | |
20:19
xinming left
|
|||
RabidGravy | cause it got broken | 20:19 | |
ugexe | www.cpan.org/authors/id/P/PS/PSIXDISTS/Perl6/ | ||
there are .meta files for some dists/versions but not newer ones | |||
20:20
xinming joined,
Geth joined,
ChanServ sets mode: +v Geth
|
|||
RabidGravy | I think it's ad-hoc right now | 20:20 | |
geekosaur checks if there's a reaper in channel | |||
20:21
Geth left
|
|||
notviki makes reaper noises | 20:21 | ||
hmmm... HTTP::Server::Tiny seems to be refusing to start on my server :/ | |||
DrForr | Long as it's not a reaver. | ||
moritz | notviki: port already occupied? | 20:22 | |
RabidGravy | I think we fixed that one the other day | 20:23 | |
garu hugs notviki | |||
20:24
Geth joined,
ChanServ sets mode: +v Geth
|
|||
garu | notviki: I'm really sorry about that. And I'm sorry you felt it was one of those "this sux kthxbye" rants, it's really not :) | 20:24 | |
20:24
jebes left
|
|||
garu | notviki: I'm truly enjoying learning perl 6 and I have nothing but the utmost respect about all the work you put on making it better every day | 20:24 | |
notviki does too many drugs to even remember that conversation | 20:25 | ||
FROGGS | it is still there: github.com/andk/pause/blob/master/...t.pm#L1160 | ||
garu | notviki: hahahahhaha | ||
notviki | moritz: doesn't seem so. If I start an HTTP::Server::Tiny by running its synopsis code it works, but not from inside my robot :/ | ||
FROGGS | RabidGravy: do you know any details *how* it got broken? | 20:26 | |
RabidGravy | no | ||
20:26
Geth left
|
|||
notviki | oh lol, I think I know what it is. | 20:26 | |
20:26
Gasher joined
20:27
melezhik left
|
|||
garu | notviki: I was just trying to give back by pointing out a place where (as a newbie) I thought I should have gotten a warning message but didn't. I don't think it sucks because it behave like that, nor do I expect it fixed asap. Nor was I trying to solve the halting problem :) | 20:27 | |
RabidGravy | it was just surmise, there are too many people who maybe not taling to each other working in this space | ||
notviki | committable6: 4034f71 class { submethod TWEAK { say "hi" } } | ||
committable6: 4034f71 class { submethod TWEAK { say "hi" } }.new | |||
committable6 | notviki, ¦«4034f71»: | ||
notviki | Yup. My perl6 is too old on the server. | ||
garu | notviki: I'll shut up now :) | ||
20:29
xinming left
20:30
xinming joined
|
|||
SmokeMachine | Hi garu ! Good to see you!!! | 20:34 | |
Is there any plan to zef implement something like this? mojolicious.org/perldoc/Mojolicious...nd/cpanify | |||
20:35
domidumont left
|
|||
garu hugs SmokeMachine | 20:35 | ||
moritz | SmokeMachine: why would this be something in zef? | 20:36 | |
RabidGravy | SmokeMachine, what does that even do? | ||
moritz | and not, say, a separate project? | 20:37 | |
stmuk | does mojo have an email client yet? | 20:38 | |
RabidGravy | probably | ||
:) | |||
moritz | is it self-aware? :-) | ||
RabidGravy | it'll go full circle and become a text editor | 20:39 | |
SmokeMachine | I thought it would be great to have something that sends code to cpan and that would make sense to be zef... | 20:40 | |
AlexDaniel | an operating system you mean? :) | ||
RabidGravy | SmokeMachine, small and focussed is best, feel free to make it :) | ||
20:42
ribasushi joined
20:44
ocbtec left
20:47
leego left
20:48
leego joined,
leego left
20:49
TEttinger left,
leego joined
20:53
bjz left
20:55
travis-ci joined
|
|||
travis-ci | Doc build failed. Zoffix Znet 'Merge pull request #1118 from JJ/master | 20:55 | |
travis-ci.org/perl6/doc/builds/190061868 github.com/perl6/doc/compare/77aa4...4ef7570537 | |||
20:55
travis-ci left
20:57
Geth joined,
ChanServ sets mode: +v Geth
|
|||
Geth | th-test/moew-branch: 0ff5eef324 | (Zoffix Znet)++ | README.md meow1-0.969506444542017 meow3 |
20:57 | |
th-test/moew-branch: 121a07fe99 | (Zoffix Znet)++ | README.md meow1-0.403638012294927 meow3 |
|||
notviki | k | ||
RabidGravy | groovetastic | ||
Geth | c: 5694e78445 | (Zoffix Znet)++ | README.md Replace tabs with spaces Fixes travis build |
20:58 | |
notviki | \o/ | ||
AlexDaniel | .tell dalek We like dogfood. Change the webhook to geth.perl6.party/?chan=#perl6-dev (or #moarvm for moarvm), Content-type: application/json and "Send me everything." | 21:04 | |
yoleaux | AlexDaniel: I'll pass your message to dalek. | ||
AlexDaniel | oops | ||
.tell dalek #perl6 I mean | |||
yoleaux | AlexDaniel: I'll pass your message to dalek. | ||
AlexDaniel | notviki: you can save one line of the output by not printing an empty line after the title | 21:05 | |
just add « » around the first line or something | |||
21:05
Gasher left
21:07
FROGGS left
21:09
jraglin joined
21:13
avuserow left,
ocbtec joined
21:15
thisiswhoIam joined
|
|||
notviki | AlexDaniel: what channels does it announce the whateverables in? | 21:17 | |
AlexDaniel | notviki: this one | ||
notviki | Ah | ||
thisiswhoIam | Anybody familiar with how to install perl6 using rakudobrew? | 21:21 | |
I'm getting an error when running "rakudobrew install panda" | |||
error: pathspec 'nom' did not match any file(s) known to git. | |||
Then later... | |||
# Looks like you planned 16 tests, but ran 14 | |||
t/02-shell-command.t .. | |||
Dubious, test returned 255 (wstat 65280, 0xff00) | |||
Failed 2/16 subtests | |||
notviki | well.. now I want to play some Mass Effect :P | ||
thisiswhoIam | Am I missing a path variable? I already added the .rakudobrew/bin directory. | ||
notviki | thisiswhoIam: why do you need rakudobrew? | ||
thisiswhoIam: it's not for regular users. Use Rakudo Star distro instead: rakudo.org/downloads/star/ | 21:22 | ||
thisiswhoIam | OK, I'll take a look: I was just wanting to try out perl6, and didn't see a recent package for my distro. | ||
RabidGravy | If you weren't aware www.bleepingcomputer.com/news/secu...0-servers/ | 21:24 | |
notviki | "The attacks don't target all MongoDB databases, but only those left accessible via the Internet and without a password on the administrator account." | ||
It's a scary thought there were so many of them | 21:25 | ||
geekosaur | sounds about par | ||
lizmat | .oO( web scale ) |
||
notviki | lizmat++ | ||
RabidGravy | thisiswhoIam, the first message is expected, can't help with the test failure without the actual results | ||
AlexDaniel | “Environmental Variables“ wtf? | 21:26 | |
notviki | ? what | 21:27 | |
thisiswhoIam | RabidGravy: I didn't want to paste the whole message in here: see | ||
unix.stackexchange.com/questions/3...tion-fails | |||
AlexDaniel | notviki: um, like… I'm not a native speaker right, but en.wikipedia.org/wiki/Environment_variable | 21:28 | |
notviki | thisiswhoIam: you could try zef instead of panda | 21:29 | |
geekosaur | tjhat's not referring to $PATH, it's a git pathspec --- which is slightly confusing as it's being given a branch | ||
(that is, git is expecting a reference to a file in the repo) | 21:30 | ||
RabidGravy | it does that every time | ||
I think it tries to find a branch of panda that matches that of rakudo | 21:31 | ||
thisiswhoIam | I was wondering if that was actually an issue. | ||
I'm trying zef right now. | |||
RabidGravy | but isn't a problem | ||
geekosaur | as to the Shell::Command test... what platform is this on? | ||
RabidGravy | the issue seems to be withe Shell::Command | ||
thisiswhoIam | Zef built fine: is it an equivalent to panda? | 21:32 | |
geekosaur | (obviously something unixlike but I am wondering if it's looking for a traditional unix thing on OS X or something) | ||
thisiswhoIam | I'm on linux | ||
21:32
gcole joined
|
|||
notviki | uuuhh.. that article ends on such a weird note... | 21:33 | |
21:33
bjz joined
|
|||
notviki | thisiswhoIam: yes, it's a package installer as well and a better one at that | 21:33 | |
geekosaur | oh, hm, you do have a $PATH issue | 21:34 | |
notviki | thisiswhoIam: also, you don't need Task::Star. Just install modules you actually need | ||
geekosaur | it's doing which('perl6') | ||
21:34
Tonik left
|
|||
thisiswhoIam | Oops, I already started that once zef finished: I used zef install Task::Star and it's running | 21:35 | |
notviki | rakudobrew's readme does have instructions for updating yuor path.... | ||
21:35
Gasher joined
|
|||
thisiswhoIam | My path is: | 21:36 | |
PATH=/home/rob/perl5/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib64/java/bin:/usr/lib64/java/jre/bin:/usr/lib64/kde4/libexec:/usr/lib64/qt/bin:/home/rob/.rakudobrew/bin | |||
notviki | looks fine to me | ||
21:36
Ven joined
|
|||
geekosaur | did you 'export' it? | 21:37 | |
thisiswhoIam | I just added it my .bashrc and reloaded konsole | ||
21:38
dugword joined
21:39
travis-ci joined
|
|||
travis-ci | Doc build passed. Zoffix Znet 'Replace tabs with spaces | 21:39 | |
travis-ci.org/perl6/doc/builds/190069811 github.com/perl6/doc/compare/f44ef...94e7844504 | |||
21:39
travis-ci left
|
|||
thisiswhoIam | which perl6 | 21:39 | |
/home/rob/.rakudobrew/bin/perl6 | |||
21:40
bjz left
|
|||
RabidGravy | weird | 21:42 | |
21:46
bjz joined
21:51
bjz left,
Ven left
|
|||
Geth | c: ea7e7c2e14 | (Naoum Hankache)++ | doc/HomePage.pod6 update hyperlink replace perl6.org/documentation/ by perl6.org/resources/ |
21:54 | |
c: ea8f5420de | (Zoffix Znet)++ | doc/HomePage.pod6 Merge pull request #1110 from hankache/patch-1 update hyperlink |
|||
21:55
Ven joined
|
|||
notviki | AlexDaniel: not sure about the empty line. It kinda separates title from body, especially in other channels with colours off. Though I'd accept a PR removing it :) github.com/zoffixznet/geth/blob/ma...ub.pm6#L79 (the "\n\n" => "\n") | 21:59 | |
diakopter | notviki: did you add the feature where it translates the committer name to an irc name based on AUTHORS and other fallback heuristics | 22:01 | |
I mean, it did that mostly for the karma thingie | 22:02 | ||
but I have no idea whether there's even still a karma bot | |||
thisiswhoIam | Thanks guys: it looks like I've got a working installation to play with for now. I'll have to figure out how to make a package and install it permanently later. "Hello, world!" works. | ||
22:03
Geth left,
Geth joined,
ChanServ sets mode: +v Geth
|
|||
notviki | diakopter: no, it just uses the name GitHub reports as name | 22:04 | |
AlexDaniel | notviki: what I meant is 「‘«’ ~ Δ(:style<bold>, $c.title) ~ ‘»’;」 and “\n” instead of “\n\n”, yes. It's way easier for you to test it if you're interested than for me to go through the whole process of trying to get the bot working :) | ||
notviki | (which is also missing in Pull Requests hooks :( | ||
diakopter | did you see my following messages | ||
it was for karma, but I dunno if anyone cares | |||
I mean, presumably most people would prefer at least their github username instead of long name | |||
notviki: ^ | 22:05 | ||
thisiswhoIam | One question about boilerplate in my scripts. I usually use something like: | ||
use feature ':5.18'; | |||
use warnings; | |||
use diagnostics; | |||
use utf8; | |||
binmode STDOUT, ":utf8"; | |||
in my perl scripts. How much of that do I need in perl6? What about use strict? | |||
AlexDaniel | thisiswhoIam: none | ||
thisiswhoIam | perfect - thank you. | 22:06 | |
b2gills | thisiswhoIam: I always add 「use v6.c;」 to the top of files, just so that it will fail if someone tries to use it on a compiler from before the official release. | 22:07 | |
hobbs | Except that you can put a subversion in your "use v6" statement for the sake of back and forward compatibility: 6guts.wordpress.com/2016/02/09/a-f...atibility/ | ||
notviki | thisiswhoIam: if you're used to Perl 5, there's one you may find handy: use v6; as accidentally running a script with perl 5's interpreter can sometimes produce really weird errors | 22:08 | |
RabidGravy | yeah it gets me every time, hence alaways the use v6 | ||
22:09
curt_ left
|
|||
AlexDaniel | as for 「use v6;」, I don't use it. It's not my problem if your try to run the script with python, ruby or perl5… | 22:09 | |
especially given that perl 6 files tend to have distinct extensions, usually | |||
and also there's a shebang line… | |||
b2gills | If you have perl6 in the shebang line perl will happily run it with perl6 provided you have a new enough version of perl | 22:10 | |
RabidGravy | so much opinion | ||
AlexDaniel | um… huh? | ||
thisiswhoIam | That's a good idea. I do have lots of perl hanging around so I can see it being a good idea. Will perl6 run perl5 code? | 22:11 | |
AlexDaniel | no | ||
mostly… :) | 22:12 | ||
notviki | diakopter: I like the name instead of uzername. I think I can have a special file and people specify what they want to be called as | ||
thisiswhoIam: no, there's no compatibility. You can use Inline::Perl5 to use Perl 5's modules tho | 22:13 | ||
buggable: eco Inline::Perl5 | |||
buggable | notviki, Inline::Perl5 'Use Perl 5 code in a Perl 6 program': github.com/niner/Inline-Perl5 | ||
22:13
andrzejku left
22:15
thisiswhoIam1 joined,
thisiswhoIam left
|
|||
thisiswhoIam1 | AlexDaniel: what is the recommended extensions for perl6 scripts? I see .p6 and .pl6 in the tutorials. | 22:16 | |
timotimo | i always call scripts .p6, and modules .pm6 | ||
AlexDaniel | thisiswhoIam1: github.com/perl6/doc/issues/778 | ||
timotimo | and test files are just .t same as in perl5 | ||
RabidGravy | Well you can write a Perl 6 program that is also a Perl 5 program but it's unlikely to be useful or idiomatic in either | ||
AlexDaniel reopens the issue… | 22:17 | ||
RabidGravy | I don't use extensions on scripts for the most part | ||
b2gills | m: say "use '{ <<pl p6 pl6 ''>>.pick }' for the extension" | 22:18 | |
camelia | rakudo-moar fbbe44: OUTPUT«use '' for the extension» | ||
b2gills | m: say "use '{ <<pl p6 pl6 ''>>.pick }' for the extension" | ||
camelia | rakudo-moar fbbe44: OUTPUT«use 'p6' for the extension» | ||
22:19
Ven left
|
|||
AlexDaniel | but yes, that's a good point. Chances are you don't need an extension for the script at all | 22:19 | |
22:20
ocbtec left
|
|||
RabidGravy | it's a shame the modules need extensions really | 22:21 | |
infact only the File CUR does | 22:22 | ||
22:22
labster joined
|
|||
RabidGravy | the Installed doesn't need them | 22:22 | |
22:27
wamba left,
BenGoldberg joined
22:29
thisiswhoIam1 left
22:33
newbie1 left,
newbie1 joined,
RabidGravy left,
newbie1 left
22:34
newbie1 joined,
geekosaur left
22:35
thisiswhoIam joined,
geekosaur joined
|
|||
thisiswhoIam | Yeah, for scripts I'm writing I'll usually use an extension, but for scripts I use (or publish) as programs I take them off. Looks like the shebang works fine. I didn't mean to reopen any debates! | 22:36 | |
AlexDaniel | thisiswhoIam: it's not a debate, it's an issue we have in our docs. Your question should've been answered by the docs properly | 22:37 | |
thisiswhoIam: so thanks for bringing it up | |||
22:40
thisiswhoIam left
22:46
thisiswhoIam joined
|
|||
thisiswhoIam | I certainly have a lot to read now. My Internet has been flaky for the past few days (I think it's my modem dying), so I'll depart to avoid the disconnect message pollution. Thanks again all! | 22:47 | |
22:47
Wanderer68 left
22:50
thisiswhoIam left,
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
b2gills | When my DSL modem was getting flaky ( and eventually died ) all I had to do was replace the two capacitors. | 23:02 | |
23:08
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
BenGoldberg | m: sub foo { Slip }; print 1, 2, foo, 3; | 23:08 | |
camelia | rakudo-moar fbbe44: OUTPUT«Use of uninitialized value of type Slip in string context.Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. in block <unit> at <tmp> line 1123» | ||
BenGoldberg | m: sub foo { new Slip }; print 1, 2, foo, 3; | ||
camelia | rakudo-moar fbbe44: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntaxat <tmp>:1------> 3sub foo { new Slip 7⏏5}; print 1, 2, foo, 3;» | ||
BenGoldberg | m: sub foo { slip }; print 1, 2, foo, 3; | ||
camelia | rakudo-moar fbbe44: OUTPUT«123» | ||
Geth | c: a433137046 | (Wenzel P. P. Peppmeyer)++ | doc/Language/containers.pod6 show recursive data structures and name the consequence (garu++) |
23:12 | |
gfldex | did Dr Who finnaly succeed? | 23:13 | |
23:18
skids joined
|
|||
diakopter | notviki: next you could do camelia...? | 23:21 | |
I mean, just the irc portion, not the rebuild scripts yet | 23:22 | ||
23:23
khw left
23:24
Gasher left
|
|||
notviki | What's wrong with camelia? | 23:25 | |
23:27
lukaramu left
|
|||
AlexDaniel | m: say 42 | 23:28 | |
camelia | rakudo-moar fbbe44: OUTPUT«42» | ||
AlexDaniel | diakopter: in fact, what's wrong with evalable? | ||
e: say 42 | |||
evalable6 | AlexDaniel, rakudo-moar fbbe446: OUTPUT«42» | ||
AlexDaniel | it cannot run stuff on r-j yet, but I'll get to it soon | 23:29 | |
diakopter | AlexDaniel: oh, I didn't know about it | 23:31 | |
notviki: well it's in p5 still, I thought | |||
AlexDaniel | but you did know about committable, right? | ||
diakopter | no | 23:32 | |
AlexDaniel | … what about bisectable? :) | ||
diakopter | I recall reading about that one | ||
AlexDaniel | like, where have you been all that time ;) | ||
diakopter | out and about | ||
AlexDaniel | c: 2015.12,HEAD say rand | ||
committable6 | AlexDaniel, ¦«2015.12»: 0.883002107015713¦«HEAD»: 0.594236550908316 | ||
AlexDaniel | c: 2014.01,HEAD say rand | ||
committable6 | AlexDaniel, ¦«2014.01»: 0.406725¦«HEAD»: 0.316305477499301 | ||
diakopter | that's neat | ||
are those written in p6 | 23:33 | ||
AlexDaniel | yes | ||
all 6 *able6 bots are written in p6 :) | |||
diakopter | notviki: I was only suggesting camelia because it was written in p5, last I checked | ||
23:33
pecastro joined
|
|||
diakopter | notviki: same reason I suggested dalek | 23:33 | |
23:33
khw joined
|
|||
notviki | diakopter: is p5 going away any time soon? :) | 23:35 | |
AlexDaniel | no, but dogfood | 23:36 | |
notviki | I wrote Geth because dalek is a buggy POS and kept choking on my commit messages | ||
Rewriting a working piece of software just for the sake of language change is dumb. | 23:37 | ||
AlexDaniel | actually, in this case, it is a good idea for many reasons | 23:38 | |
diakopter | well, there's another reason - I'm not entirely sure p6 can handle all the child process/stream machinations camelia does | ||
AlexDaniel | I reported several bugs just because of whateverables | 23:39 | |
diakopter | notviki: including the kill with timeouts | ||
notviki: and memory limits | |||
AlexDaniel | and it is good to have something on this channel that people can easily contribute to, without them having to learn a different language | ||
23:40
geraud joined
|
|||
notviki | diakopter: heh, that sounds like a reason NOT to do it :P | 23:41 | |
diakopter | well it would be a good motivation for whoever to fix it so it could | ||
23:43
nv2r joined
23:44
nv2r left
23:53
kurahaupo__ left
23:59
rindolf left
|