»ö« 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. |
|||
TimToady | samcv: be sure your script pulls the latest; I just pr'd Grammar::Debugger to add some of those fields, for instance | 00:01 | |
samcv | cool | ||
yeah ofc | |||
TimToady always figures it's better to say a thing too many times than too few :) | |||
samcv | yep | 00:02 | |
00:03
cpage_ joined
|
|||
TreyHarris | It looks like most well-behaved classes ignore any named argument they don't recognize, but some do barf. When you only define BUILD, though, that's the behavior you get, so that's what should be considered default behavior, yes? (Wondering how to write the test "I implement this flag" before I get to the behavior that can exercise it, but I guess I can't and should just accept that.) | 00:05 | |
samcv | ok cool got my automated script to scrape all these that RabidGravy said failed the META license test | 00:07 | |
so many variations | |||
also idk what 'perl' license means. perl 5 ? perl 6? heh | |||
ugexe | "yes" | 00:08 | |
samcv | ;) | ||
here's the list gist.github.com/samcv/9177c43f2a78...54c63d28e5 | |||
ugh so many saying just "Artistic" and many of those i've seen have 2.0, but. no way to automate that without dling any license file in the project and checking that. | 00:09 | ||
ugexe | no urls then i assume? | ||
samcv | url's? | ||
00:09
mcmillhj joined
|
|||
samcv | to the meta's? well. | 00:09 | |
ugexe | as the license some people use a url to the license text | ||
samcv | my script has them. that's just the printout | ||
anarchy! | 00:10 | ||
TimToady | well, anything that /Artistic.*2/ can probably change to 'Artistic-2.0', which I believe is the standard espoused by the website | ||
samcv | yeah | ||
exactly | |||
ugexe | i can't filter urls effectively, so i'm all for some ENUM of values | 00:11 | |
samcv | hmm? | ||
TimToady | perl probably means it was originally "same as Perl itself", which at the time would only have been Artistic | ||
samcv | yeah. though. many say Artistic. but mean Artistic 2.0. but i'm sure some mean Artistic 1. | ||
TimToady | well, Artistic | GPL actually | ||
it was a quantum superposition | |||
samcv | :) | 00:12 | |
Artistic-1.0-Perl OR GPL-1.0 | |||
TimToady | but since Perl 6 is still "perl", we could try to tweak them to Artistic 2.0, with a love note saying they should do something else if this is unacceptable | ||
samcv | using SPDX spec notation | ||
hahaha | |||
00:13
Actualeyes joined
|
|||
TreyHarris | I'm trying to port a package with many Perl 5 classes with named boolean switches in the constructors. Since they were standard blessed hashes, their failure to define an accessor method for those flags means doesn't register any inten; I can define the switches as public attributes or as hidden attributes only settable at constructor time. What makes sense to me is to make them all attributes with "is ro" if | 00:15 | |
their behavior can't be changed usefully after construction, 'is rw' if they can. That's the right way to do it, yes? | |||
s/means.*intent/doesn't indicate any intent/ | |||
00:17
japh__ left,
japh__ joined
00:18
iyra left
|
|||
samcv | ugexe, updated the gist to have url's and url's to meta files gist.github.com/samcv/9177c43f2a78...54c63d28e5 | 00:18 | |
00:19
AlexDaniel left
|
|||
TimToady | "Artistic-1.0-Perl OR GPL-1.0" is not quite right, since the README itself allows you to use any subsequent version of the GPL | 00:20 | |
samcv | hm | ||
TimToady | but then, I think GPL-1.0 also contains that provision | ||
so maybe it doesn't matter | |||
samcv | isn't that in the GPL-1.0? | ||
then it'd be Artistic-1.0-Perl OR GPL-1.0 WITH foobarclausename | |||
or something like that | |||
TreyHarris | Also: is there any basic rule of thumb about when to replace underscores in P5 names with hyphens? | 00:21 | |
samcv | uhm. do it if you want to make it more perl6y? | ||
TimToady | well, Perl always added a lot of foobar clauses to the GPL :) | ||
samcv | you don't have to, not really any rules | ||
TimToady, dev.perl.org/licenses/ it seems to just say GPL 1 or Artistic | 00:22 | ||
TreyHarris | samcv: I'm just trying to do a "straight but Perl 6-ish" port. I guess Test::More -> Test is the canonical case of that, so the answer is "yes" on underscores to hyphens and "yes" on attributes | ||
samcv | i usually used dashes for perl 6 stuff and sometimes name variables with underscores when they are going to be used in non perl 6 programming languages. but that's just me | 00:23 | |
TimToady | we generally reserve underscores for internal names in p6 | ||
samcv | do we though? | ||
hm | |||
TimToady | well, "reserve" is perhaps too strong | ||
we encourage hyphens for public-facing APIs, let's put it that way | 00:24 | ||
samcv | yeah | ||
00:24
japh____ joined
|
|||
TimToady | the presence of any underscores can be taken as a mild warning of <mumble> | 00:25 | |
TreyHarris | TimToady: undrstd. | 00:26 | |
00:28
japh__ left
00:30
gdonald left,
gdonald joined
00:45
Cabanossi left
00:48
Cabanossi joined
00:49
kurahaupo left,
kurahaupo joined
|
|||
samcv | nice. i automated it! | 01:01 | |
first automated PR down github.com/zostay/perl6-IO-Glob/pull/6 | |||
now i will uh. just let it go crazy! | |||
and it checks to make sure json is correct before doing it | 01:02 | ||
01:03
shdb left
01:04
shdb joined,
mcmillhj left
|
|||
samcv | so should be fairly safe | 01:04 | |
01:05
mcmillhj joined
|
|||
TreyHarris | erm... isn't there a shorthand to toggle a `has Bool $.blinking is rw` attribute that doesn't require saying the attribute name twice? | 01:08 | |
samcv | toggle it programatically without typing it into the program? | ||
not sure the question | |||
mst | $_ = !$_ for $obj.blinking; or something? | 01:09 | |
TreyHarris | like $p.blinking = not $p.blinking, but without saying "$p.blinking" twice. | ||
01:09
mcmillhj left
|
|||
TreyHarris | I thought there was a concise and clear way I saw once that was better than just writing it out. But if not, no worries. | 01:09 | |
01:12
sufrostico left,
labster left
|
|||
TreyHarris | I've had to learn too many languages in the past 16 months--I feel like the semester I took Spanish, Japanese and Russian. I keep "remembering" features from the wrong language. | 01:14 | |
01:16
Cabanossi left
01:18
Cabanossi joined
01:20
sufrostico joined
|
|||
samcv | so many PR gist.github.com/samcv/b7809f404778...f08efeb6bd | 01:21 | |
that was fun though. once i tried to relax and that i had already built in json validity safechecks and other things that it wouldn't do something embarassing to 30+ repos | 01:22 | ||
BenGoldberg | m: my $x = False; [not=] $x; say $x; | 01:28 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Prefix not requires an argument, but no valid term found at <tmp>:1 ------> 3my $x = False; [not7⏏5=] $x; say $x; expecting any of: prefix |
||
BenGoldberg | m: my $x = False; $x not= ; say $x; | 01:29 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my $x = False; $x7⏏5 not= ; say $x; expecting any of: infix infix stopper statement end statement modifier … |
||
BenGoldberg | m: my $x = False; $x not= (); say $x; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my $x = False; $x7⏏5 not= (); say $x; expecting any of: infix infix stopper statement end statement modifier… |
||
skids | samcv: merged X::Protocol, Control::Bail, Proc::Screen. Also, the urls stop showing up halfway down the gist. | 01:30 | |
BenGoldberg | m: my $x = False; $x .= not; say $x; | ||
camelia | True | ||
BenGoldberg | m: class Blinkable { has $.blinking }; my Blinkable $obj .= new; $obj.blinking.=not; dd $obj; | 01:31 | |
camelia | Cannot modify an immutable Any in block <unit> at <tmp> line 1 |
||
BenGoldberg | m: class Blinkable { has $.blinking is rw }; my Blinkable $obj .= new; $obj.blinking.=not; dd $obj; | ||
camelia | Blinkable $obj = Blinkable.new(blinking => Bool::True) | ||
BenGoldberg | TreyHarris ^ | ||
01:40
kurahaupo left
01:41
cpage_ left
01:42
labster joined
01:45
ilbot3 left
01:47
Cabanossi left
01:48
ilbot3 joined,
ChanServ sets mode: +v ilbot3
|
|||
samcv | skids, the ones without url's don't have PR yet | 01:48 | |
01:48
Cabanossi joined
|
|||
samcv | because they didn't have artistic and 2 in the license field | 01:48 | |
the other ones will have to be done more carefully | |||
02:08
noganex_ joined
02:10
noganex left
02:15
Cabanossi left
02:17
Cabanossi joined
|
|||
TimToady | m: my $x = False; $x ?^= True; say $x; $x ?^= True; say $x; | 02:19 | |
camelia | True False |
||
TimToady | you can use exclusive or as well | ||
02:21
japh__ joined
02:24
japh____ left
|
|||
BenGoldberg | m: use Benchmark; | 02:26 | |
camelia | ===SORRY!=== Could not find Benchmark at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-2/share/perl6/site /home/camelia/rakudo-m-inst-2/share/perl6/vendor /home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::R… |
||
02:27
jrac1001 joined
|
|||
MasterDuke_ | star: use Benchmark | 02:30 | |
camelia | ===SORRY!=== Could not find Benchmark at line 1 in: /home/camelia/.perl6 /home/camelia/star-2016.10/share/perl6/site /home/camelia/star-2016.10/share/perl6/vendor /home/camelia/star-2016.10/share/perl6 CompUnit::Repository::Ab… |
||
MasterDuke_ | BenGoldberg: trying to do some benchmarking? | ||
02:32
jrac1001 left
|
|||
TimToady | m: my $x = False; $x .= not for ^1000000; say now - INIT now | 02:34 | |
camelia | 2.5071128 | ||
TimToady | m: my $x = False; $x ?^= True for ^1000000; say now - INIT now | ||
camelia | 1.27069904 | ||
TimToady | m: my int $x = 0; $x +^= 1 for ^1000000; say now - INIT now | 02:36 | |
camelia | 0.60105261 | ||
02:40
ChoHag joined
02:47
japh____ joined
02:49
mcmillhj joined
02:51
japh__ left
02:54
Actualeyes left,
mcmillhj left
02:56
mr-foobar left
03:00
japh__ joined
03:02
titsuki_ joined
03:03
japh____ left,
BenGoldberg left,
titsuki left
03:04
BenGoldberg joined
03:07
Actualeyes joined
03:17
sufrostico left,
japh____ joined
03:20
japh__ left
03:27
zapwai left,
Sgeo joined,
Sgeo__ left
|
|||
samcv | phase 2 attack of the automated PR has begun | 03:40 | |
now if it has artistic or perl in the license it checks to make sure there's only one license file, and that, that file is at max one line copyright line different from my copy | |||
03:43
kevin joined,
kevin is now known as Guest8657,
perlawhirl left
03:44
Cabanossi left
|
|||
Guest8657 | Hi all, is there any module in perl6 can parse excel file | 03:44 | |
03:44
labster left
03:46
Cabanossi joined,
perlawhirl joined,
perlawhirl__ joined,
perlawhirl_ joined,
perlawhirl___ joined
|
|||
samcv | good question Guest8657 | 03:47 | |
03:47
Guest8657 left
|
|||
samcv | TimToady, looks especially nice if we sort it by length heh gist.github.com/samcv/b7809f404778...f08efeb6bd | 03:47 | |
i guess that's the lazy way to sort it by whether or not there's a url there | 03:48 | ||
still 50 more repos i need to cover though | 03:55 | ||
u-ou | hello | 03:57 | |
samcv | hi u-ou :) | 03:59 | |
u-ou | (: | ||
04:00
wamba joined
04:02
u-ou is now known as no-n
04:03
japh__ joined
04:06
japh____ left
|
|||
no-n | tfw your program is tidy and resonable but then you need to add more features | 04:10 | |
samcv | :-D | 04:12 | |
no-n | :) | ||
04:14
skids left
04:15
Cabanossi left
04:17
Cabanossi joined
|
|||
samcv | how many PR until github shuts you down?. lol. | 04:17 | |
maybe they have an algorithm? | 04:18 | ||
since idk what prevents people creating Pull requests or issues with spam in it. hm. or mabye it's not really an issue | |||
no-n | hehe | 04:19 | |
perlawhirl_ | fwiw, i fixed up mine < Net::Netmask Pod::To::Markdown::Fenced wig > | 04:21 | |
04:24
Possum left
04:25
perlawhirl_ left
|
|||
samcv | oh cool | 04:28 | |
thank you perlawhirl :) | 04:30 | ||
04:30
no-n is now known as u-ou
04:31
Possum joined
04:34
labster joined
04:46
perlawhi1l joined
04:50
BenGoldberg left
05:00
Cabanossi left
05:01
Cabanossi joined
05:02
japh__ left,
japh__ joined
|
|||
Geth | doc: 4bc72d5114 | (Samantha McVey)++ | doc/Language/modules.pod6 Add updated information on putting license in META6.json design.perl6.org/S22.html#license |
05:02 | |
doc: eb608b1a1f | (Samantha McVey)++ | .travis.yml Add fast_finish to .travis.yml Should enable build status before ignored build statuses have finished |
05:07 | ||
05:09
japh____ joined
05:10
Possum left
05:11
japh__ left
05:17
perlawhirl___ left
05:18
azawawi joined
|
|||
azawawi | good-morning | 05:18 | |
05:18
perlawhirl__ is now known as perlawhirl_,
perlawhirl_ is now known as 07EAAQYAC
05:19
07EAAQYAC left,
perlawhirl left,
perlawhi1l is now known as perlawhirl
05:20
japh____ left,
japh____ joined
05:22
Possum joined
05:29
Cabanossi left
05:31
Cabanossi joined
05:34
Possum left
05:36
japh__ joined
05:39
japh____ left
05:40
Possum joined
|
|||
masak | good morning, #perl6 | 05:43 | |
m: my $program = q[say "lol, so unsafe!"]; EVAL $program | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> EVAL is a very dangerous function!!! (use the MONKEY-SEE-NO-EVAL pragma to override this error, but only if you're VERY sure your data contains no injection attacks) at <tmp>:1 ------> 3 q[say "lol,… |
||
samcv | hii | ||
masak | m: use MONKEY-SEE-NO-EVAL; my $program = q[say "lol, so unsafe!"]; EVAL $program # bah | 05:44 | |
camelia | lol, so unsafe! | ||
masak | m: my $program = q[say "lol, so unsafe!"]; my &eval = &EVAL; eval $program | ||
camelia | lol, so unsafe! | ||
samcv freaks out and runs around screaming | |||
masak | ah, so *that's* how you do it | ||
two birds with one stone, really | |||
05:44
xtreak joined
|
|||
samcv | hahahha | 05:44 | |
masak | (a) I get the non-silly spelling back | ||
(b) I trivially circumvent the hysterical error | |||
this almost deserves a blog post, although I fear it might be a slightly grumpy one | 05:45 | ||
samcv | hahaha | 05:46 | |
m: ("'foo'" ~ '.EVAL').EVAL.say | |||
camelia | 5===SORRY!5=== Error while compiling /home/camelia/EVAL_1 Undeclared routine: foo used at line 1 |
||
samcv | m: Q<'foo'.EVAL>.EVAL.say | 05:47 | |
camelia | 5===SORRY!5=== Error while compiling /home/camelia/EVAL_1 Undeclared routine: foo used at line 1 |
||
masak | fwiw, in the book "JavaScripdt: The Definitive Guide", it says that (in JS) `eval()` oughta have been a unary (prefix) operator, not a function. this is why. | ||
samcv | m: 'foo'.EVAL.say | ||
camelia | 5===SORRY!5=== Error while compiling /home/camelia/EVAL_0 Undeclared routine: foo used at line 1 |
||
masak | (because you basically cannot statically analyze first-class function values) | ||
TimToady: hm, why was it at one point believed that only `:=` would work for assigning functions in Perl 6, not `=`? | 05:48 | ||
(this is back to the Pugs or pre-Pugs days. ISTR that Pugs proved in practice that `=` worked. but I'm unclear on why it was not obvious at the time that it'd work.) | 05:49 | ||
05:50
ufobat joined,
RabidGravy joined
|
|||
moritz | I guess the thinking was that & variables wouldn't have a level of container | 05:51 | |
but I mostly remember that I didn't understand the reasoning at that time | 05:53 | ||
samcv | m: my $n = 5; my $var = "foo"; for ^$n { $var = "‘‘" ~ $var ~ "’’" ~ ".EVAL" }; $var.say; ($var ~ '.EVAL' x $n -1 ).EVAL.say | ||
camelia | ‘‘‘‘‘‘‘‘‘‘foo’’.EVAL’’.EVAL’’.EVAL’’.EVAL’’.EVAL foo |
||
samcv | nice. | ||
hahaha | |||
m: my $n = 5; my $var = "foo"; for ^$n { $var = "‘‘" ~ $var ~ "’’" ~ ".EVAL" }; $v2 = ($var ~ '.EVAL' x $n -1 ); $v2.say; $v2.EVAL.saysay | 05:54 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$v2' is not declared at <tmp>:1 ------> 3 $var = "‘‘" ~ $var ~ "’’" ~ ".EVAL" }; 7⏏5$v2 = ($var ~ '.EVAL' x $n -1 ); $v2.say |
||
samcv | m: my $n = 5; my $var = "foo"; for ^$n { $var = "‘‘" ~ $var ~ "’’" ~ ".EVAL" }; my $v2 = ($var ~ '.EVAL' x $n -1 ); $v2.say; $v2.EVAL.saysay | ||
camelia | ‘‘‘‘‘‘‘‘‘‘foo’’.EVAL’’.EVAL’’.EVAL’’.EVAL’’.EVAL.EVAL.EVAL.EVAL.EVAL No such method 'saysay' for invocant of type 'Str' in block <unit> at <tmp> line 1 |
||
samcv | m: my $n = 5; my $var = "foo"; for ^$n { $var = "‘‘" ~ $var ~ "’’" ~ ".EVAL" }; my $v2 = ($var ~ '.EVAL' x $n -1 ); $v2.say; $v2.EVAL.say | ||
camelia | ‘‘‘‘‘‘‘‘‘‘foo’’.EVAL’’.EVAL’’.EVAL’’.EVAL’’.EVAL.EVAL.EVAL.EVAL.EVAL foo |
||
samcv | so many evals | ||
m: my $n = 5; my $var = "foo"; for ^$n { $var = "‘“" ~ $var ~ "”’" ~ ".EVAL" }; my $v2 = ($var ~ '.EVAL' x $n -1 ); $v2.say; $v2.EVAL.say | 05:55 | ||
camelia | ‘“‘“‘“‘“‘“foo”’.EVAL”’.EVAL”’.EVAL”’.EVAL”’.EVAL.EVAL.EVAL.EVAL.EVAL foo |
||
samcv | slightly easier to read like this. but. really not XD | ||
06:04
mr-foobar joined
06:10
domidumont joined
|
|||
RabidGravy | samcv, so when I asked you *not* to send me PRs about this license thing ... | 06:12 | |
samcv | i'm sorry RabidGravy, i automated it, and it applied it to all of them. sorry about that | ||
06:17
domidumont left
|
|||
moritz | RabidGravy: you can like, close them :-) | 06:18 | |
RabidGravy | I have | ||
samcv | they did get closed ;) | ||
RabidGravy | I am also going to remove all the modules from the ecosystem at 9PM BST unless I see some evidence that this has been discussed among a group wider than half a dozen people on here | 06:19 | |
TimToady | sorry, we don't play the nuclear blackmail game here | 06:20 | |
moritz | we have 304 nicks in here, so maybe ~250 people who had the opportunity to speak up | 06:21 | |
RabidGravy | I know, it's not a threat, I just don't think this is the way to proceed | ||
moritz | then propose alternative processes to deal with such things | ||
ideally some that aren't a huge overhead | |||
06:21
japh____ joined
06:22
japh__ left
06:23
xtreak left,
xtreak joined
|
|||
samcv | RabidGravy, i'm sorry for the PR. and i looked at them and changes from "perl" to "Artistic-2.0" or from "Artistic" to "Artistic-2.0" offer more information about the modules. i mean there could be a way that we could have package managers resolve names that may not be exact matches, but "perl" and "Artistic" don't show full information | 06:24 | |
TimToady | Perl 6 has succeed to the extent it has because it has been a convergent (on average) process over the years. | ||
samcv | also open to suggestions about how to preced of course. and i've blacklisted you on my script | 06:25 | |
TimToady | we haven't forced rapid convergence, (obviously, in retrospect), but we do want to keep a gentle pressure in that direction | ||
if this was not gentle enough, then we need to figure out a better way, as moritz points out | 06:26 | ||
samcv | agreed | ||
TimToady | perhaps "blacklisted" has some undesirable negative connotations :) | 06:27 | |
samcv | was not meant that way. but it will skip any repos of user jonathanstowe on github now | ||
06:27
xtreak left
|
|||
moritz | "not-nag-listed" :-) | 06:27 | |
samcv | added an exception? | ||
06:28
nadim joined
|
|||
TimToady | actually, given how opinionated we all are, I'm surprised we've managed the degree of convergence we have, even if it did take a decade and a half (so far) :) | 06:29 | |
samcv | :) | 06:30 | |
docs.perl6.org/language/modules#in...META6.json i've updated the license section of here to provide more guidance. mostly says the same as the synopsis. need to clean up formatting a bit but | 06:33 | ||
or template now has a license field so hopefully that will help people out as well making new modules | |||
06:33
darutoko joined
06:35
domidumont joined
06:37
wamba left
06:38
imcsk8 joined
06:40
domidumont left
06:41
domidumont joined
06:44
azawawi left
07:01
japh____ left
|
|||
Geth | Inline-Perl5: 45cd7ec289 | (Samantha McVey)++ | META6.json Use SPDX identifier in license field of META6.json For more details see design.perl6.org/S22.html#license |
07:01 | |
Inline-Perl5: 8cb8c3254f | niner++ (committed using GitHub Web editor) | META6.json Merge pull request #95 from samcv/license Use SPDX identifier in license field of META6.json |
|||
07:02
japh__ joined,
samcv left,
samcv joined
07:03
raschipi joined
07:07
cpage_ joined
07:13
parv joined
07:15
astj joined
|
|||
TEttinger | I'm surprised nobody's made an Autistic License that is just like the Artistic License but has a clause that specifies it must be taken literally | 07:22 | |
it's redundant with it being a legal document, but it never hurts to be clear | 07:23 | ||
07:26
wamba joined
07:27
rindolf joined
07:29
TheAthlete joined
07:32
qeesung joined,
qeesung left
07:33
astj left,
TheAthlete left
|
|||
raschipi | TEttinger: aiming to increase redudancy is an infinite loop. | 07:42 | |
TEttinger | you're in #perl6, there are how many redundant implementations of it? | 07:53 | |
raschipi | Yes, but if increasing redudancy was our *aim*, everyone would have to start multiple nem implementations... | 07:58 | |
new implementations... | |||
tyil nibbles on samcv | 08:03 | ||
08:04
xtreak joined
|
|||
raschipi | I'm joking, of course, but I think you meant it's better to be explicit instead of implicit, not that just increasing redudancy is a good thing in itself. | 08:04 | |
08:06
xtreak left,
xtreak joined
08:07
abraxxa joined
|
|||
TEttinger | no I think I meant it to tie back to the characteristic of many people with autism who have difficulty understanding metaphors or non-formal documents and prefer things specified pedantically for clarity | 08:07 | |
which is not a disadvantage for programmers | |||
or lawyers! | |||
samcv | aren't licenses already pretty precise? | 08:08 | |
raschipi | I think we just said the same thing in too different ways, there's redudancy for you. | ||
TEttinger | hehe | ||
samcv | :O | ||
u-ou | too? | ||
samcv | also | ||
raschipi | two* | ||
TEttinger | samcv: I think there are lots of shoddy licenses out there. I encountered one | 08:09 | |
samcv | WTF license? | ||
www.wtfpl.net/txt/copying/ | |||
raschipi | Arguing for the everything explicit in #perl6, that's asking for a flamewar. | 08:10 | |
samcv | i'm still not sure what it actually grants as the license… though i know what the spirit of it is. i still don't know | ||
eater | why not force everyone to use Artistic-2.0? "If you run this program under perl6 it is licensed under Artistic-2.0" | ||
u-ou | what license do I need to use if I release some Perl 6 code? | ||
TEttinger | like this one is just terrible oryxdesignlab.com/license | ||
samcv | u-ou, Artistic 2.0 is the most common one | ||
that's what rakudo moarvm and nqp are licensed as, and the majority of our licensed modules | |||
TEttinger | (that license appears to prevent any usage of the things you buy from oryx) | ||
08:11
xtreak left,
japh__ left
|
|||
parv | u-ou, depends mostly on your own motives & anybody else's involved | 08:11 | |
samcv | i would argue the WTF license doesn't grant anything new. and people already "do what the fuck they want to" | ||
TEttinger | AGPL, watch the world burn | ||
samcv | but i've seen argued that GPL and AGPL at least in europe still allow linking to programs of any license without forceing them to be GPL | 08:12 | |
though in other juristictions it could be different | |||
TEttinger | AGPL is a pretty fiendish one though | ||
especially with stuff like Opa, which had an AGPL standard lib for a long time | 08:13 | ||
samcv | yes. but at least in europe. if it's linked then you only need to release the source of the library itself that was modified | ||
TEttinger | so any code that used strings, or numbers, etc. became AGPL. and it was for web dev | ||
so your crypto, needs to be OSS | |||
08:13
pmurias joined
|
|||
raschipi | working as intended. | 08:13 | |
08:13
zakharyas joined
|
|||
TEttinger | no surprise, Opa is dead | 08:14 | |
08:14
japh__ joined
|
|||
masak | moritz: "no level of container" makes a modicum of sense, I guess | 08:14 | |
or rather, I don't understand why it was thought it wouldn't/shouldn't have one, but... if that was the case, then binding'd be the only option | 08:15 | ||
samcv | TEttinger, see joinup.ec.europa.eu/community/eupl...sing-ghost | ||
As a conclusion, it looks that in most cases, linking two programs or linking an existing software with your own work does not – at least in Europe – produce a derivative or extends the coverage of the linked software licence to your own work | |||
^ the gist of it | |||
TEttinger | I'm not in Europe | ||
samcv | me either | 08:16 | |
in other places in is not quite as certain | |||
TEttinger | also, this is just hilarious opalang.org/ | ||
there's no download link, just some build instructions with a significant omission for windows | 08:17 | ||
samcv | but it hinges on what is a derivitive work TEttinger | ||
in any jurisdiction | |||
TEttinger | mm | 08:18 | |
samcv | which is the language the GPL and AGPL use | ||
TEttinger | also any software that needs, as part of its build process, for you to run `sudo ln -s /sbin/md5 /usr/local/bin/md5sum` | ||
maaaaay have a problem | |||
samcv | uhm | ||
i don't see why | |||
how is that a derivitive work... | 08:19 | ||
TEttinger | oh that was the Opa thing | ||
samcv | oh | ||
TEttinger | Opa changed from AGPL stdlib to just AGPL compilr | ||
samcv | i should make a "don't do anything" license. as a parady of the do what the fuck you want to license | ||
which will say you can't do anything. even look at the software | |||
or think about it | |||
or maybe "don't do anything you want to" | 08:20 | ||
raschipi | can't copy it even to your mind. | ||
samcv | which is equally meaningless to the wtf license | ||
haha | |||
because what does "don't do anything you want to" even mean... | |||
what if you don't want to do something, are yo uthen allowed to do it? | |||
parv | samcv: is that not for every closed source software & tractors? | 08:21 | |
samcv | and conversely with the WTF license | ||
haha | |||
TEttinger | I should make a license that requires anyone who seeks to enforce a patent against the licensor represent themselves in court with a blood alcohol level of 1% | ||
samcv | LOL | ||
idk if that's legal | |||
TEttinger | if they don't drive | ||
samcv | just make it at least 3/4 of the legal limit | ||
TEttinger | prohibition was repealed samcv | ||
samcv | for a court room | ||
08:21
japh__ left
|
|||
samcv | but. yo ucan't be drunk in court... | 08:21 | |
if you fail a breath test they'll throw you own in contempt | 08:22 | ||
08:22
japh__ joined
|
|||
TEttinger | public drunkenness yeah | 08:22 | |
jast | after a blood alcohol level of 1% I'm fairly sure you'll never drive again | ||
samcv | court is in public | ||
TEttinger | hmm, what would be a better requirement | ||
samcv | no not true jast | ||
TEttinger | oh! | ||
samcv | but it is not healthy | ||
TEttinger | must present entire case standing on head | ||
samcv | dunno then no way for case to go forward | 08:23 | |
TEttinger | if you fail, you must concede | ||
samcv | don't think judge would allow | ||
LOL | |||
TEttinger, or how to get parts of your license thrown out in court easily | |||
RE these things. lol | |||
TEttinger | yes. | ||
but standing on your head must be legal in court, they need to reenact things like assaults where someone's wrestling | 08:24 | ||
raschipi | The other day a judge threw someone in contempt in Brazil because they were using flip-flops. The Superior Court awarded them reparation from the judge that did it. | ||
samcv | haha | ||
raschipi | A judge won't enforce things they don't want to. | ||
08:24
Cabanossi left
08:25
Cabanossi joined
|
|||
jast | samcv: AFAIK the lethal dose is around 0.3-0.4% for "unpracticed" drinkers. there have been occasional measurement results of up to 0.7% I believe, but 1% seems a bit much | 08:25 | |
08:26
araujo left
|
|||
TEttinger | i suppose in that case you would weigh your options and decline to sue | 08:26 | |
jast | historical find of 0.77%: www.tagesspiegel.de/weltspiegel/alk...71216.html :) | ||
08:27
raschipi left
|
|||
samcv | After a short sobering, the drunkard had already left the hospital. | 08:27 | |
seems fine to me | 08:28 | ||
but i would argue jast 1% would likely the person be unconscious without a very high tolerance | |||
and could be dangerous. so would be hard to argue in court | |||
jast | yeah, and note the "I've never seen a value this high in my 28 years of doing this job" and "you might survive this once but it'll cause a lot of damage" | 08:29 | |
samcv | so to meet the requirements you'd have to spend months gaining a tolerance to fight in court | ||
jast | and it'd still be almost 30% more than has ever (?) been encountered | 08:30 | |
samcv | .ask Zoffix is there anyway we could have `dir :d` or `dir :f` to get all directories or all files etc? | 08:31 | |
yoleaux | samcv: I'll pass your message to Zoffix. | ||
08:32
domidumont left,
robertle joined,
domidumont joined
|
|||
samcv | i can do dir.grep({.d}) but dir :d would be much more convenient | 08:33 | |
moritz | dir.grep("d" => True) might work | 08:34 | |
.grep(*.d) | 08:35 | ||
samcv | but it's a very commonly wanted thing i would think | ||
to want all folders or all files | |||
moritz | but there's more to it | 08:36 | |
what about symlinks? | |||
should it follow them? treat them as dirs if it points to a dir? | |||
samcv | there is more to it. but.... :d would be like .grep(*.d) | ||
or dir :d, :f would do dirs and files. would perform like the .d or .f things do | 08:37 | ||
it just works exactly the same way things already do | |||
El_Che | hi | 08:39 | |
08:40
domidumont left
|
|||
moritz | ho | 08:40 | |
nadim | hej | ||
El_Che | 'Trump has to go' | ||
oh, we're not doing that :) | |||
08:41
domidumont joined,
gdonald left
|
|||
u-ou | does $s does Role run all of Role's initialisers on $s? | 08:41 | |
08:41
gdonald joined
|
|||
u-ou | so that you get all of the role's variables reset? | 08:41 | |
I hope that makes sense | |||
if you do it multiple times, does it keep resetting variables through the initialisers? | 08:42 | ||
samcv | pyeah it does u-ou | ||
that's the thing about roles which make them cool | 08:43 | ||
u-ou | yeah, they are cool | ||
samcv | it carries over many more things than `is` does | ||
u-ou | so you don't have to do self.stats = Stats.new, you can just do self does Stats | ||
m: role Stuff { has $.i is rw = 0 }; class Thing does Stuff { method inc { $.i++ }; method get { $.i }; method reset { self does Stuff } }; my $t = Thing.new; $t.inc for ^10; $t.get.say; $t.reset; $t.get.say | 08:46 | ||
camelia | 10 0 |
||
u-ou | so, every time 'does' is used the initialisers run? | 08:48 | |
i.e. = 0 | |||
08:56
domidumont left,
domidumont joined
08:59
espadrine joined
|
|||
u-ou | weird. if i change method get to $!i i get 10 again | 08:59 | |
m: role Stuff { has $.i is rw = 0 }; class Thing does Stuff { method inc { $.i++ }; method get { $!i }; method reset { self does Stuff } }; my $t = Thing.new; $t.inc for ^10; $t.get.say; $t.reset; $t.get.say | |||
camelia | 10 10 |
||
09:02
wamba left
|
|||
u-ou | but why? :I | 09:03 | |
09:06
gregf_ joined
09:07
espadrine left
|
|||
timotimo | oh you really don't want to "does" your object multiple times | 09:08 | |
m: role Omg { }; my $i = 10; for ^10 { say $i.perl; $i does Omg } | |||
camelia | 10 10 10 10 10 10 10 10 10 10 |
||
timotimo | bad example | ||
m: role Omg { }; class Test { }; my $i = Test.new; for ^10 { say $i.perl; $i does Omg } | 09:09 | ||
camelia | Test.new Test+{Omg}.new Test+{Omg}+{Omg}.new Test+{Omg}+{Omg}+{Omg}.new Test+{Omg}+{Omg}+{Omg}+{Omg}.new Test+{Omg}+{Omg}+{Omg}+{Omg}+{Omg}.new Test+{Omg}+{Omg}+{Omg}+{Omg}+{Omg}+{Omg}.new Test+{Omg}+{Omg}+{Omg}+{Omg}+{Omg}+{Omg}+{Omg}.new… |
||
timotimo | you're creating a new class every time | ||
u-ou | ahhhh | ||
timotimo | that'll also cause deoptimization because we can't be sure about types involved in existing code any more | ||
u-ou | so to reset everything you've mixed in you just have to reset everything you've mixed in | 09:10 | |
timotimo | you can keep the original object around and use "but" instead of "does" | 09:11 | |
09:12
wamba joined
|
|||
u-ou | m: role R {}; class C {}; my $i = C.new; for ^10 { say $i.perl; $i = $i but R } | 09:13 | |
camelia | C.new C+{R}.new C+{R}+{R}.new C+{R}+{R}+{R}.new C+{R}+{R}+{R}+{R}.new C+{R}+{R}+{R}+{R}+{R}.new C+{R}+{R}+{R}+{R}+{R}+{R}.new C+{R}+{R}+{R}+{R}+{R}+{R}+{R}.new C+{R}+{R}+{R}+{R}+{R}+{R}+{R}+{R}.new C+{R}+{R}+{R}+{R}+{R}+{R}+{R}+{R}+{R}.… |
||
u-ou | oh, "the original object" | 09:14 | |
09:16
Ven joined,
Ven is now known as Guest37478
|
|||
timotimo | oh, but that won't keep changes around of course | 09:17 | |
u-ou | I'm probably going to just write a "reset" method for my role :P | ||
timotimo | i wonder how to properly delegate to a method of one name in all roles, i don't think we had something for that yet | ||
09:24
sena_kun joined
09:25
xtreak joined
|
|||
eater | self but Stuff? | 09:26 | |
u-ou | what's the diff. between does and but? | 09:28 | |
I think it's just that but clones the object and does does not | |||
09:32
wamba left
09:34
bjz joined
09:38
TEttinger left
09:48
Guest37478 left,
salv0 joined
09:50
AlexDaniel joined
09:51
Ven joined,
Ven is now known as Guest2485
|
|||
tbrowder | .tell ugexe zef fails to install Text::Abbrev | 09:52 | |
yoleaux | tbrowder: I'll pass your message to ugexe. | ||
09:52
wamba joined
10:00
Cabanossi left,
Cabanossi joined
10:03
xtreak left
|
|||