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