»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:02
mcmillhj joined
00:06
skids joined,
mcmillhj left
00:07
mcmillhj joined
00:08
Cabanossi left
00:09
BenGoldberg joined,
Cabanossi joined
00:12
skids left
00:24
mcmillhj left
00:27
aindilis joined
00:33
mcmillhj joined
00:37
Cabanossi left
00:39
mcmillhj left,
Cabanossi joined
|
|||
samcv | oh my. what have i done github.com/Juerd/p6-mqtt/commit/21...7d7493db08 | 00:52 | |
yoleaux | 12 Jun 2017 18:48Z <eveo> samcv: on 6.c-errata t/spec/S15-nfg/grapheme-break.t now fails 3 Regional_Indicator tests. Are the tests wrong? | ||
samcv | what have i done! | ||
i suggested they not do that :P but. hah github.com/Juerd/p6-mqtt/issues/3 | 00:53 | ||
i did give them the idea | |||
i guess it's not that bad to be honest | |||
sammers | ha | ||
samcv | see my last link for the backstory on it | 00:54 | |
00:54
mcmillhj joined
|
|||
sammers | yeah | 00:54 | |
samcv | though it *is* artistic-2.0 licensed so technically they did follow that advice | 00:56 | |
technically.. | |||
01:00
skids joined
01:02
mcmillhj left
01:03
ramortegui left
|
|||
Juerd | samcv: Don't feel sorry. It's a wonderful license! | 01:03 | |
The only thing we should fear about the "any OSI" license is that one day perhaps this license itself might be listed as an OSI compliant license, in which it becomes recursive... | 01:05 | ||
01:08
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
samcv | "any OSI license" becomes an official OSI license :P | 01:11 | |
haha | |||
tbh i'm totally fine with what you did. when zef gets good features of white and blacklisting licenses it should work as expected letting people install your software if they've whitelisted any OSI approved license | |||
so that is nice | |||
and now that it's explicitly in the metadata it becomes more clear you literally mean any OSI license :P | 01:13 | ||
01:13
mcmillhj joined
|
|||
timotimo | under what license is the list of spdx licenses distributed? | 01:13 | |
samcv | cc0-1.0 | 01:14 | |
it says here github.com/sindresorhus/spdx-license-list/ | |||
TEttinger | CC0-1.0 isn't OSI-approved, IIRC | 01:15 | |
I have code that's CC0 just because I don't know a better way of public domain declaration | |||
samcv | unless that's just the list | ||
TEttinger | it's pretty confusing | ||
samcv | TEttinger, CC0 is fine though as far as OSI is concerned | ||
the reason it was rejected. is because it says in the text that the license doesn't affect any patents | 01:16 | ||
which is basically the case for public domain | |||
and they didn't want to set a precedent to include licenses which specified in writing that it didn't affect patents | |||
The most serious of the concerns raised had to do with the effects of clause 4(a), which reads: "No ... patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.". While many open source licenses simply do not mention patents, it is exceedingly rare for open source licenses to explicitly disclaim any conveyance of patent rights, and the Committee felt that approving such a license would set a | 01:17 | ||
dangerous precedent, and possibly even weaken patent infringement defenses available to users of software released under CC0. | |||
TEttinger | opensource.org/faq#cc-zero is really confusing still | ||
samcv | it's a fine license. they just don't want to start going admiting patent restricting licenses | ||
as slippery slope or something? i think cc0 is FSF approved | |||
TEttinger | I don't especially understand patent/trademark law, not having made enough sacrifices of goats to mammon to pass the bar exam | 01:18 | |
01:18
lichtkind left
|
|||
samcv | FSF wants it to grant the licencee patent use rights OR just not mention it at all | 01:18 | |
because their hope is that somehow a court will rule that a license implies patent use rights or something? idk | 01:19 | ||
the area of patents and Free software licenses which don't mention them is very murky | |||
TEttinger | ah | ||
you've seen the amazing work that went into finding an illegal prime and publishing it? | |||
samcv | oh? | 01:20 | |
TEttinger | en.wikipedia.org/wiki/Illegal_prime | ||
samcv checks with her lawyer before clicking | |||
01:21
mcmillhj left
|
|||
samcv | DeCSS can be acomplished with just a prime number? | 01:21 | |
TEttinger | two primes actually | ||
either works | 01:22 | ||
one is 1401 digits, the other 1905 digits (base 10) | |||
so... really huge | |||
samcv | so the DeCSS code doesn't work until you get the prime number? | 01:23 | |
TEttinger | the numbers are represented in binary in an identical way to the compressed form of the DeCSS algo | ||
samcv | was that prime number used in the creation of the CSS copyright production? | ||
TEttinger | nope | ||
Juerd | samcv: Via your site I found Pygments, and I had to try the hardest thing I could think of... I wonder if they'll support nested quotes :D bitbucket.org/birkenfeld/pygments-...ble-quotes | ||
samcv | or is it just data stored in a prime | ||
TEttinger | primes are prior art | ||
samcv | yeah | ||
heh Juerd | |||
if you are really cool you can make/find a plugin for jekyll which does perl 6 highlighting | 01:24 | ||
via my perl 6 highlighter that's used in atom/github/docs.perl6.org | |||
that would be pretty neat | |||
i'm sure it's not "that" hard to do | |||
since i got it working for docs.perl6.org | |||
that highlights properly in my highleghter | 01:25 | ||
01:25
lookatme left
|
|||
Juerd | samcv: I don't think I'm cool enough for that... | 01:25 | |
samcv | k :3 | ||
Juerd | Basically I shouldn't spend too much time on side projects but I find time for short bug reports now and then... | 01:26 | |
samcv | heh | ||
since github uses jekyll for github pages and they made highlights... maybe someday they'll do it | 01:27 | ||
though i think it must be different servers which run that stuff than the other github stuff.. | |||
01:36
Cabanossi left
01:39
Cabanossi joined
01:45
ilbot3 left
01:47
ilbot3 joined,
ChanServ sets mode: +v ilbot3
01:49
mcmillhj joined
01:54
Ben_Goldberg joined,
mcmillhj left
01:55
BenGoldberg left
01:58
Ben_Goldberg left
02:02
skids left
02:05
bioduds joined
02:06
mcmillhj joined,
Cabanossi left
02:09
Cabanossi joined
02:14
mcmillhj left
02:21
Sense8 joined
02:22
mcmillhj joined
02:24
BenGoldberg joined
02:33
skids joined
02:34
pilne left
02:36
noganex joined
02:37
Cabanossi left
02:38
noganex_ left
02:39
Cabanossi joined
02:41
xinming joined
02:44
xinming_ left
02:50
mcmillhj left
02:51
anon joined
02:52
anon is now known as Guest67551
03:01
mcmillhj joined
03:05
skids left
03:08
skids joined
03:09
mcmillhj left
03:25
uberbaud joined
03:46
aborazmeh left
03:48
mcmillhj joined
03:50
uberbaud left
03:52
Cabanossi left,
mcmillhj left
03:53
Cabanossi joined
03:54
mcmillhj joined
03:58
mcmillhj left
04:10
kurahaupo left
04:12
|oLa| joined,
kurahaupo joined
04:18
cpage__ joined
04:19
cpage_ left,
cpage__ is now known as cpage_
04:21
skids left
04:26
AlexDaniel left
04:31
BenGoldberg left
04:43
curan joined
04:47
skids joined
04:50
khw left
04:58
skids left
05:24
xtreak joined
05:31
kent\n left
05:35
kurahaupo left,
kurahaupo joined,
kurahaupo left,
kent\n joined
05:36
kurahaupo_ joined,
Cabanossi left
05:37
kurahaupo_ left,
maettu joined,
kurahaupo_ joined
05:38
Cabanossi joined
05:39
kurahaupo_ left,
kurahaupo joined
05:40
kurahaupo left,
kurahaupo joined
05:47
domidumont joined
05:48
lowbro joined,
lowbro left,
lowbro joined
05:52
cpage_ left
05:53
cpage_ joined
05:57
domidumont left
06:02
espadrine joined
06:03
wamba joined
06:18
Gruber joined
06:19
kaare__ joined
06:20
Grrrr left,
kaare_ left
06:27
domidumont joined
06:35
Cabanossi left
06:38
Cabanossi joined
|
|||
DrForr_ | o/ | 06:40 | |
yoleaux | 6 Jun 2017 21:42Z <tbrowder> DrForr_: you have a new PR for Perl6::Parser | ||
DrForr_ | .tell tbrowder Committed (somewhat blindly - I've recently had many other things on my mind.) | 06:42 | |
yoleaux | DrForr_: I'll pass your message to tbrowder. | ||
El_Che | DrForr_ is alive! | 06:45 | |
06:47
DrForr_ is now known as DrForr
|
|||
El_Che | Ah, it's DrForr and not DrForr_, took you for someone else | 06:48 | |
DrForr | github.com/drforr/angular-perl6-blog # Do your Angular development with a Perl 6 back end, other feature ideas. | ||
*other ideas to come along. | 06:49 | ||
06:50
kurahaupo_ joined
06:51
kurahaupo__ joined
06:52
kurahaupo__ left,
kurahaupo__ joined,
kurahaupo_ left
06:53
kurahaupo left
06:58
rindolf joined
06:59
scimon joined
07:03
ChoHag joined
07:04
Sense8 left
07:09
lizmat left
07:15
abraxxa joined
07:17
domidumont left,
domidumont joined
07:23
lizmat joined
07:34
cpage_ left
07:36
cpage_ joined
07:38
wamba left
07:43
dakkar joined
07:50
committable6 left
07:57
espadrine left
08:00
chee left,
integral_ left
|
|||
lizmat clickbaits p6weekly.wordpress.com/2017/06/12/...ty-sorted/ | 08:00 | ||
08:02
chee joined
08:03
jonas2 joined
08:05
Cabanossi left
08:08
Cabanossi joined,
nattefrost joined
08:16
xtreak left,
xtreak joined
08:17
salv0 joined
08:20
astj_ left,
astj joined,
robertle joined,
xtreak_ joined
08:21
xtreak left
|
|||
DrForr | o/ Ah, we have a newsgroup now.. or have had for a while, but I've been too lazy. | 08:21 | |
08:21
zengargoyle left
08:25
zengargoyle joined
08:29
wamba joined
08:30
pmurias joined
08:35
Cabanossi left
08:38
Cabanossi joined
08:43
kurahaupo joined
08:44
kurahaupo left
08:45
kurahaupo joined
08:46
kurahaupo__ left
08:47
kurahaupo_ joined
08:49
nadim_ joined,
kurahaupo left,
kurahaupo joined,
kurahaupo_ left
08:50
cpage_ left,
kurahaupo_ joined,
kurahaupo_ left
08:51
zakharyas joined,
kurahaupo_ joined
08:54
kurahaupo left
09:02
xtreak_ left
09:03
xtreak joined
09:05
xtreak left,
xtreak joined
09:38
cpage_ joined
09:42
kurahaupo joined,
kurahaupo left
09:43
kurahaupo joined
09:44
kurahaupo__ joined
09:46
kurahaupo_ left
09:48
kurahaupo left
09:50
Cabanossi left
09:53
Cabanossi joined
09:56
kurahaupo__ left,
kurahaupo joined
09:58
JimmyZ joined
10:07
zakharyas left,
mr-fooba_ joined
10:09
mr-foobar left
|
|||
Geth | doc: 78831c390d | (Lloyd Fournier)++ (committed using GitHub Web editor) | doc/Type/Proc/Async.pod6 Proc::Async.write returns a promise |
10:16 | |
ecosystem: 8b94cc700a | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list Remove deleted module irclog.perlgeek.de/perl6-dev/2017-...i_14724942 |
10:35 | ||
10:37
robertle left
10:40
ramortegui joined,
ramortegui left
10:42
travis-ci joined
|
|||
travis-ci | Doc build errored. Lloyd Fournier 'Proc::Async.write returns a promise' | 10:42 | |
travis-ci.org/perl6/doc/builds/242361283 github.com/perl6/doc/compare/95a0d...831c390d4a | |||
10:42
travis-ci left
|
|||
Geth | doc: 9492cb6002 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO.pod6 Fix typo |
10:42 | |
10:51
Cabanossi left
|
|||
Geth | doc: 02b2990c34 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO.pod6 Reword/expand &indir - Reword to avoid implying $*CWD is set *to* $path; a derivative object is actually created - Document relative $path gets changed to absolute at all times (this avoids some issues, since some things expect $*CWD to .Str to an absolute path) |
10:52 | |
tbrowder | DrForr: hi, Perl6::Parser needs another rename (_build-tree to build-tree) to get testes to pass), new PR on deck | ||
yoleaux | 06:42Z <DrForr_> tbrowder: Committed (somewhat blindly - I've recently had many other things on my mind.) | ||
10:53
Cabanossi joined
|
|||
tbrowder | i understand, looking forward to yr presentation in dc | 10:55 | |
11:00
zakharyas joined
11:03
travis-ci joined
|
|||
travis-ci | Doc build errored. Zoffix Znet 'Reword/expand &indir | 11:03 | |
travis-ci.org/perl6/doc/builds/242371409 github.com/perl6/doc/compare/9492c...b2990c34bd | |||
11:03
travis-ci left
11:20
nadim_ left,
nadim_ joined,
cognominal joined
11:25
travis-ci joined
|
|||
travis-ci | Doc build errored. Zoffix Znet 'Fix typo' | 11:25 | |
travis-ci.org/perl6/doc/builds/242368687 github.com/perl6/doc/compare/78831...92cb600227 | |||
11:25
travis-ci left
11:28
zakharyas left
11:43
xtreak left
11:44
kurahaupo left,
xtreak joined,
kurahaupo joined
11:46
xtreak left,
xtreak joined
11:47
kurahaupo left,
kurahaupo_ joined,
kurahaupo_ left
11:49
kurahaupo joined
11:51
xtreak left,
Cabanossi left
11:53
Cabanossi joined,
bwisti joined
12:02
wamba left
12:03
ctilmes joined
12:16
raschipi joined
12:21
araraloren joined
|
|||
araraloren | evening | 12:21 | |
12:23
wamba joined
|
|||
nadim_ | afternoon | 12:24 | |
raschipi | morning | 12:26 | |
yoleaux | 12 Jun 2017 22:49Z <pilne> raschipi: "thank you for the pointer to sparrowdo" | ||
12:30
committable6 joined,
ChanServ sets mode: +v committable6,
committable6 left
12:31
committable6 joined,
ChanServ sets mode: +v committable6
12:33
esh left
|
|||
DrForr | %appropriate_greeting<local>; | 12:37 | |
12:42
skids joined
12:44
esh joined
12:46
esh left
12:48
esh joined,
mcmillhj joined
12:50
skids left
12:52
mcmillhj left
|
|||
raschipi | lizmat: EC::Grammars::DIG was written by Eduardo Capanema (bioduds), not me. Sorry for the confusion on the commits to the ecosyetm. | 12:54 | |
lizmat | raschipi++ # fixed | 12:55 | |
raschipi | Thanks. | 12:56 | |
12:59
bdmatatu joined
13:00
mcmillhj joined,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
pmurias | DrForr: re calling Perl 6 compiled to JS "PerlScript", something called PerlScript already exists (and is some Active Scripting Windowsy thing) | 13:01 | |
bioduds | Hi guys | 13:03 | |
Got IO::Socket::Async to work which is better cause it sets me free and does not require threading in incoming signals | |||
tbrowder | fyi, i have a rough working linter that counts pod begin/end lines as well as open/close lines. see at: github.com/tbrowder/Perl6-Linter-Lite | 13:09 | |
pmurias | DrForr: I looked into how the create-react-app build things and they are using webpack (I have hooked up nqp.js in the past into webpack) so I should be able to hook up rakudo.js into it | 13:10 | |
masak | IMHO, Perl 6 compiled to JavaScript is either Perl 6, or JavaScript, depending how you see it ;) | 13:12 | |
abraxxa | zostay: can you please release a new DOM::Tiny with the license fix included so it can be installed with zef without the failing test? Thanks! | 13:14 | |
zostay | Sure | ||
I thought I had already, hmmm | 13:15 | ||
13:17
zakharyas joined
|
|||
pmurias | the tests that rakudo does not run but are in roast are not part of 6.c? | 13:19 | |
13:21
nightfrog joined
13:22
nightfrog is now known as culb
|
|||
zostay | And so I did... I'm on my phone atm and I am not seeing why the ecosystem is not picking up the current version | 13:27 | |
bioduds | seems like it is hanging though | 13:28 | |
perigrin | pmurias: it's libperl set up as a WIndows Scripting HOst language so you can write ASP or Excel macros in Perl rather than VBScript | 13:30 | |
zengargoyle | abraxxa: i just installed DOM::Tiny via zef without any problem. | 13:31 | |
Installing: DOM::Tiny:ver('0.3.3'):auth('github:zostay') | 13:32 | ||
abraxxa | I got a test failure regarding the 'Artistic' license which isn't listed at spdx.org/licenses/ | ||
13:32
cdg joined
|
|||
abraxxa | don't have the shell log open any more though | 13:32 | |
zengargoyle | "license" : "Artistic-2.0", --- you might be picking up an older version, maybe check that zef is up-to-date or maybe `zef update` for older zef? | 13:34 | |
13:38
vike left
13:39
aborazmeh left
|
|||
bioduds | if I ctrl+c the programm running the Async listener and try to run it again | 13:40 | |
it hangs | |||
well, actually it hanged | |||
not hanging anymore | |||
zengargoyle | it does take a while to test, 105 files 1022 tests, 56 seconds on the desktop. | ||
DrForr | pmurias: Good to know. It caused some serious conflicts when I was trying to work with more "regular" CSS so I haven't focussed on that much, but I think that replacing Typescript or at least compressing it into something Perlish is another option, that might also not require the need for the JS backend. Not that I don't *want* a JS backend for Perl 6, I'm just afraid the tooling we'd have to do for the libraries would fall out of sync too fast | 13:41 | |
13:47
ufobat joined
|
|||
ufobat | i am a cpan newbie. i am currently looking on what to do, in order to get the good tarball for Bailador for pause. if anyone has a hint i would appreciate it | 13:49 | |
zengargoyle | ufobat: do you mean creating a Ballador-X.Y.Z.tar.gz file to upload? | 13:54 | |
ufobat | i know App::Mi6 | ||
i am currently wondering why it "changes" my META6.json | 13:55 | ||
but actually, i dont want to make something wrong and want to avoid pitfalls | |||
zengargoyle, yes :) | |||
zengargoyle | well, i *think* App::Mi6 misses putting in a MANIFEST file, but i'm not really sure if it's mandatory or not. | ||
ufobat: mi6 mostly just re-orders META by pretty-printing the json and alphabetizing things. | 13:56 | ||
i found that out yesterday by putting my old META and the new META through `jq -S .` to make them the same level of pretty and doing a diff. | 13:57 | ||
ufobat | and kills my README.md | ||
zengargoyle | it ordered keys and changed '"key": "value"' to '"key" : "value' | ||
it generated README.md from the Module.pm6 POD text. | 13:58 | ||
ufobat | ah | ||
so bacially i can discard both hanges | |||
pmurias | DrForr: you had the problem with react using class for it's own purposes? | ||
zengargoyle | yeah... not so sure about that. | ||
pmurias | DrForr: it uses className for the CSS class, the DOM uses className too because it's a keyword in | 13:59 | |
13:59
lowbro left
|
|||
ufobat | because for cpan the POD is important not the README.md? | 13:59 | |
b2gills | README.md is for GitHub | 14:01 | |
pmurias | DrForr: what do you mean by replacing Typescript? | ||
zengargoyle | i think that's just the way it 'automates' things. build the README.md from the main Module.pm6 POD. it might be better if it left a README.md alone and created a README.pod so you could have both. | ||
ufobat | okay! i am going to put this on my todo list :-) thanks for your help | 14:02 | |
zengargoyle | it means you have to put your travis build status icons and stuff in your pod somehow... seems LTA. | 14:03 | |
you could just build the tarball yourself... | |||
git ls-files > MANIFEST; edit MANIFEST and take out .gitignore, .travis.yml, .precomp dirs, etc.; tar --files-from=MANIFEST zcf /tmp/Module-X.Y.Z.tar.gz | 14:06 | ||
eh, forget that. more like make a Module-X.Y.Z directory and copy MANIFEST and the files in MANIFEST into the directory then tar the whole thing up. | 14:08 | ||
ufobat | i took the Folder which was generated by App::Mi6 and modified it a bit and recreated a tarball the same way app::mi6 does. | ||
zengargoyle | ah, cool. | 14:09 | |
[Coke] hurls github.com/perl6/doc/issues/1375 for some LHF. | |||
zengargoyle | i noticed mi6 makes Module-Name-v.X.Y which is a bit different than normal CPAN modules, but i don't think it matters that much. | 14:10 | |
ufobat | tarball is on pause | ||
so :) | |||
yay! | |||
zengargoyle | sweet! | ||
ufobat | i am in italy :) its vacation time | ||
time for a aperol spritz :) | |||
DrForr | pmurias: Perl 6 has to offer something beyond just being able to serve up Angular.js code, at least in my mind. Replacing TypeScript with somethng that can integrate a data model so that you can wrap up a model + data service into one package is just one notion. | 14:11 | |
[Coke] | anyone here going to TPC next week? | 14:12 | |
DrForr | Unfortunately no :( | ||
ufobat | i just noticed mi6 doesn't create a MANIFEST file | ||
zengargoyle | see above for what it does when building the dist directory. | 14:13 | |
ufobat | *nod* | 14:14 | |
14:14
pmurias left
|
|||
zengargoyle | let us know if PAUSE works without the MANIFEST :) | 14:14 | |
my old mbtiny generated p5 modules have the MANIFEST, | 14:16 | ||
14:18
wamba left
|
|||
ufobat | the log doesn't show a error, (when) should it be displayed in metacpan.org? | 14:18 | |
zengargoyle | no clue, all my modules were just injected into a darkpan. | 14:19 | |
14:20
skids joined
|
|||
[Coke] decides that he can't take the last minute invite to the monday night dinner at TPC. Ah well. | 14:21 | ||
zengargoyle | i'm not sure if cpan/metacpan is doing anything with p6 things besides providing a Module::Name from the provides and mapping it to a tarball to download. not sure if it searches or displays them yet. | 14:25 | |
ufobat | mhmmm, how do i see if everything worked fine? | 14:27 | |
bioduds | address already in use | ||
hang | 14:28 | ||
let me post a gist | |||
14:28
khw joined
|
|||
zengargoyle | zef search zef -- shows it found in cpan and p6c. i'd guess when you search and it turns up found on cpan it's there. :) | 14:29 | |
raschipi | Now we need to show the pages for the modules and a search function. | 14:30 | |
zengargoyle | woot: 1 |Zef::Repository::Ecosystems<cpan>|Bailador:ver('0.0.4') | 14:31 | |
bioduds | gist.github.com/bioduds/fcb7d30703...df6cccda6a here | 14:32 | |
my guess is the thread is lost there | |||
raschipi | bioduds: when you send gists, send pure perl6 so that paeople can copy and paste. You can send messages with them, just add a '#' at the start of the lines that aren't valid Perl6. | 14:34 | |
zengargoyle | is it the 'address already in use' that's the problem? | 14:37 | |
ufobat | zengargoyle!!! :D thank you! | 14:38 | |
raschipi | IO::Socket::Async should choose a high port if one isn't provided. | 14:39 | |
14:39
bioduds left
14:40
bioduds joined
|
|||
bioduds | ok, done | 14:40 | |
14:40
robertle joined,
curan left
|
|||
zengargoyle | it's picking the same one, and the previous program even after exiting the OS is keeping that port open for a bit for the shutdown process. you need to add a flag to re-use. (i totally forget what the magic incantation is). | 14:41 | |
you don't need to reboot, you just need to wait longer for the socket to become available to be re-used again. | |||
raschipi | zengargoyle: What I would do is to choose a random port each time and return that to provide it to the other side of the connection. | 14:42 | |
zengargoyle | or open it with a flag that tells the OS that you're going to be closing and re-opening the same socket. | 14:43 | |
raschipi | That works too. But choosing a random port avoids other problems. | ||
Better, IO::Socket::Async should let the system chose an available high port if one isn't provided. | 14:44 | ||
14:44
zakharyas left
|
|||
raschipi | Which would be the way network clients usually work. | 14:45 | |
zengargoyle | ah, it's TIMEWAIT or something. if you kill the server while the client still has the connection open, the server OS is going to have to wait for the client to finish up the TCP connection. so you can't restart the server until the client that's connected has given up. | ||
you need a socket with SO_REUSEADDR set. | 14:46 | ||
www.unixguide.net/network/socketfaq/4.5.shtml | 14:47 | ||
14:47
ufobat left
|
|||
zengargoyle | it's usually something you can set in your server code when opening the socket. | 14:48 | |
bioduds | reading... irc crashed | 14:49 | |
let me look for the flag | 14:50 | ||
raschipi | But these options aren't being exposed by IO::Socket::Async ... | ||
zengargoyle | that definately may be the case. :) | ||
but that's in general why you can't have a server that listens on port X and then kill it and listen on port X again. there is sometimes a still in progress TCP session between X and the client that has to finish before the port is available again, unless you set that flag when you open X, then it's OK (as long as you were the previous owner i think). | 14:53 | ||
bioduds | sorry, you mean directly? | 14:54 | |
by forcing? | |||
raschipi | bioduds: It's available in the OS interface but it isn't exposed by Perl6 | 14:55 | |
You'll have to walk around that limitation for now. | 14:56 | ||
bioduds | so it would be done by running a system command, for instance? | ||
to clear out the port? | |||
raschipi | We would call it "NativeCall" | ||
bioduds | ok, let me look for it | 14:57 | |
thanks :D | |||
14:57
st_elmo joined
|
|||
zengargoyle | bioduds: if you waited long enough, you wouldn't have to reboot the server to re-bind to the socket, it would eventually timeout. | 14:57 | |
bioduds: you do p5 right? | 14:59 | ||
bioduds | yes | ||
zengargoyle | perldoc IO::Socket::INET -- ReuseAddr Set SO_REUSEADDR before binding | 15:00 | |
if p6 Socket had that option, you could use it and not get the error about address already in use. | 15:01 | ||
or if your client shutdown properly before you killed the server, it would probably not happen at all. | 15:02 | ||
15:02
vetmaster joined
|
|||
zengargoyle | when you're killing your client and server, the TCP connection remains alive because it didn't go through the TCP shutdown procedure, so the ports used by the client and server are still open and in-use, they will eventually time-out and be reclaimed. | 15:05 | |
before that happens, you can't re-start the server on the same port without using that SO_REUSEADDR flag to say "it's ok if it's still waiting for a timeout". | 15:06 | ||
if you wait long enough, it will timeout and you can re-start the server without any problem. | |||
15:09
cdg left
15:10
cdg joined
|
|||
lucs | m: say <a b c>.map({ $_, $_.uc }).join('|'); # Why are there spaces between the letters? | 15:16 | |
camelia | a A|b B|c C | ||
lucs | (in the output, that is) | 15:17 | |
15:21
cdg left
|
|||
[Coke] | m: say <a b c>.map({ $_, $_.uc }).join('|').perl; | 15:21 | |
camelia | "a A|b B|c C" | ||
15:21
cdg joined
|
|||
[Coke] | m: say <a b c>.map({ $_, $_.uc }).perl; | 15:21 | |
camelia | (("a", "A"), ("b", "B"), ("c", "C")).Seq | ||
[Coke] | ^^ because you're stringifying elements that are lists, and then joining those elements. | 15:22 | |
m: say <a b> | |||
camelia | (a b) | ||
[Coke] | so, same reason there's a space there. | ||
15:22
jonas2 left
|
|||
lucs | Hmm... | 15:22 | |
[Coke] | m: say <a b c>.map({ $_, $_.uc }).flat.join('|').perl; | ||
camelia | "a|A|b|B|c|C" | ||
[Coke] | you can flatten the list before joining, if you like. | 15:23 | |
m: say <a b c>.map(|{ $_, $_.uc }).join('|').perl; # does this work? | |||
camelia | "a A|b B|c C" | ||
dogbert17_ | m: <a b c>.map(|{ $_, $_.uc }) | ||
camelia | ( no output ) | ||
dogbert17_ | m: say <a b c>.map(|{ $_, $_.uc }) | ||
camelia | ((a A) (b B) (c C)) | ||
15:27
abraxxa left
15:29
zakharyas joined
|
|||
raschipi | m: say <a b c>.map( {|($_, $_.uc)} ) | 15:29 | |
camelia | (a A b B c C) | ||
dogbert17_ | say <a b c>.map( {|($_, $_.uc)} ).join('|') | 15:31 | |
evalable6 | a|A|b|B|c|C | ||
zengargoyle | bioduds: not that you should, but you could try to use ssh to forward a port between the client machine and the server, then hopefully if you kill the ssh, the ports will close in a well handled fashion. | 15:32 | |
Geth | doc: 5e30f3cbed | (Lloyd Fournier)++ (committed using GitHub Web editor) | doc/Type/Proc/Async.pod6 Put space after --> to give it the same style as the others |
15:37 | |
15:41
araujo joined,
araujo left,
araujo joined
|
|||
zengargoyle | bioduds: ssh -N -L 5000:localhost:$SERVER_PORT $SERVER &; ./client localhost 5000; # killing the ssh would close TCP session correctly (most likely) | 15:41 | |
15:42
Reed_ joined
15:43
domidumont left,
Reed_ left
15:47
araraloren left
|
|||
geekosaur | it does not | 15:49 | |
ssh will keep the session open as long as the forwarded connection is open. if you forcibly kill ssh then the connection is reset (i.e. both ends get TCP RST) | 15:50 | ||
zengargoyle | bummer, i thought that would be clever. :/ | 15:51 | |
geekosaur | "close the session correctly" requires more than just a TCP close for many protocols; things are more likely to recover properly for an RST than if the session is closed correctly at TCP level but not at the level of the logical connection | ||
zengargoyle | wait, isn't that enough that the server port would be released? | 15:52 | |
geekosaur | also, SHUTDOWN wait applies even for properly closed connections so you still need SO_REUSEADDR/SO_REUSEPORT to restart | 15:53 | |
(because networks are not always 100% reliable so it wants time to catch any stray packets that get delivered post-shutdown) | 15:54 | ||
15:54
grondilu left
|
|||
geekosaur | "it" here being the kernel TCP stack | 15:54 | |
15:58
grondilu joined
15:59
cdg left,
cdg joined
16:01
scimon left
|
|||
raschipi | bioduds: If you want to solve it immediatly, do a 'my $port = (1024..65535).pick' before starting the client and server and have them use a different port each time. | 16:01 | |
16:03
bdmatatu left
|
|||
zengargoyle | and have a simple web server that only serves a single file on the server, have the server code write the port to the file, have the client use WWW to get the port to connect to. :) | 16:04 | |
16:04
BenGoldberg joined
|
|||
raschipi | Or do it with the proper tool, rpcbind | 16:05 | |
zengargoyle | heh | 16:06 | |
geekosaur | if you do it that way then you really need to check if the bind succeeded and if not increment the port and try again | ||
16:07
cdg left
|
|||
zengargoyle | surely there's some more web-scale solution. | 16:07 | |
geekosaur | most servers just use the SO_REUSE* flags | 16:08 | |
zengargoyle | for rpcbind | ||
like etcd or something. | |||
raschipi | Get the network interface configured with many ip adresses and use a different one in each connection | ||
zengargoyle | just have the server start at 9000 and go up until it finds one, and have client try connecting from 9000 up until it connects. | 16:09 | |
raschipi | Works until the client connects to the wrong server | 16:10 | |
zengargoyle | that's a test. :) | ||
16:14
robertle left
|
|||
vetmaster | m6: say 2 ~~ /\w/ | 16:20 | |
m: say 2 ~~ /\w/ | |||
camelia | 「2」 | ||
16:22
travis-ci joined
|
|||
travis-ci | Doc build errored. Lloyd Fournier 'Put space after --> | 16:22 | |
travis-ci.org/perl6/doc/builds/242472793 github.com/perl6/doc/compare/02b29...30f3cbed87 | |||
16:22
travis-ci left
|
|||
bioduds | sorry I was out | 16:25 | |
zengargoyle | bioduds: you're probably struck with passing a in a port for your server to start on and telling the client to use that port and cycling through ports until you find one. | 16:26 | |
s/struck/stuck/ | 16:27 | ||
vetmaster | pastebin.com/z0C1dhxy | 16:28 | |
why this prints 'alp' instead of 'alp!;abet'? | 16:29 | ||
bioduds | I like the idea raschipi but doesn't that rely on the node having all ports opened? | ||
16:30
domidumont joined
16:31
Actualeyes left
|
|||
bioduds | nice solutions | 16:31 | |
raschipi | bioduds: No, it will chose a port and use only one. | 16:32 | |
Or should I say it will pick a port | 16:33 | ||
zengargoyle | bioduds: why aren't you testing on your own machine? it seems like it would be easier to get working. | ||
bioduds | because I already did locally | ||
16:33
araujo left
|
|||
zengargoyle | ah, nevermind. | 16:33 | |
bioduds | now I putted up a node on AWS to test | ||
so one node is local the other on AWS | 16:34 | ||
zengargoyle | right, raschipi: server on AWS so port opening is a thing. | ||
bioduds | I might consider using INET too if the forking pipeline is fine | 16:35 | |
geekosaur | doesn't aws have some elastic binding for this kind of thing? | ||
bioduds | because it also leaves opened bidirectional communication | 16:36 | |
16:36
andrzejk_ joined
|
|||
vetmaster | pastebin.com/z0C1dhxy | 16:36 | |
why this prints 'alp' instead of 'alp!;abet'? | |||
bioduds | I'm not building a server, it is a P2P network | ||
vetmaster | why does this print 'alp' instead of 'alp!;abet'? | ||
raschipi | vetmaster: It's looking for digit or punct between two alpha, but the string has 2 punct between alpha, so it doesn't match. | ||
zengargoyle | i would open a small range and try the server listen one each until one works, then print it. that's the way vnc worked. | ||
bioduds | I gotta make it so any computer can have it working | ||
with minimal requirements | 16:37 | ||
geekosaur | bioduds, you get to go learn how p2p networks handle this kind of thing | ||
raschipi | bioduds: the way zengargoyle is suggesting is a good way of doing it. | ||
bioduds | yes, I do | ||
zengargoyle | just to get around the start/stop/address in use thing. | ||
bioduds | in special, bitcoin | ||
I need to catch up on that knowledger part, I agree | 16:38 | ||
geekosaur | againm the right answer to that is to use the SO_REUSE* options | ||
zengargoyle | i took a peek at IO::Socket::INET/Async code and there's no obvious way to hack in SO_REUSE* at least for me.... it quickly goes down into nqp land. | ||
bioduds | one question, how would I go around threading in Perl6? | ||
16:38
mr-fooba_ left
|
|||
zengargoyle | it creates and binds or listens all in one little place. | 16:39 | |
bioduds | cause INET does not seem to run into this problem | ||
16:39
mr-foobar joined
|
|||
zengargoyle | INET would have the same address already in use problems. | 16:40 | |
unless you're talking about some other problem. | |||
geekosaur | you likely want to talk to (I think) jnthn about that while the code is still being modified, exporting some way to do that would be smart | 16:42 | |
bioduds | the benefit of going Async is not having to deal with the threads | ||
geekosaur | most servers need to use the reuse options so they can be restarted without having to sit out TIME_WAIT | ||
bioduds | surely | ||
geekosaur | and 99.99% of the time any stray packets will be caught by the sequence number | ||
bioduds | I'll get into the REUSE, can you point me out to a link? | 16:43 | |
so I can try to learn it | |||
geekosaur | stackoverflow.com/questions/322986...tion-linux | ||
it just tells the tcp stack to let you use an address/port that is in TIME_WAIT state | 16:44 | ||
bioduds | yeah, that seems like the way to go | ||
geekosaur | (SO_REUSEADDR, SO_REUSEPORT; a port is identified uniquely by its bind address and port number) | ||
bioduds | I left it running for about an hour here and it stopped | ||
zengargoyle | neither INET nor Async have it so.... | 16:45 | |
bioduds | so it kinds of floods the com channel somehow | ||
looks like memory leak | |||
jnthn | github.com/MoarVM/MoarVM/blob/mast...ket.c#L309 | ||
bioduds | hi jnthn, reading it | ||
jnthn | SO_REUSEADDR is set by libuv automatically, and when recently porting sync sockets away from libuv I replicated it | 16:46 | |
So SO_REUSEADDR should be being set in both cases, afaik | |||
bioduds | oh | 16:47 | |
zengargoyle | SO_REUSEPORT? | ||
bioduds | that means something else is going on then | ||
since it is built in | |||
jnthn | SO_REUSEPORT ain't being | ||
bioduds | any thoughts? on what could be the cause? | 16:48 | |
16:48
Util joined
|
|||
bioduds | memory? | 16:48 | |
as I said, I did not catch that on INET, only with Async | |||
jnthn | What's the problem you're having? | 16:50 | |
bioduds | gist.github.com/bioduds/fcb7d30703...df6cccda6a this, every once in a while | ||
jnthn | Trying to find where this started in the chat but there's a lot of it :P | ||
bioduds | it's there in the gist, I think it is somewhat simple to understand. I'm setting a P2P com tests. i have one code on my PC running Mint and the client node on AWS ubuntu | 16:51 | |
so I get the send and receive well | |||
no problem. But sometimes it refuses the connection | |||
saying address already in use | 16:52 | ||
zengargoyle is now really confused if SO_REUSEADDR is set and you can't kill a server and restart it w/o getting address allready in use error. | |||
bioduds | then only thing that helps is rebooting the AWS | ||
jnthn | bioduds: Which side gives you that error? The server one? | ||
(I'm figuring that's surely the case but... :)) | 16:53 | ||
16:53
cgfbee left
|
|||
jnthn | oh wait, no, the client one?! | 16:53 | |
bioduds | the server, though there is no server client actually since it is a p2p | 16:54 | |
no, the server actually | |||
jnthn | ah, ok | ||
I was confused by the ~/client :) | |||
bioduds | yep, cause it is p2p | ||
so there isn't actually client and server | 16:55 | ||
jnthn | Yeah, I didn't know that bit :) | ||
bioduds | but when a node calls, he is the client | ||
and the receiver node is the server | |||
atta | hi. how can I format numbers as in: I have 10000 and I want to print 10_000? I've already searched in the documentation, but couldn't find it | ||
16:56
cgfbee joined
|
|||
jnthn | bioduds: Yeah, just checked again in libuv and it's certainly setting the option... | 16:56 | |
on = 1; | |||
if (setsockopt(tcp->io_watcher.fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on))) | |||
return -errno; | |||
bioduds | ok, so we can be sure this is not happening because the SO_REUSEADDR is set | 16:57 | |
not set | |||
it is set | |||
I mean | |||
jnthn | I got exactly the behavior you're describing when I was porting sync sokcets away from libuv fwiw | ||
16:58
domidumont left
|
|||
jnthn | And it went away when I started setting SO_REUSEADDR again | 16:58 | |
16:58
troys joined
|
|||
jnthn | So yeah, the error is familiar...but I don't think that could be the cause | 16:58 | |
Time to head home and eat...bbl o/ | 16:59 | ||
zengargoyle | bioduds: and this same code worked on localhost right? | ||
bioduds | on localhost I didn't catch that | ||
zengargoyle wonders if AWS is *that* special. | |||
bioduds | I'll run a local and let it stay for test | 17:00 | |
zengargoyle | maybe different kernel sysctls | ||
bioduds | I may not have tested it enough | ||
17:00
xzhao left
|
|||
bioduds | I'm assuming I have the same kernel | 17:00 | |
Mint is Ubuntu, right? | |||
17:01
xzhao joined
|
|||
zengargoyle | well i'm only thinking about the address in use problem. don't know enough about the Async and such to be of any use. | 17:01 | |
there may be sysctls that change behavior that would effect SO_REUSE, but i've never run across any. | 17:02 | ||
geekosaur | there's usually a way to shorten TIME_WAIT, it's commonly shortened a lot on web servers because you can easily end up with a bunch of client connection ports all in TIME_WAIT and no free ports to accept new connections on | 17:07 | |
65536 ports is a *really* tiny number on modern servers | |||
17:10
pilne joined
|
|||
zengargoyle | net.ipv4.tcp_fin_timeout | 17:13 | |
zengargoyle has only played with some congestion algo and buffer sizes to push 10Gbs halfway around the world. | 17:15 | ||
17:16
khw left
|
|||
raschipi | m: 12345678901011121314.flip.comb(3).join('_').flip #atta | 17:16 | |
camelia | ( no output ) | ||
raschipi | m: 12345678901011121314.flip.comb(3).join('_').flip.say #atta | ||
camelia | 12_345_678_901_011_121_314 | ||
zengargoyle | wow, comb does numbers that way. :) | 17:17 | |
17:19
dakkar left
|
|||
zengargoyle | m: 12345678901011121314.flip.subst(/.../,$/~'_',:g).flip.say | 17:20 | |
camelia | Use of Nil in string context in block <unit> at <tmp> line 1 12______ |
17:21 | |
zengargoyle | wat! that works in repl. | ||
m: 12345678901011121314.Str.flip.subst(/.../,$/~'_',:g).flip.say | 17:23 | ||
camelia | Use of Nil in string context in block <unit> at <tmp> line 1 12______ |
||
atta | raschipi, zengargoyle: thanks! :) | 17:26 | |
17:27
zakharyas left
17:29
ChoHag left
17:30
eveo joined
|
|||
eveo | zengargoyle: you're missing a block | 17:30 | |
m: 12345678901011121314.Str.flip.subst(/.../, {$/~'_'},:g).flip.say | |||
camelia | 12_345_678_901_011_121_314 | ||
eveo | It probably works in your REPL because your $/ ended up being set to a right Match. If I load REPL and run your line, it still has the same error, because it's stringifying the wrong $/ | 17:31 | |
m: 12345678901011121314.Str.flip.subst(/.../, *~'_',:g).flip.say | 17:32 | ||
camelia | 12_345_678_901_011_121_314 | ||
eveo | ^ it's also passed as the arg, so can do that ^ | ||
raschipi | m: 12345678901011121314.flip.subst(/.../, *~'_',:g).flip.say | ||
camelia | 12_345_678_901_011_121_314 | ||
eveo | It's also the wrong way to accomplish this task | 17:33 | |
m: 123456789010111213145.Str.flip.subst(/.../, *~"_",:g).flip.say | |||
camelia | _123_456_789_010_111_213_145 | ||
17:33
cdg joined
|
|||
eveo | m: 123456789010111213145.Str.flip.subst(/... <before .>/, *~"_",:g).flip.say | 17:33 | |
camelia | 123_456_789_010_111_213_145 | ||
zengargoyle liked the comb better. :) | 17:35 | ||
eveo | yeah, it is | 17:37 | |
raschipi | What is that? Python? Perl6 Ints are cool. | 17:40 | |
eveo | m: say Int ~~ Cool | 17:41 | |
camelia | True | ||
17:41
eveo left
17:43
grondilu_ joined
17:44
grondilu_ left
|
|||
mspo | m: say Cool.WHAT | 17:44 | |
camelia | (Cool) | ||
mspo | m: say Cool.METHODS | ||
camelia | No such method 'METHODS' for invocant of type 'Cool' in block <unit> at <tmp> line 1 |
||
17:45
grondilu is now known as Guest46848
17:46
Guest46848 left
17:47
grondilu joined
|
|||
atta | Well, for numbers like 123456.123 (with decimals), the flip-comb-join-flip won't work | 17:49 | |
but my problem was just with integers, so it's good for me | |||
Would this be the case for a module like metacpan.org/pod/Number::Format? | 17:50 | ||
17:53
nadim_ left,
nadim_ joined
17:55
troys is now known as troys_
|
|||
bioduds | sorry, client called me | 17:55 | |
gotta go | |||
thanks for the tips :D | |||
zengargoyle | atta: well volunteered | ||
17:57
hythm left
17:59
setty1 joined
18:00
st_elmo left
18:02
hythm joined,
|oLa| left
|
|||
atta | zengargoyle: :P Nice. I have another one in the line: Lingua::pt_BR::Nums2Words. But when it's done (hope won't take long), I could try the Number::Format, if someone hasn't started before | 18:03 | |
raschipi | Muito zuca lidando com Perl6 | 18:07 | |
vetmaster | <punct - [«»]> | 18:08 | |
what's wrong with it? | |||
I want to match all punct symbols, except « and » | |||
18:08
troys_ is now known as troys
|
|||
atta | raschipi: :P | 18:10 | |
zengargoyle | m: (given 123456.12345.split(/\./) -> ($n,$d) { $n.flip.comb(3).join('_').flip ~ '.' ~ $d.comb(3).join('_') }).say | ||
camelia | 123_456.123_45 | ||
18:12
domidumont joined
|
|||
raschipi | m: (given 123456.12345.split('.') -> ($n,$d) { $n.flip.comb(3).join('_').flip ~ '.' ~ $d.comb(3).join('_') }).say | 18:12 | |
camelia | 123_456.123_45 | ||
raschipi | Split also accepts a Str, just FYI | 18:13 | |
vetmaster | <punct - [«»]> | 18:15 | |
what's wrong with it? | |||
I want to match all punct symbols, except « and » | |||
18:17
cdg left,
cdg joined
|
|||
moritz | try <+punct-[«»]> | 18:18 | |
vetmaster | thanks! I solved it myself already, I used <:punct-[«»]> | 18:19 | |
and it seems to work | |||
I think + and : are equal there | |||
grondilu is not sure what <: means | 18:21 | ||
grondilu checks S05 | 18:22 | ||
moritz | m: say so m/<+punkt-[«»]/ for qw/+ - «/ | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in metachar:sym<assert>; couldn't find final '>' at <tmp>:1 ------> 3say so m/<+punkt-[«»]7⏏5/ for qw/+ - «/ |
||
moritz | m: say so m/<+punkt-[«»]>/ for qw/+ - «/ | ||
camelia | No such method 'punkt' for invocant of type 'Match'. Did you mean any of these? punct put in block <unit> at <tmp> line 1 |
||
moritz | geekosaur: : is for Unicode properties, iirc | ||
m: say so m/<+punct-[«»]>/ for qw/+ - «/ | |||
camelia | False True False |
||
geekosaur | misaim? | 18:23 | |
(I think you meant grondilu if I am reading backscroll properly) | |||
moritz | yes, sorry | ||
grondilu | yeah : is for unicode props | ||
18:23
AlexDaniel joined
|
|||
eater | hmm | 18:24 | |
m: my $t = 15; $t [R/]= 5; say $t; | |||
camelia | Potential difficulties: Useless use of [R/]= in sink context at <tmp>:1 ------> 3my $t = 15; $t 7⏏5[R/]= 5; say $t; 0.333333 |
||
grondilu | I've seen this one before | 18:25 | |
notice it's just a warning though | 18:26 | ||
eater | yep | ||
it works just fine | |||
but why the warning? | |||
grondilu | bug | ||
vetmaster | buggable: hi there | 18:27 | |
raschipi | m: my $t = 15; quietly $t [R/]= 5; say $t; | ||
camelia | 0.333333 | ||
eater | raschipi: :') | ||
grondilu did not know (or forgot) about quietly | |||
BenGoldberg | m: my $t = 15; 5 R/= $t; say $t; | 18:31 | |
camelia | 3 | ||
vetmaster | m: my $x = 16; $x /= 4; say $x; | ||
camelia | 4 | ||
vetmaster | m: my $x = 15; $x /= 4; say $x; | ||
camelia | 3.75 | ||
vetmaster | m: my $x = 15; $x [R/]= 4; say $x; | ||
camelia | Potential difficulties: Useless use of [R/]= in sink context at <tmp>:1 ------> 3my $x = 15; $x 7⏏5[R/]= 4; say $x; 0.266667 |
||
vetmaster | m: my $x = 15; quietly $x [R/]= 4; say $x; | ||
camelia | 0.266667 | ||
vetmaster | what does this operator do? | 18:33 | |
say 15 R/ 4; | 18:34 | ||
evalable6 | 0.266667 | ||
grondilu | m: sub infix:<op>($a, $b) { -1 }; my $x = 0; $x [op]= 1; say $x | ||
camelia | -1 | ||
grondilu | m: sub infix:<op>($a, $b) { -1 }; my $x = 0; $x [R[op]]= 1; say $x | ||
camelia | -1 | ||
grondilu | m: sub infix:<op>($a, $b) { -1 }; my $x = 0; $x [R*]= 1; say $x | ||
camelia | Potential difficulties: Useless use of [R*]= in sink context at <tmp>:1 ------> 3nfix:<op>($a, $b) { -1 }; my $x = 0; $x 7⏏5[R*]= 1; say $x 0 |
||
grondilu | go figure | ||
raschipi | vetmaster: The R metaoperator inverts the operands of another one, then they are grouped with [ ] and combined with the attribution metaoperator | 18:35 | |
vetmaster | say 4 / 15; | ||
evalable6 | 0.266667 | ||
vetmaster | but why we cannot just do 4 / 15? | 18:36 | |
raschipi | You either have to invert the division operator or the attribution operator. | 18:37 | |
vetmaster | ah | ||
ok | |||
18:43
cdg left,
cdg joined
18:50
Cabanossi left
18:51
domidumont left
18:53
wamba joined,
Cabanossi joined
18:55
BenGoldberg left
18:57
cdg left
18:58
cdg joined,
grondilu left,
sufrostico left
19:00
sufrostico joined
19:09
troys is now known as troys_
19:11
AlienDesertJelly is now known as DesertJellyFish,
skids left
19:13
troys_ is now known as troys,
itaipu joined
19:14
sufrostico left
19:15
sufrostico joined,
ChoHag joined
19:16
hythm left
19:19
nattefrost left
19:22
cpage left
19:24
ChoHag left
19:27
cpage joined
19:30
sufrostico left
19:32
sufrostico joined
19:37
st_elmo joined
|
|||
Geth | doc: 10c639fdf5 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6 Document defaults of IO::Handle.read/readchars |
19:45 | |
doc: 7397c9fa74 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/CatHandle.pod6 Document IO::CatHandle.read's default size Rakudo impl: github.com/rakudo/rakudo/commit/aa9516be23 Tests: github.com/perl6/roast/commit/1d4232f0c2 |
19:50 | ||
19:51
hythm joined
19:57
uberbaud joined
20:02
hythm left,
vendethiel joined
20:04
dct joined
20:05
st_elmo left
20:19
itaipu left
20:30
hythm joined
20:32
itaipu joined
20:33
uberbaud left
20:37
Cabanossi left
20:38
Cabanossi joined
20:39
travis-ci joined
|
|||
travis-ci | Doc build passed. Zoffix Znet 'Document defaults of IO::Handle.read/readchars' | 20:39 | |
travis-ci.org/perl6/doc/builds/242562033 github.com/perl6/doc/compare/5e30f...c639fdf5b9 | |||
20:39
travis-ci left
20:54
setty1 left
20:57
mr-foobar left
20:59
mr-foobar joined
21:00
dwarring joined
21:08
nadim_ left,
nadim joined
21:09
ctilmes left,
andrzejk_ left,
ctilmes joined,
kurahaupo left
21:11
kurahaupo_ joined,
kurahaupo_ left
21:12
raschipi left,
itaipu left
21:13
kurahaupo_ joined,
itaipu joined,
vetmaster left
21:15
uberbaud joined
21:16
geekosaur left
21:18
geekosaur joined,
andrzejk_ joined
21:24
espadrine joined,
AlexDaniel left,
travis-ci joined
|
|||
travis-ci | Doc build errored. Zoffix Znet 'Document IO::CatHandle.read's default size | 21:24 | |
travis-ci.org/perl6/doc/builds/242564094 github.com/perl6/doc/compare/10c63...97c9fa74f6 | |||
21:24
travis-ci left
21:27
mcmillhj left
21:32
kurahaupo_ left,
kurahaupo joined
21:35
AlexDaniel joined
21:36
Cabanossi left
21:38
Cabanossi joined,
salv0 left
21:39
uberbaud left
21:42
andrzejk_ left
21:46
wamba left
21:50
nadim left
21:52
labster left
22:04
dct left
22:06
beginner joined
22:07
colomon joined
|
|||
beginner | is there concurrent object grouping in perl6 like a jcobox in java | 22:07 | |
22:09
mcmillhj joined
22:14
mcmillhj left
|
|||
jnthn | beginner: Looks a good bit like what github.com/jnthn/oo-actors/ is doing | 22:19 | |
(Method calls automatically become async and return a Promise) | |||
And automatically scheduled | |||
Stick in use v6.d.PREVIEW to get the Perl 6.d non-blocking `await` and you get the non-blocking bit also | 22:21 | ||
beginner | jnthn : to my understanding in case of concurrent object group, many object group can be created for one class and each group can have more than object...but in this oo-actors is it not like only one object can be created per group? | 22:23 | |
correct me if i am wrong | |||
jnthn | Well, that object can itself has internal state consisting of other objects, but yes, the enforcement of one-at-a-time semantics would then only apply to the outermost one, the assuming thus being that you'd not be sharing those or that they'd be immutable | 22:26 | |
So if I'm following what they're saying correct, then the cobox thing goes a step further | |||
jnthn should read the paper rather than the ping pong example :) | 22:28 | ||
22:29
mcmillhj joined
|
|||
beginner | :) | 22:30 | |
22:34
mcmillhj left
|
|||
jnthn | Yeah, they've certainly got some interesting concepts beyond what OO::Actors does. | 22:34 | |
22:35
Cabanossi left
|
|||
jnthn | Would be an interesting module to write at some point :) | 22:37 | |
beginner | cool | ||
22:38
Cabanossi joined
22:46
mcmillhj joined
|
|||
jnthn | sleep time o/ | 22:46 | |
22:51
mcmillhj left,
beginner left
|
|||
timotimo | nite jnthn | 22:53 | |
(much late) | |||
22:54
gdonald left
22:55
espadrine left
22:56
mcmillhj joined
23:00
mcmillhj left
23:01
mcmillhj joined
23:03
roguelazer left,
gdonald joined,
roguelazer joined
23:06
mcmillhj left
23:08
rindolf left
23:09
araujo joined,
araujo left,
araujo joined
23:17
mcmillhj joined
23:22
mcmillhj left
23:23
itaipu left
23:33
mcmillhj joined,
cdg left
23:41
mcmillhj left
23:45
troys is now known as troys_
23:46
kurahaupo_ joined
23:47
kurahaupo__ joined
23:48
kurahaupo__ left,
kurahaupo__ joined
23:49
kurahaupo left
23:50
kurahaupo_ left
|