»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋 Set by Zoffix on 25 July 2018. |
|||
00:15
regreg left
|
|||
mempko | I haven't developed on Windows in a long time. My understanding was on NT, their TCP stack was taken from BSD. Windows used to have a hosts file deeply buried in the directory tree. | 00:27 | |
I don't think this is true anymore though... | |||
00:34
TreyHarris left
|
|||
geekosaur | it still does, but it didn't come from bsd | 00:37 | |
Xliff | jnthn: What do you think of va_list conversion to NativeCall? | 00:39 | |
.tell jnthn What do you think of va_list conversion to NativeCall? | 00:40 | ||
yoleaux | Xliff: I'll pass your message to jnthn. | ||
00:43
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
p6bannerbot sets mode: +v aborazmeh
00:47
TreyHarris joined,
p6bannerbot sets mode: +v TreyHarris,
perlawhirl left
00:48
perlawhirl joined
00:49
p6bannerbot sets mode: +v perlawhirl
00:51
lindylex joined
00:52
p6bannerbot sets mode: +v lindylex
00:53
Turandot3 joined
00:57
Turandot3 left
01:01
uzl joined
01:02
p6bannerbot sets mode: +v uzl
01:04
lindylex left
|
|||
timotimo | wakelift.de/p/cf10916e-dde4-4649-8...5413e9a8c/ - i'd love some feedback on this post. I'm afraid many parts of it aren't written very clearly, but it's bedtime for me now :) | 01:05 | |
also, surely i've been spelling some of the words wrong | 01:09 | ||
01:09
thomas16 joined
|
|||
timotimo | referring? labelled? | 01:09 | |
benjikun | those are both correct | 01:10 | |
you can also spell labelled labeled | |||
UK vs US spelling | |||
timotimo | surely it's a great idea to switch between UK vs US for different words | 01:12 | |
benjikun | meh | ||
some people use UK spelling in the US lol | |||
MasterDuke | timotimo: you mention that the callees are sorted by inclusive time, as opposed to the general routines table which is sorted by exclusive, but not why either list is sorted the way it is | 01:13 | |
timotimo | good point | ||
MasterDuke | "splits the number of objects", i would add a "which" before that, or change to "splitting" | ||
timotimo | i put an "and" in front, is that also ok? | 01:14 | |
MasterDuke | yep | ||
01:14
thomas16 left
|
|||
benjikun | "They are ordered by inclusive time, as opposed to the outer list which is ordered by exclusive time" | 01:15 | |
maybe the 'is' should be an 'are' in the second half of that sentence | |||
well nevermind | |||
it's referring to the outer list as a whole, ignore me | |||
timotimo | right, it's a bit awkward, i guess | ||
benjikun | This looks nice though, timotimo :) | 01:16 | |
excited to see it in future releases | |||
timotimo | it's actually independent of moarvm/nqp/perl6 releases except for little things that i can be backwards-compatible for! | 01:17 | |
benjikun | ah, I see | ||
timotimo | it's a Cro + React app :) | ||
the node_modules folder is only 225 megabytes big! | 01:18 | ||
benjikun | :P | 01:19 | |
timotimo | but that also includes compiler stuff, like babel and i tried to use flow for a little bit | ||
benjikun | is it in a public repo? | ||
or private until first release | |||
MasterDuke | "managed an unmanaged parts" | ||
nice post | 01:21 | ||
timotimo | 1.6M./html-minifier | ||
it's currently still private because i was a little ashamed of slow progress and low quality | 01:22 | ||
but things have improved at a surprising pace since the last post | |||
and i'd like to make it public when i publish the post | |||
benjikun | oh, sounds good | 01:23 | |
timotimo | MasterDuke got an early preview build last week :) | 01:24 | |
MasterDuke | unfortunately i haven't had time to give much specific feedback (other than liking it in general) | 01:25 | |
timotimo | all i want to hear is "i like it" and "you're so cool" :P | 01:26 | |
nah, criticism would also be good, though many problems i already know about | |||
MasterDuke | hopefully i'll have a little more time in the next couple days | ||
timotimo | yey | ||
i imagine jnthn will also give it a try | 01:27 | ||
MasterDuke | but the links to github alone sold me | ||
timotimo | hah | ||
shouldn't actually be that hard to replicate for the older one | |||
MasterDuke | i think lizmat also looks at profiles a lot | ||
timotimo | ah, true true | ||
maybe the most valuable feedback for the next two or three days is "what missing feature should appear first" | 01:28 | ||
OK, i'll sign off for tonight | 01:29 | ||
have a good one! | |||
MasterDuke | later... | ||
buggable | New CPAN upload: AttrX-Mooish-v0.2.3.tar.gz by VRURG modules.perl6.org/dist/AttrX::Mooish:cpan:VRURG | 01:31 | |
uzl | m: .say for &sort.candidates | 01:38 | |
yoleaux | 14 Aug 2018 06:46Z <tyil> uzl: Do you mean .candidates? docs.perl6.org/type/Routine#method_candidates | ||
camelia | &sort &sort &sort &sort |
||
uzl | &sort.candidates | 01:39 | |
m: &sort.candidates | |||
camelia | ( no output ) | ||
uzl | m: say &sort.candidates | ||
camelia | (&sort &sort &sort &sort) | ||
uzl | .tell tyil That seems to do the job. Thanks! Anyway of looping over the candidates without using a for/while loop? | 01:48 | |
yoleaux | uzl: I'll pass your message to tyil. | ||
01:48
uzl left
01:49
w_richard_w joined
|
|||
MasterDuke | uzl: .map? | 01:49 | |
benjikun | ^ | ||
01:49
p6bannerbot sets mode: +v w_richard_w
|
|||
benjikun | m: &sort.candidates.map: *.perl.say; | 01:50 | |
camelia | multi sub sort (&by, @values) { #`(Sub|42503872) ... } multi sub sort (&by, + is raw) { #`(Sub|42504024) ... } multi sub sort (@values) { #`(Sub|42504176) ... } multi sub sort (+ is raw) { #`(Sub|42504328) ... } |
||
vrurg | Is there a way for a trait to know if an attribute has an initial value assigned? Like for: has @.bar = 1,2,3; | 02:01 | |
02:03
cognominal-p6 left
|
|||
benjikun | not sure how without doing a `Class.new` like this: | 02:04 | |
m: class Foo { has $.bar = 1 }; say Foo.attributes[0].get_value(Foo.new); | |||
camelia | No such method 'attributes' for invocant of type 'Foo' in block <unit> at <tmp> line 1 |
||
benjikun | m: class Foo { has $.bar = 1 }; say Foo.^attributes[0].get_value(Foo.new); | ||
camelia | 1 | ||
vrurg | benjikun: get_value is pretty obious. Unfortunately, there is no way to distiguish Foo.new( bar => pi ) from has $.bar = pi. | 02:06 | |
vrurg would probably consider emty @ and % as unitialized... | |||
benjikun | yeah, hmmm | ||
vrurg | Ah, whatever. If I already consider Nil as unitialized – what's the difference with [] and {} would be treated same way? ;) | 02:08 | |
02:12
Floppy joined,
p6bannerbot sets mode: +v Floppy
|
|||
Floppy | a | 02:17 | |
Hello, I've just started with perl6 and am absolutely loving the design of it, sadly it doesn't seem like Perl6 is as popular or is getting as popular as i would've hoped. | 02:24 | ||
From the perspective of someone who has just started, i see many flaws, not in the language itself, but in the process of getting started with Perl6. | |||
The first thing you have to do when starting a new language is downloading the Compiler/Interpreter, well this is where things got hard.I instinctively tried to download "Perl 6", it took me quite some time before i relized that I actually had to download something called "Rakudo".That name itself makes no sense and in no way seems related to Perl6 | |||
at first glance. "What's the difference between Rakudo and Rakudo star, is this what I'm supposed to download?" and similar questions started. | |||
But when i had figured out the name of the compiler i had to download it. I'm suprised to see that you offer precompiled binaries for Windows and MacOS but not Linux, It was to my understanding that Perl was almost purely used on *Nix based platforms. | 02:25 | ||
Compiling from source didn't go to well for me at first either, the AUR packages available in Arch Linux are broken and when compiling manually i ended up with a non-portable portable-like installtion with no binaries in path so i had to add to path myself, especially since the instruktions point to .bashrc when i use zsh and not bash. | |||
Point is that when you're trying a new language that highly vales efficency of coding and being able to write scripts as quickly as possible, installation should reflect that philosophy as well | |||
benjikun | Floppy: There are recompiled binaries for Linux: github.com/nxadm/rakudo-pkg | 02:27 | |
Floppy | I was following the official documentation and this is what happend, also that github repo doesn't seem to support Arch Linux | 02:28 | |
lookatme_q | Floppy, Rakudo is a implementation of Perl 6, just like a VC++ of C++ | 02:29 | |
benjikun | I'm not against adding a do-it-all-for-me install script linked on rakudo.org/files | ||
lookatme_q | Rakudo Star is a distribution of Rakudo | ||
I think :) | 02:30 | ||
It include the compiler and some module | |||
MasterDuke | Floppy: i use arch linux, and don't think i've ever had a problem with the aur packages. what did you run into? | ||
Floppy | lookatme_q I know this now but when i was getting started and just trying to experiment before I even knew if I was gonna like the language or not i didn't know | ||
benjikun | Rakudo Star is just a pre-bundled collection of useful things (e.g. rakudo, documentation, zef, etc) | 02:31 | |
Floppy | MasterDuke Can't remember exactly but Compilation failed on the rakudo and rakudo-star packages, I believe the lonestar package works but that is a bit different | ||
lookatme_q | I think the new version(2018.06) Rakudo Star would work | 02:32 | |
Floppy | I do use Artix and not pure arch which i guess could've been the issue but the only difference is Init system and i highly doubt that'd be in any way an issue | ||
But before you're getting the wrong impression of me, I might as well clarify that I am absolutely loving Perl6 so far, It perfectly fills the void of things i can't do effectively in Go, Elm and Haskell, which are all very strict languages unlike Perl6. | 02:35 | ||
MasterDuke | Floppy: no worries, we definitely want the on-boarding experience to be a smooth as possible | 02:36 | |
i'd encourage you to file issues explaining what problems you ran into | |||
AlexDaniel | this is weird, on arch I would have expected distro packages to just work | 02:37 | |
MasterDuke | maybe at the perl6.org or rakudo.org repos | ||
AlexDaniel | we should start encouraging distro packages btw | ||
benjikun | AlexDaniel: yeah, and keeping them up to date | ||
for all main distros | |||
AlexDaniel | no we don't do that, and I don't think we should? | 02:38 | |
Floppy | A precompiled version in community repository on Arch would be lovely, AUR isn't the most reliable thing in the world | ||
AlexDaniel | like, it's the job of distro maintainers | ||
or packagers, whatever the right term is | |||
Floppy | I could make a precompiled AUR package for Arch myself and try to maintain it | 02:39 | |
MasterDuke | i don't remember exactly how something moves up to community. just enough votes? or someone has to sponsor/adopt it? | ||
benjikun | I don't know how to encourage "packagers" to maintain it | ||
I'm not really sure about this stuff lol | |||
Floppy | I think the difference is that those do go through some sort of process by the Arch team themselves, but could be wrong | ||
AlexDaniel | benjikun: well, debian is very up to date if we're talking testing/unstable | 02:40 | |
Xliff | timotimo, AlexDaniel, et.al: I am now adding GTK bindings that are testable. | 02:41 | |
buggable | New CPAN upload: AttrX-Mooish-v0.2.4.tar.gz by VRURG modules.perl6.org/dist/AttrX::Mooish:cpan:VRURG | ||
Xliff | See -- github.com/Xliff/p6-GtkPlus | ||
benjikun | I think it's because we've got "DebianRakudoGroup" setup as a team on debian | ||
AlexDaniel | :) | 02:42 | |
I actually don't know how the process goes in debian | |||
benjikun | You have to request a sponsor or something | ||
AlexDaniel | all I know is that there are folks who work on it, and apparently we didn't do anything (?) for that | ||
benjikun | wiki.ubuntu.com/AppReviewBoard Here's an application thingy for the ubuntu software center | ||
if we wanted that as well | |||
AlexDaniel | ubuntu also has a very recent rakudo package, though I guess not an “app”, whatever that is | 02:43 | |
benjikun | yeah I have no idea lol | ||
what if we made a github repo just for having reported issues on distro-package problems | 02:44 | ||
maybe that's unnecessary, I don't know | |||
AlexDaniel | again, that's what distros do themselves, they have their own lists for that | ||
Floppy | One method to only have to maintain ONE package would be to use Snap, but I don't really like the way Snap handles system libs | ||
02:45
kerframil joined
|
|||
AlexDaniel | Floppy: pretty sure samcv attempted to make rakudo appimage | 02:45 | |
02:45
p6bannerbot sets mode: +v kerframil
|
|||
benjikun | AlexDaniel: Yes but are we on all of the main distro lists | 02:45 | |
AlexDaniel | benjikun: fwiw we have this: github.com/perl6/user-experience/issues | ||
benjikun | Yeah, true | 02:46 | |
I knew about that | |||
Floppy | appimage would be really nice, not as the standard way of installation but having a portable perl6 install on my toolkit USB drive would be lovely | ||
AlexDaniel | Floppy: btw you can report user experience issues here github.com/perl6/user-experience/issues | ||
Floppy: I agree that getting rakudo should be more straightforward | 02:47 | ||
benjikun | same | ||
Floppy | Oh didn't know that was a thing, seems like I'm not the only one when looking at that link | ||
AlexDaniel | this one is a real bummer: github.com/perl6/user-experience/issues/23 | ||
`zef` part of it I mean | |||
benjikun | :/ | ||
Maybe we should include a init script that they can just curl and run (not talking about packages, am talking about automatically compiling, setting up PATH and whatnot) | 02:49 | ||
I've seen a few other languages have that at the top of their install pages | |||
Floppy | Having ~/rakudo as install path in instructions also needs to change. Cluttering home folder is not a good thing and also not having capitalised folder name in home is also not that nice, maybe even use some XDG folder? | ||
benjikun | While ours has buttons to download the source & installation instructions that are multiple lines | 02:50 | |
Floppy: I just do ~/.rakudo or ~/.perl6 | |||
Floppy | ye i do ~/.perl6 as well but had to reinstall because didn't notice instructions had ~/.rakudo as path | 02:51 | |
~/rakudo as path* | |||
benjikun | I see | ||
02:55
inbioz joined
02:56
p6bannerbot sets mode: +v inbioz
|
|||
AlexDaniel | interesting fedoraproject.org/wiki/Packaging/Perl6 | 02:57 | |
benjikun | Looks nicely organized there | 02:58 | |
thanks to Gerd | |||
Floppy | I might try to create rakudo-bin in aur for arch if i get the time | 02:59 | |
actually help instead of just give feedback | |||
benjikun | Floppy: that'd be nice :) | 03:04 | |
AlexDaniel | Floppy: github.com/perl6/user-experience/issues/29 | 03:06 | |
03:07
inbioz left
|
|||
AlexDaniel | Floppy: you can talk to samcv about appimage I think. I remember trying it out and it worked, but I think there was a blocker of some sort | 03:08 | |
github.com/samcv/rakudo-appimage-m...automation | 03:09 | ||
Floppy | A package for Void Linux would also be nice | ||
AlexDaniel | blead “2 days ago”, nice | ||
so it is working? | |||
why don't we advertise it then :) | |||
03:10
aborazmeh left
|
|||
Floppy | oh rakudo in AUR now works, just tried. Didn't work when i started with perl a few days ago so maybe it's updated? | 03:10 | |
AlexDaniel | 🤷 | 03:11 | |
:) just looked up void linux | 03:13 | ||
like everyone keeps talking about it and I haven't yet bothered to look it up, heh | |||
benjikun | Looks like rakudo-star in AUR was last updated 2018-08-06 21:49 | ||
AlexDaniel | “Void is a notable exception to the majority of Linux distributions because it uses runit as its init system instead of the more common systemd” | ||
benjikun | sysvinit, openrc > | 03:14 | |
Floppy | It's really good, I greatly prefer runit over systemd and Void is the only true runit experience, runit forks of other distrobutions like Artix and Devuan just don't work well | ||
benjikun | I haven't found any problems while using Devuan | ||
void is alright though, too | |||
AlexDaniel | nice, now I have to understand what runit is about and why is it different :) | 03:16 | |
benjikun | systemd is controversial | ||
that's why | 03:17 | ||
Floppy | I don't really care about the logging and expandation part most people seem to hate systemd for, for me it's just that creating service files suck and it boots alot slower | ||
AlexDaniel | I don't mind systemd at all, it makes my life easier | ||
benjikun | Yeah, I'm inbetween tbh | ||
don't really mind either way | |||
AlexDaniel | but I dunno, maybe runit does the same? | ||
benjikun | lighterweight | ||
Floppy | in runit you have all services in one directory and then you symlink them to a "run" folder, if they're symlinked to the run folder they're automatically started and restarted. And instead of using a .service file like in systemd you just have any script of your choice, you could have a perl6 script for instance | 03:18 | |
AlexDaniel | but yeah, if people use it then rakudo package for void would be nice :) | 03:24 | |
SmokeMachine | Hi there! Im writing an ORM for perl6. If some one would like to help me to validate/critic the APIs, it would be appreciated! :) github.com/FCO/Red | 03:27 | |
03:29
Floppy left,
JollyRgrs1 joined
|
|||
AlexDaniel | SmokeMachine: so an alternative to DBIish? Sounds great. | 03:29 | |
SmokeMachine: any info about its stability? | 03:30 | ||
SmokeMachine: IIRC there are a bunch of issues with DBIish like github.com/perl6/DBIish/issues/117 | 03:31 | ||
benjikun | aren't there known memory leaks in DBIish | ||
SmokeMachine | AlexDaniel: none! its only on the beginning... but its not an alternative to dbiish... :( | ||
AlexDaniel | SmokeMachine: oh? I guess I'm misunderstanding something then? | ||
SmokeMachine | AlexDaniel: its an ORM, it will use something like dbiish and map databases to classes/objects | 03:33 | |
03:33
JollyRgrs1 left
|
|||
benjikun | this looks like it has more perl6 wrapping | 03:33 | |
looks nice | |||
AlexDaniel | SmokeMachine: ah-ha, alright | ||
benjikun | what databases will it support SmokeMachine? | ||
SmokeMachine | benjikun: the idea is first support postgres, than any relational database and some day nosso to... | 03:34 | |
*too | |||
benjikun | sounds great :P | ||
AlexDaniel | well, uh… as long as DBIish is not involved it should be great :D | 03:36 | |
SmokeMachine | benjikun, AlexDaniel: what do you guys think about the way to declare columns, tables, relationships, etc? | 03:37 | |
AlexDaniel | SmokeMachine: I can't help, unfortunately. I just don't work with DBMs enough to have an opinion | 03:38 | |
SmokeMachine: something makes me think jnthn++ may be interested, but obviously I can't guarantee that jnthn will have any time to look at it :) | 03:39 | ||
benjikun | SmokeMachine: I like the `model Table { }` layout for sure | ||
AlexDaniel hides | 03:40 | ||
SmokeMachine | benjikun: if you'd like to know "what's working": github.com/FCO/Red/blob/master/t/02-tdd.t | ||
benjikun | All seems cool to me | 03:44 | |
I haven't seen people use meta-method calls in most modules | |||
or define them | |||
idrk if I can judge all of it, but looks nice | |||
SmokeMachine | benjikun: my idea is on model only define methods you wrote... the special methods will be on the metaclass | 03:46 | |
im not sure its a good idea yet... | |||
benjikun | interesting | 03:47 | |
well, if it works and looks nice, I don't see a problem with it | |||
SmokeMachine | i mean, if you do class Boa {}, Bla has no method... so doesn't model Bla {} | ||
benjikun | yeah, I kinda like how the metamethods look | 03:48 | |
in this situation | |||
SmokeMachine | is you want to know is a class can run the method `bla`, you run `MyClass.^can("bla")` i think on `model` should be the same... | 03:50 | |
*if | |||
xinming_ | jnthn: Thanks, that's what I want. | 04:00 | |
timotimo: I can't, since that bug happen in a project. And in 2018.06, it works fine. so, I assume it's because of master version has the bug. | 04:01 | ||
SmokeMachine | if someone have anything to say about Red, please, tell me or open an issue! | 04:07 | |
github.com/FCO/Red | |||
Xliff | . | 04:09 | |
How can I get a raw OpaquePointer that points to a uint or an int back to something Perl6 can use? | |||
04:11
JustTheDoctor3 joined,
JustTheDoctor3 left
04:13
spycrab0 left,
u1dzer019 joined
04:14
u1dzer019 left
04:24
JJJ000 joined,
p6bannerbot sets mode: +v JJJ000
04:28
ZzZombo joined,
p6bannerbot sets mode: +v ZzZombo
04:29
regreg joined,
p6bannerbot sets mode: +v regreg
04:58
rindolf joined
04:59
p6bannerbot sets mode: +v rindolf
05:00
sm0rux_ joined,
sm0rux_ left
|
|||
gtodd | SmokeMachine: why is it called Red ? ;-) | 05:01 | |
SmokeMachine: model Table { } ... nice | |||
benjikun | maybe he likes the color red :P | 05:02 | |
05:02
sno left
|
|||
gtodd | ok ... was thinking maybe it was an acronym or referred to "red" in Spanish or something | 05:03 | |
benjikun | I have no idea, was just making a humorously simple assumption | ||
gtodd | hehe | 05:05 | |
SmokeMachine: that is some pretty easy to read code in the Synopsis ... an ORM where the backend is abstracted away almost to the point of disappearing | 05:06 | ||
SmokeMachine: makes for really easy database backed apps | 05:08 | ||
SmokeMachine: wait ... really easy database .... nah | 05:09 | ||
xinming_ | After we get nextcallee, How do we apply that to a method? | ||
I mean, what to do to pass the self object? | |||
my &do-next = nextcallee; &do-next self, $arg1, $arg2, $arg3? | |||
Seems, do-next self, arg... ; works, But not sure wether it's right | 05:12 | ||
05:20
vrurg left
|
|||
gtodd | self seems ok I think .... does it just "feel" like unusual usage ? | 05:21 | |
05:21
kerframil left
|
|||
xinming_ | It is ok, But I thought, that self should be bind with something else, as it's a class method. :-) | 05:22 | |
gtodd | it's true that perl6 can be very terse | ||
05:24
redhands joined
05:25
p6bannerbot sets mode: +v redhands
05:30
RyZum joined
05:32
sno joined
05:33
p6bannerbot sets mode: +v sno,
vrurg joined
05:34
p6bannerbot sets mode: +v vrurg
05:37
sno left
05:39
RyZum left
05:40
redhands left
05:55
moonlight26 joined
05:57
moonlight26 left
05:59
sauvin joined,
p6bannerbot sets mode: +v sauvin,
sauvin left
06:05
sno joined
06:06
p6bannerbot sets mode: +v sno
06:10
w_richard_w left,
vrurg left
06:14
sauvin joined,
p6bannerbot sets mode: +v sauvin
|
|||
xinming_ | m: ((+"9.5") ~~ Num).say; | 06:15 | |
camelia | False | ||
xinming_ | What is the easist way to check wether a "string" is a number by using perl6 built-in | ||
benjikun | that is a Rat | ||
and by using `.Numeric` | 06:16 | ||
lookatme_q | m: say so +"1.2" | ||
camelia | True | ||
lookatme_q | m: say so +"ff" | ||
camelia | False | ||
benjikun | also that ^ | ||
m: say so "9.5".Numeric; | |||
camelia | True | ||
xinming_ | Thanks, the so version is sweetest | 06:17 | |
06:17
|oLa| joined
|
|||
benjikun | xinming_: For future reference, numbers with decimals default to being `Rat` | 06:18 | |
06:18
p6bannerbot sets mode: +v |oLa|
06:27
matsu left,
matsu joined
06:28
p6bannerbot sets mode: +v matsu
06:29
sno left
06:30
ZzZombo left
06:31
ZzZombo joined,
p6bannerbot sets mode: +v ZzZombo
|
|||
ZzZombo | m: say so +"0" | 06:33 | |
camelia | False | ||
ZzZombo | m: say so "0".Numeric | ||
camelia | False | ||
ZzZombo | Caution! | 06:34 | |
benjikun | yeah, so shouldn't be used there actually | 06:35 | |
xinming_ | benjikun: Got it | ||
benjikun | m: say "5.5".Numeric ~~ Rat | 06:36 | |
camelia | True | ||
benjikun | m: say "5".Numeric ~~ Int | ||
camelia | True | ||
benjikun | m: say !"5".Numeric ~~ Failure | 06:37 | |
camelia | False | ||
benjikun | m: say not not "sdf5".Numeric ~~ Failure | 06:38 | |
camelia | True | ||
benjikun | whoops two nots lol | ||
ZzZombo | m: say val "asd" ~~ Numeric | ||
camelia | Value of type Bool uselessly passed to val() False in block <unit> at <tmp> line 1 |
||
benjikun | that's a flawless way of doing it tho | ||
ZzZombo | m: say (val "asd") ~~ Numeric | ||
camelia | False | ||
ZzZombo | m: say (val "0") ~~ Numeric | ||
camelia | True | ||
benjikun | That too | ||
:) | |||
lookatme_q | m: say so "0".parse-base(10) | 06:43 | |
camelia | False | ||
lookatme_q | m: say "0".parse-base(10) | ||
camelia | 0 | ||
Xliff | What's the best way to make an event that ticks, every second? | 06:48 | |
What's the best way to make an event that ticks, every x second? | |||
ZzZombo | Scheduler. | 06:49 | |
lookatme_q | maybe using Supply.interval | 06:50 | |
m: react { whenever Supply.interval(1) { say "foo"; last if $++ > 4; } } | 06:51 | ||
camelia | foo ===SORRY!=== foo foo foo foo foo last without loop construct |
||
lookatme_q | m: react { whenever Supply.interval(1) { say "foo"; done if ++$ >= 4; } } | ||
camelia | foo foo foo foo |
||
lookatme_q | m: react { whenever Supply.interval(1) { say "foo", now; done if ++$ >= 4; } } | 06:52 | |
camelia | fooInstant:1534315965.486511 fooInstant:1534315966.484926 fooInstant:1534315967.486009 fooInstant:1534315968.486513 |
||
lizmat | m: react { whenever Supply.interval(1) { say time; done if ++$ >= 4; } } | 06:53 | |
camelia | 1534316022 1534316023 1534316024 1534316025 |
||
lizmat | reads better :-) | 06:54 | |
Xliff | m: sub ping { say "ping"; } my $c = Scheduler.cue(&ping, :every(1)); Promise.in(5).then: { $c.cancel }; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Strange text after block (missing semicolon or comma?) at <tmp>:1 ------> 3sub ping { say "ping"; }7⏏5 my $c = Scheduler.cue(&ping, :every(1)) expecting any of: infix … |
||
Xliff | m: sub ping { say "ping"; }; my $c = Scheduler.cue(&ping, :every(1)); Promise.in(5).then: { $c.cancel }; | ||
camelia | Method 'loads' must be implemented by Scheduler because it is required by roles: Scheduler. in block <unit> at <tmp> line 1 |
||
lizmat | Xliff: $*SCHEDULER ? | ||
Xliff | m: sub ping { say "ping"; }; my $c = $*SCHEDULER.cue(&ping, :every(1)); Promise.in(5).then: { $c.cancel }; | ||
camelia | ping | ||
Xliff | m: sub ping { say "ping"; }; my $c = $*SCHEDULER.cue(&ping, :every(1)); my $p = Promise.in(5).then: { $c.cancel }; await $p; | 06:55 | |
camelia | ping ping ping ping ping ping |
||
Xliff | m: sub ping { say "ping"; }; my $c; Promise.in(1).then: { c = $*SCHEDULER.cue(&ping, :every(1)) }; my $p = Promise.in(5).then: { $c.cancel }; await $p; | 06:57 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Preceding context expects a term, but found infix = instead. Did you make a mistake in Pod syntax? at <tmp>:1 ------> 3ng"; }; my $c; Promise.in(1).then: { c =7⏏5 $*SCHEDULER.cue(&ping, :ever… |
||
Xliff | m: sub ping { say "ping"; }; my $c; Promise.in(1).then: { $c = $*SCHEDULER.cue(&ping, :every(1)) }; my $p = Promise.in(5).then: { $c.cancel }; await $p; | ||
camelia | ping ping ping ping |
||
Xliff | m: sub ping { say "ping"; }; my $c; Promise.in(0).then: { $c = $*SCHEDULER.cue(&ping, :every(1)) }; my $p = Promise.in(5).then: { $c.cancel }; await $p; | ||
camelia | ping ping ping ping ping |
||
Xliff | Gotta wait until the clock hits the next beat to get it right. | 06:58 | |
m: sub ping { say "ping"; }; my $c; Promise.in(0).then: { $c = $*SCHEDULER.cue(&ping, :every(1)) }; my $p = Promise.in(5).then: { $c.cancel }; await $p; | |||
camelia | ping ping ping ping ping |
||
Xliff | m: sub ping { say "ping"; }; my $c; Promise.in(0).then: { $c = $*SCHEDULER.cue(&ping, :every(1)) }; my $p = Promise.in(5).then: { $c.cancel }; await $p; | ||
camelia | ping ping ping ping ping |
||
ZzZombo | Xliff: PM camelia for playing around. | ||
Xliff | As opposed to.... | ||
m: sub ping { say "ping"; }; my $c = $*SCHEDULER.cue(&ping, :every(1)); my $p = Promise.in(5).then: { $c.cancel }; await $p; | |||
camelia | ping ping ping ping ping |
06:59 | |
Xliff | OK. I'm done. | ||
First attempt gave 6 pings, when I was expecting 5. | |||
06:59
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
p6bannerbot sets mode: +v aborazmeh
07:00
p6bannerbot sets mode: +v aborazmeh
|
|||
lizmat | Xliff: perhaps the Promise's timing was just over the "edge" oce | 07:03 | |
*once | |||
tyil | .tell uzl any looping construct should work, so you can map, or filter out entries with grep | ||
yoleaux | 01:48Z <uzl> tyil: That seems to do the job. Thanks! Anyway of looping over the candidates without using a for/while loop? | ||
tyil: I'll pass your message to uzl. | |||
07:11
xinming_ is now known as xinming
|
|||
xinming | m: my @a = ("a" .. "z", 1 .. 9); (@a.pick(15)).join('').perl.say; | 07:34 | |
camelia | "1 2 3 4 5 6 7 8 9a b c d e f g h i j k l m n o p q r s t u v w x y z" | ||
xinming | What is the best way to generate a random string with specified characters? | ||
07:35
zakharyas joined
07:36
p6bannerbot sets mode: +v zakharyas
|
|||
xinming | m: my @a = (|("a" .. "z"), |(1 .. 9)); @a.^Cck(15).join("").perl.say; | 07:37 | |
camelia | No such method 'Cck' for invocant of type 'Perl6::Metamodel::ClassHOW+{<anon>}' in block <unit> at <tmp> line 1 |
||
xinming | m: my @a = (|("a" .. "z"), |(1 .. 9)); @a.pick(15).join("").perl.say; | ||
camelia | "cxe2m51pjy4wkqr" | ||
xinming | In this case, is there better way to write my @a = (|("a" .. "z"), |(1 .. 9)); ? | ||
07:39
regreg left
|
|||
Xliff | m: my @a = ("a".."z", 1..9).eager; my $a; $a ~= @a.pick for ^15; say $a | 07:40 | |
camelia | 1 2 3 4 5 6 7 8 91 2 3 4 5 6 7 8 91 2 3 4 5 6 7 8 9a b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y z1 2 3 4 5 6 7 8 91 2 3 4 5 6 7 8 9a b c d e f g… | ||
Xliff | Hmmmm.... | ||
m: my @a = |("a".."z", 1..9).eager; my $a; $a ~= @a.pick for ^15; say $a | |||
camelia | a b c d e f g h i j k l m n o p q r s t u v w x y z1 2 3 4 5 6 7 8 91 2 3 4 5 6 7 8 9a b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y z1 2 3 4 5 6 7… | ||
Xliff | m: my @a = ('a'..'z'); say @a; | 07:41 | |
camelia | [a b c d e f g h i j k l m n o p q r s t u v w x y z] | ||
Xliff | m: my @a = ('a'..'z'); say @a.flat; | ||
camelia | (a b c d e f g h i j k l m n o p q r s t u v w x y z) | ||
Xliff | m: my @a = (("a".."z").flat, (1..9).flat); my $a; $a ~= @a.pick for ^15; say $a | ||
camelia | a b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y z1 2 3 4 5 6 7 8 9a b c d e f g h i j k l m n o p q r s t u v w x y z1 2 3 4 5 6 7 8 91 2 3 4 5 6 7 8 9a b c d e f g h i j k l m n o p q r s t u v w x… | ||
Xliff | (@!#&! | ||
m: my @a = (("a".."z").flat, (1..9).flat); say @a; | 07:42 | ||
camelia | [(a b c d e f g h i j k l m n o p q r s t u v w x y z) (1 2 3 4 5 6 7 8 9)] | ||
Xliff | m: my @a = (("a".."z").flat, (1..9).flat).flat; say @a.pick(15).join(''); | 07:43 | |
camelia | 6lwus24ndz95rpm | ||
Xliff | ^^ xinming | ||
benjikun | you dont need that many flats | ||
Xliff | Oh? | ||
benjikun | m: my @a = ('a'..'z', '1'..'9').flat; say @a.pick(15).join; | 07:44 | |
camelia | ibshde1ylw6fapx | ||
Xliff | Yeah. That. LOL. | ||
benjikun | :P | ||
07:55
sno joined
07:56
p6bannerbot sets mode: +v sno
|
|||
Xliff | my $m = "2ab"; say $m.Numeric;l | 07:58 | |
m: my $m = "2ab"; say $m.Numeric; | 07:59 | ||
camelia | Cannot convert string to number: trailing characters after number in '032⏏5ab' (indicated by ⏏) in block <unit> at <tmp> line 1 |
||
Xliff | m: my $m = "20b"; say $m.Numeric; | ||
camelia | Cannot convert string to number: trailing characters after number in '0320⏏5b' (indicated by ⏏) in block <unit> at <tmp> line 1 |
||
Xliff | m: my $m = "20"; say $m.Numeric; | ||
camelia | 20 | ||
08:00
lizmat left,
sno left
|
|||
benjikun | Is anyone here Japanese? | 08:01 | |
Oh, nevermind, found it on wikipedia | 08:02 | ||
08:04
anataex joined
08:06
anataex left
08:20
JJJ000 left
08:33
cognominal-p6 joined
08:34
p6bannerbot sets mode: +v cognominal-p6,
broquaint left
|
|||
xinming | m: my @a = ['a'..'z', '1'..'9'].flat; say @a.pick(15).join; | 08:39 | |
camelia | a b c d e f g h i j k l m n o p q r s t u v w x y z1 2 3 4 5 6 7 8 9 | ||
xinming | These are tricky. :-) | ||
lookatme_q | m: my @a = ['a'...'z', '1'...'9'].flat; say @a.pick(15).join; | ||
camelia | j3g2aytbsrxn8fp | ||
lookatme_q | Range and Seq | 08:40 | |
xinming | so, ... is a seq | 08:59 | |
m: my @a = a'...'z', '1'...'9'; say @a.pick(15).join; | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my @a = a7⏏5'...'z', '1'...'9'; say @a.pick(15).join expecting any of: infix infix stopper postfix statemen… |
||
xinming | m: my @a = (a'...'z', '1'...'9'); say @a.pick(15).join; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my @a = (a7⏏5'...'z', '1'...'9'); say @a.pick(15).joi expecting any of: infix infix stopper statement end s… |
||
xinming | m: my @a = 'a'...'z', '1'...'9'; say @a.pick(15).join; | 09:00 | |
camelia | z6fxd82t4awknqp | ||
xinming | The shorttest version | ||
lookatme_q | m: say 'a' ... 'z' .WHAT | ||
camelia | ===SORRY!=== Method call must either supply a name or have a child node that evaluates to the name |
||
lookatme_q | m: say ('a' ... 'z') .WHAT | ||
camelia | ===SORRY!=== Method call must either supply a name or have a child node that evaluates to the name |
||
lookatme_q | m: say ('a' ... 'z').WHAT | ||
camelia | (Seq) | ||
stmuk_ | www.youtube.com/watch?v=SR0Grhiw8xI | 09:08 | |
#TPCiG live stream | |||
lookatme_q | what's that | 09:09 | |
stmuk_ | former YAPC::EU (Euro Perl Conf) | 09:10 | |
09:14
sena_kun joined,
p6bannerbot sets mode: +v sena_kun
09:16
mithaldu__ joined,
p6bannerbot sets mode: +v mithaldu__
09:17
Circlepuller joined
09:18
mithaldu_ left,
TeamBlast left,
mithaldu__ is now known as mithaldu_,
p6bannerbot sets mode: +v Circlepuller
09:20
nativecallable6 left,
statisfiable6 left,
greppable6 left,
greppable6 joined,
statisfiable6 joined,
nativecallable6 joined,
committable6 left
09:21
shareable6 left,
benchable6 left,
p6bannerbot sets mode: +v greppable6,
p6bannerbot sets mode: +v statisfiable6,
p6bannerbot sets mode: +v nativecallable6
09:24
Pici16 joined,
Pici16 left
09:27
pmurias joined
09:28
p6bannerbot sets mode: +v pmurias,
lizmat joined
09:29
p6bannerbot sets mode: +v lizmat
|
|||
xinming | How do I match all Exception types under X::Method:: namespace? | 09:36 | |
I just figureed something like ::('X::Method::NotFound') | |||
But how can I grep all the ::('X::Method...'); | 09:37 | ||
09:49
lizmat left
|
|||
Geth | doc: JJ self-assigned No apparent buf8/16/32/64 documentation github.com/perl6/doc/issues/2264 499c481c9d | (JJ Merelo)++ | 2 files Also some reflow here and there. Closes #2264 |
09:58 | |
10:01
bolt17 joined
10:03
bolt17 left
|
|||
10:07
pmurias left
10:08
lizmat joined
10:09
p6bannerbot sets mode: +v lizmat
10:10
lizmat left
10:12
aborazmeh left
10:14
sarna joined
10:15
p6bannerbot sets mode: +v sarna
|
|||
sarna | what's the idiomatic way of checking if there's a thing x in collection y? | 10:16 | |
10:17
lizmat joined,
p6bannerbot sets mode: +v lizmat
10:18
committable6 joined,
shareable6 joined
10:19
p6bannerbot sets mode: +v committable6,
p6bannerbot sets mode: +v shareable6
10:20
regreg joined,
p6bannerbot sets mode: +v regreg
10:25
lizmat left
10:27
ZzZombo left
|
|||
moritz | using the set "element of" operator | 10:44 | |
except for hashes, where it's %foo{$key}:exists | 10:45 | ||
MitarashiDango[m | My new Camelia plushie is popular 🙂 postimg.cc/gallery/14266sfvy/ | 10:46 | |
Ulti | you can also do collectiony_thing ~~ itemy_thing | 10:47 | |
but not so explicit I guess and could do funky stuff with different objects | 10:48 | ||
sarna | thanks moritz, Ulti :^) | 10:50 | |
MitarashiDango[m: it's a beaut | 10:51 | ||
10:53
lizmat joined
10:54
p6bannerbot sets mode: +v lizmat,
lizmat_ joined
10:55
p6bannerbot sets mode: +v lizmat_
10:58
lizmat left
|
|||
sarna | m: say (1,2,3) (elem) ((1,2,3),(4,5,6)) | 11:03 | |
camelia | False | ||
sarna | why isn't it true? | ||
11:05
spycrab0 joined,
p6bannerbot sets mode: +v spycrab0
|
|||
moritz | m: say (1, 2, 3) === (1, 2, 3) | 11:07 | |
camelia | False | ||
moritz | that's why :( | ||
basically lists are not value types | |||
sarna | oof :( | 11:08 | |
arrays are though! | |||
Ulti | m: say ((1,2,3),(4,5,6)).grep: * eqv (1,2,3) | 11:09 | |
camelia | ((1 2 3)) | ||
moritz | MitarashiDango[m: nice! | 11:11 | |
sarna: I don't think so | |||
m: say [1, 2, 3] === [1, 2, 3] | |||
camelia | False | ||
Ulti | m: say [1,2,3] eqv [1,2,3] | 11:12 | |
camelia | True | ||
CIAvash[m] | m: say ((1,2,3),(4,5,6)) ~~ (**, (1,2,3), **) | ||
camelia | True | ||
sarna | moritz: ah, I compared with == | 11:14 | |
moritz | sarna: that does numeric comparison, so by number of elements | 11:16 | |
sarna | moritz: oh man | 11:18 | |
m: say [1, 2, 3] == [4, 5, 6] | |||
camelia | True | ||
sarna | :') | 11:19 | |
MitarashiDango[m | m: say ((1,2,3),(4,5,6)).Set.Hash | 11:21 | |
camelia | {1 => True, 2 => True, 3 => True, 4 => True, 5 => True, 6 => True} | ||
MitarashiDango[m | m: say ($(1,2,3),$(4,5,6)).Set.Hash | 11:23 | |
camelia | {(1 2 3) => True, (4 5 6) => True} | 11:24 | |
stmuk_ | leon t on now | 11:27 | |
MitarashiDango[m | According to the docs on set: Coerces the invocant to Set, whereby Positionals are treated as lists of values. | 11:29 | |
xinming | What module is sued to send email? | ||
11:30
rindolf left
11:31
sarna left
|
|||
buggable | New CPAN upload: Range-SetOps-0.0.1.tar.gz by SCIMON cpan.metacpan.org/authors/id/S/SC/...0.1.tar.gz | 11:31 | |
11:31
zakharyas left
11:32
sno joined,
rindolf joined,
p6bannerbot sets mode: +v sno
11:33
p6bannerbot sets mode: +v rindolf
11:34
stmuk joined
|
|||
xinming | Seems, We'll have to use mail command. | 11:34 | |
11:34
marcusramberg left
|
|||
xinming | I thought we have something better. :-( | 11:34 | |
11:34
p6bannerbot sets mode: +v stmuk
11:35
marcusramberg joined
11:36
p6bannerbot sets mode: +v marcusramberg,
sno left
11:37
stmuk_ left
11:52
vike1 left
|
|||
buggable | New CPAN upload: Array-Circular-0.0.1.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/...0.1.tar.gz | 12:01 | |
12:10
redhands joined
12:11
p6bannerbot sets mode: +v redhands
12:13
lizmat_ left
12:14
epony left
12:20
ChoHag_ left
12:26
epony joined,
p6bannerbot sets mode: +v epony
12:38
sno joined
12:39
p6bannerbot sets mode: +v sno
12:43
sno left
12:47
zakharyas joined,
p6bannerbot sets mode: +v zakharyas
12:55
alexghacker left
13:02
titsuki left
13:04
diakopter joined,
p6bannerbot sets mode: +v diakopter,
lizmat joined
13:05
p6bannerbot sets mode: +v lizmat
13:17
vrurg joined
13:18
p6bannerbot sets mode: +v vrurg
13:20
espadrine joined
13:21
p6bannerbot sets mode: +v espadrine
13:25
lizmat_ joined
13:26
p6bannerbot sets mode: +v lizmat_
13:28
lizmat left
|
|||
buggable | New CPAN upload: Term-ReadKey-0.0.1.tar.gz by JKRAMER cpan.metacpan.org/authors/id/J/JK/...0.1.tar.gz | 13:31 | |
13:33
CC6619 joined
|
|||
jkramer | \o/ | 13:36 | |
13:37
CC6619 left
13:39
itaipu joined,
p6bannerbot sets mode: +v itaipu
13:50
skids joined
13:51
p6bannerbot sets mode: +v skids
|
|||
SmokeMachine | gtodd: "Red Explores Database" | 13:55 | |
13:55
pj5 joined
13:56
pj5 left
14:07
lizmat_ left
14:09
lizmat joined
14:10
p6bannerbot sets mode: +v lizmat
|
|||
tbrowder_ | jkramer: o/ | 14:13 | |
14:17
lizmat left
14:24
Ven` joined,
p6bannerbot sets mode: +v Ven`
14:28
Ven` left
14:37
regreg left
14:38
lizmat joined
14:39
p6bannerbot sets mode: +v lizmat
14:45
ribasushi joined,
p6bannerbot sets mode: +v ribasushi
|
|||
stmuk | www.youtube.com/watch?v=rHN1x7aFQG0 | 14:50 | |
timotimo | i blagged! wakelift.de/2018/08/15/the-first-p...c-release/ | 14:52 | |
live streams!! | |||
15:00
vike1 joined
15:01
p6bannerbot sets mode: +v vike1
|
|||
[Coke] | timotimo++ | 15:03 | |
15:08
ceevusee joined,
p6bannerbot sets mode: +v ceevusee
|
|||
timotimo | this programming language laurent is describing there seems pretty strange | 15:10 | |
lizmat | yeah, probably dates from the 20th century :-) | 15:12 | |
15:13
lizmat left
15:14
lizmat joined,
lizmat left
15:26
lizmat joined
15:27
p6bannerbot sets mode: +v lizmat
|
|||
stmuk | VMS and DCL were pretty awful, although heavily used in UK unis in the late 80s | 15:27 | |
timotimo | i have never tried VMS either :S | ||
is that something i should try so i can better appreciate modern stuff? :) | |||
huf | eh, just try VMs instead and then lie about it | 15:28 | |
stmuk | the main thing I remember is everyone had "cd" aliases because changing directory was about 2 lines to type | ||
there were two commands SET and SHOW :) | |||
timotimo | oh, so you have to type the full path? | 15:29 | |
no support for relative paths? | |||
15:30
dogbert11 left
|
|||
stmuk | I can't remember ... it was probably more that the syntax was very verbose | 15:31 | |
timotimo | how often do you change directories anyway :) | ||
15:32
ceevusee left
|
|||
stmuk | the only feature I liked was a sort of version control in the file system, you ended up with FOO.TXT;3 after three edits | 15:32 | |
PURGE FOO.TXT | 15:33 | ||
timotimo | interesting. | ||
and opening the file if there's no ;99 will give you the highest number? | |||
stmuk | probably .. I forget now | ||
15:33
cxreg joined
15:34
p6bannerbot sets mode: +v cxreg
|
|||
stmuk | cd .. is "SET DEFAULT [-]" | 15:38 | |
timotimo | that looks interesting, is [-] a "general" thing? | 15:39 | |
stmuk | yes | ||
timotimo | like, is DEFAULT like an array and [-] is kind of like a pop? | ||
stmuk | www.snee.com/bob/opsys/part3vms.pdf | ||
I think DEFAULT is the cwd | 15:40 | ||
the HELP system was interactive and very good | |||
timotimo | it doesn't sound so bad | 15:42 | |
stmuk | it had a few nice features but most people prefered UNIX | 15:45 | |
no libuv though :( although there seem to be ports for AIX and OS/390 :) | 15:55 | ||
15:58
MilkmanDan left,
MilkmanDan joined,
p6bannerbot sets mode: +v MilkmanDan
|
|||
timotimo | is it expected that what the people in between talks say doesn't get picked up by the stream? | 16:14 | |
i think wendy and someone else just said something that was completely quiet on stream but i heard the applouse at least | |||
applause* | |||
stmuk | the soundtrack is a bit odd | ||
timotimo | i think it happened to the person just now, too | ||
stmuk | could moarvm execute using webasm? | 16:15 | |
timotimo | i'm not sure what exactly would stand in the way | 16:18 | |
16:18
jferrero joined,
p6bannerbot sets mode: +v jferrero
|
|||
timotimo | could be that we need some changes inside libuv to make it work? | 16:18 | |
stmuk | wendy's mic isn't being streamed | ||
timotimo | for some reason nobody has tried to cross compile libuv to asm.js or webassembly | ||
maybe because you'd compile to asm.js or webassembly to put things perhaps onto node, which already has libuv in it :P | 16:19 | ||
stmuk | browser-side node.js! | ||
timotimo | perl6 mention on a slide! :) | 16:21 | |
i can't hear the stream right now so apart from "it's about instagram" i don't know what's happening | |||
personally i really don't like instagram #becauseofthetags #toomanytags #whyisthereeverytagoneverypost #post #irc #rant #perl6 #catOnTable #GottaFeedTheCatsSoon #watchingAStream #human #sound #video #picture #blessed #tagcloud #cloud #cats #dogs #burritos | 16:24 | ||
the terrible buzzing sound that sometimes comes up is really unnerving; i closed the stream for now | 16:25 | ||
stmuk | I mispent my youth listening to poor quality short wave so I can filter it out | 16:26 | |
AlexDaniel | how can I get a unicode character by name? | 16:27 | |
m: say “\c[BUTTERFLY]” # that's ok but now with $x ? | |||
camelia | 🦋 | ||
timotimo | parse-names? | ||
m: parse-names("BUTTERFLY") | |||
camelia | ( no output ) | ||
timotimo | m: parse-names("BUTTERFLY").say | ||
camelia | 🦋 | ||
AlexDaniel | ah! | ||
right, thanks | |||
m: parse-names("butterfly").say | |||
camelia | 🦋 | ||
stmuk | examples.perl6.org/categories/cookb...icode.html | ||
AlexDaniel | c: 2015.12 parse-names("butterfly").say | 16:31 | |
committable6 | AlexDaniel, ¦2015.12: «04===SORRY!04=== Error while compiling /tmp/xjsbwZiPqlUndeclared routine: parse-names used at line 1 «exit code = 1»» | ||
AlexDaniel | 6c: parse-names("butterfly").say | ||
16:31
pavlushka7 joined,
pavlushka7 left
|
|||
committable6 | AlexDaniel, gist.github.com/daf867c59d128f72a5...432c83fbe3 | 16:32 | |
AlexDaniel | so that's 2017.03+ | ||
stmuk | docs.perl6.org/routine/parse-names | 16:43 | |
DEPRECATED. Existed only in pre-release proposal version of 6.d language and was eventually renamed to uniparse. | |||
16:43
lizmat left
|
|||
stmuk | In Rakudo implementation, issues deprecation warnings in 6.d language | 16:43 | |
timotimo | oh, right, camelia doesn't output deprecations | 16:45 | |
stmuk | that doesn't warn on the REPL either | 16:46 | |
timotimo | deprecations only warn when the program ends, though perhaps it could be invoked directly after every line in the repl | ||
(and cleared, of course) | |||
16:46
TreyHarris left
|
|||
AlexDaniel | stmuk: aw crap | 16:46 | |
AlexDaniel should read the docs | 16:47 | ||
6c: uniparse("butterfly").say | |||
committable6 | AlexDaniel, gist.github.com/d56584ca132683d260...314bf0ea52 | ||
AlexDaniel | timotimo: in v6.d, not in v6.c | ||
stmuk | timotimo: I don't see a warning using a script either | 16:48 | |
AlexDaniel | e: parse-names("butterfly").say | ||
evalable6 | 🦋 | ||
AlexDaniel | e: use v6.d; parse-names("butterfly").say | ||
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/h6V8dbPYA1 No compiler available for Perl v6.d at /tmp/h6V8dbPYA1:1 ------> 03use v6.d08⏏04; parse-names("butterfly").say |
||
stmuk | even with use v6.d.PREVIEW | ||
timotimo | oh | ||
AlexDaniel | e: use v6.d.PREVIEW; parse-names("butterfly").say | ||
evalable6 | 🦋 | ||
timotimo | sounds like we forgot to put a deprecation code in, or the docs are wrong | ||
AlexDaniel | well this sucks | ||
so parse-names is 2017.03+ and uniparse is 2018.01+ | 16:49 | ||
yet parse-names is about to be deprecated | |||
and the module rightfully used nqp::getstrfromname because I assume no other alternative was available back then | |||
the best fix for the module would be to just hardcode unicode characters | 16:50 | ||
16:51
Ven` joined,
p6bannerbot sets mode: +v Ven`
16:55
MetaNova17 joined
16:56
Ven` left
|
|||
stmuk | Str.uniparse as an alias to Str.parse-names | 16:58 | |
ah probably explains lack of deprecation message | 16:59 | ||
16:59
TreyHarris joined,
p6bannerbot sets mode: +v TreyHarris
17:00
MetaNova17 left
|
|||
AlexDaniel | 6c: ‘🦋’.uniname.say | 17:01 | |
committable6 | AlexDaniel, gist.github.com/0e6d1ef0fa0935d149...f352089849 | ||
AlexDaniel | oh… | ||
stmuk | I think the docs are wrong .. it exists in 6.c and is planned to issue depreaction in 6.d (and doesn't yet) | 17:02 | |
unless it's in 6.c by mistake | |||
AlexDaniel | u: flamingo | 17:03 | |
unicodable6 | AlexDaniel, Found nothing! | ||
17:08
Xliff left
17:18
sarna joined
17:19
p6bannerbot sets mode: +v sarna
17:21
espadrine left
|
|||
sarna | m: my Int $x = 3; my Str $y = "something"; say $x eqv $y | 17:23 | |
camelia | False | ||
sarna | why isn't this a runtime error? | ||
AlexDaniel | why would it be? | ||
sarna | it won't ever be true, the types are different | 17:24 | |
AlexDaniel | so it is False | ||
m: say 2 > 5 # this is also always False but that's alright, right? | 17:25 | ||
camelia | False | ||
sarna | hm, I could write a type-safe function myself I guess 🤷 | ||
anyway, thanks for answering :^) | 17:26 | ||
AlexDaniel | sarna: I don't think I helped :) | ||
sarna | AlexDaniel: well yeah, I wasn't asking for help though :^) I asked why it's like this and you told me | 17:28 | |
Geth | doc: a045e535cf | (JJ Merelo)++ | htmlify.p6 Adds indexing for submethod closes #2265 |
17:32 | |
17:33
inbioz joined
17:34
p6bannerbot sets mode: +v inbioz
17:35
sno joined
17:36
p6bannerbot sets mode: +v sno
17:39
Coffee-N-Donuts left
17:40
espadrine joined
17:41
p6bannerbot sets mode: +v espadrine
17:44
inbioz left
17:52
Guest72310 joined
17:53
p6bannerbot sets mode: +v Guest72310
|
|||
Geth | doc: e0843c327b | (JJ Merelo)++ | 2 files Changes assets to https, probably closes #2246 |
17:56 | |
17:57
Guest72310 left
18:05
zakharyas left
18:07
obfusk left
18:08
redhands left,
obfusk joined
18:09
p6bannerbot sets mode: +v obfusk
18:16
frmus15 joined
18:17
frmus15 left
18:26
sauvin left
18:30
Zoffix joined,
sarna left,
p6bannerbot sets mode: +v Zoffix
18:33
tomaw5 joined,
tomaw5 left
|
|||
Geth | doc: 13a8812015 | (Zoffix Znet)++ | doc/Type/Str.pod6 Reword deprecation of parse-names |
18:35 | |
synopsebot | Link: doc.perl6.org/type/Str | ||
Zoffix | stmuk: it's not that someone forgot to put any deprecation code, it's just Rakudo doesn't have the means to warn in methods based on the language version. | 18:36 | |
That applies to several 6.d deprecations. | |||
They're deprecated in the language itself; it's rakudo's problem that it can't communicate that message effectively to the user. | |||
18:50
Zoffix left
|
|||
Geth | Pod-To-HTML: zoffixznet self-assigned Test errors with 2018.06 github.com/perl6/Pod-To-HTML/issues/43 8fbb00b442 | (Zoffix Znet)++ | 3 files Fixes github.com/perl6/Pod-To-HTML/issues/43 |
18:58 | |
19:04
insidious27 joined
19:09
insidious27 left
19:12
pmurias joined
19:13
p6bannerbot sets mode: +v pmurias
|
|||
pmurias | timotimo: re compiling libuv to webassembly you would want to make it work differently if you wanted it to run on node.js than in the browser | 19:13 | |
yoleaux | 15:35Z <AlexDaniel> pmurias: I'm not following. Debian maintainers do care, and debian doesn't seem to be a disaster. What am I misunderstanding? | ||
19:18
Luneburg joined,
p6bannerbot sets mode: +v Luneburg
|
|||
Luneburg | There's a bannerbot now? | 19:19 | |
Anyway, I'm working through the ThinkPerl6 book, and I came across this example: say ~$0 if $string ~~ /(<[\d-]>+)/; I'm not sure what the "-" part after the d does | 19:20 | ||
19:20
Possum left
|
|||
moritz | it just stands for a - | 19:23 | |
so "any digit or a minus" | |||
pmurias | AlexDaniel: what I mean is that it would be great if the Perl 6 community would be involved in distro packaging (with the assumption that the Perl 6 communities and debian packagers intersect) | 19:25 | |
s/debian/distro packages/ | 19:26 | ||
AlexDaniel: the vast majority of debian packages are great | |||
Luneburg | moritz: Oh, of course. What a stupid question :P | ||
pmurias | AlexDaniel: but for example the debian package for node.js was a dumpster fire | 19:27 | |
tobs | m: say "123" ~~ /<[\d-\e]/ | 19:29 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of - as character range; in Perl 6 please use .. for range, for explicit - in character class, escape it or place it as the first or last thing at <tmp>:1 ------> 3say "123" ~~ /<[\… |
||
tobs | Luneburg: it really isn't if you've used pcre or similar. There's even a warning for it ^ | 19:30 | |
timotimo | Luneburg: the bannerbot is here because there's been a pretty annoying spam attack against the freenode irc network | 19:31 | |
19:33
Possum joined,
p6bannerbot sets mode: +v Possum
19:45
avalenn joined
19:46
p6bannerbot sets mode: +v avalenn
|
|||
gtodd | SmokeMachine: RRed -> Red recursively exploring data :-) | 19:46 | |
SmokeMachine | gtodd: :) | 19:47 | |
gtodd: but did you like it? | |||
19:47
molaf joined
19:48
p6bannerbot sets mode: +v molaf
|
|||
gtodd | SmokeMachine: yeah | 19:48 | |
nice | |||
And now for a "silly report from the field" .... | |||
19:49
nedbat7 joined
|
|||
gtodd | There was a naïve perl5 vs perl6 log grepping script on perlmonks a couple of years ago ... perl5 could grep all 5 letter words in a logfile in 0.2 seconds ... perl6 took 3 minutes :-D | 19:49 | |
just tested with new p6 and a 500k line file ... perl5 took 2.2 seconds ... perl6 took 2.04 | |||
and was able to use 107% of cpu :) | 19:50 | ||
perl5 never gets higher than 99% ;-) ... haha | 19:51 | ||
timotimo | have you tried to .race the lines iterator? it *could* be faster, but it's probably barely faster to search through the strings than to generate the iterator | 19:53 | |
so maybe it comes out as a bit more expensive in the end | 19:54 | ||
in wallclock time, i mean | |||
it's surely more expensive in cpu time because that's how it works :) | |||
19:56
nedbat7 left
|
|||
gtodd | I know ... I have 8 or maybe 16 cpus on that box ... though it might get even higher | 19:57 | |
19:57
zakharyas joined
|
|||
gtodd | so was thinking with a really big file and the 6.d diwali tricks it might go super fast | 19:57 | |
19:57
p6bannerbot sets mode: +v zakharyas
|
|||
gtodd | but I know nothing about threading etc. so just glad it goes fast :-D | 19:58 | |
timotimo | i should have recommended .hyper instead of .race | ||
because .race can cause the order of output to change | |||
but making it multithreaded is literally the change between "foo.txt".IO.lines.hyper.grep(*.contains("hi")) instead of "foo.txt".IO.lines.grep(*.contains("hi")) | 19:59 | ||
gtodd | timotimo: when I say "naïve" I really mean it :-) | 20:00 | |
perl6 -e 'say lines.words.grep(/(<<\w**5>>)/)' 500k-lines.txt | |||
timotimo | oh, really? | ||
how the heck is perl6 faster than perl5 at this | |||
that goes way against my intuition | |||
gtodd | timotimo: perl5 is still more useful for piping to shell commands etc. so I am trying to get a more usecase equivalent script | 20:01 | |
perl -wnl -E 'say $1 if /\b(\w{5})\b/' 500k-lines.txt | wc -l # how many lines with 5 letter words ... etc etc | 20:02 | ||
timotimo | huh, really | ||
how did you generate that file? | |||
xinming | anyone here recommends a module to send email? | 20:03 | |
[Coke] | perl6 isn't printing all the words. | ||
so, cheating? | |||
xinming | or I just do it with plain mail command is the sollution ATM? | ||
timotimo | ooh | ||
20:03
itaipu left
|
|||
timotimo | yes, with say it'll stop after the first few | 20:04 | |
gtodd | [Coke]: yes | ||
timotimo | it'll also not calculate all of them | ||
[Coke] | if I run it with > /dev/null and time both against /usr/share/dict/words, I get that p5 is 0.124s and p6 is 0.645s | ||
20:04
itaipu joined
|
|||
[Coke] | m: say .645/.124 | 20:04 | |
camelia | 5.201613 | ||
gtodd | [Coke]: so I thought I would need to store data maybe make a more full on script instead of piping | 20:05 | |
20:05
p6bannerbot sets mode: +v itaipu
|
|||
[Coke] | perl6 -e 'put lines.words.grep(/(<<\w**5>>)/).join("\n")' is more equivalent to the p5 version | 20:07 | |
gtodd | p6 always has seemed generically slow printing to the terminal ... which I'm guessing was not a super high priority for optimization early on ... so not a drop in replacement for scripting etc. | ||
[Coke]: right | |||
[Coke] | then it goes to 3.468s here (vs. .231s) | ||
20:07
itaipu left
|
|||
[Coke] | m: say 3.468/.231 | 20:08 | |
camelia | 15.012987 | ||
gtodd | [Coke]: :-D | 20:09 | |
20:09
itaipu joined
20:10
didi joined,
p6bannerbot sets mode: +v didi,
p6bannerbot sets mode: +v itaipu,
didi left
|
|||
gtodd | for a sysadmin and for the time being I'm saying p6 is optimized for readability and "orchestrating" all the things instead of scripting with output to the terminal ;-) | 20:11 | |
timotimo: definitely hyper warms up more cpus ... perl6 -e 'put lines.hyper.grep(/(<<\w**5>>)/).join("\n")' | 20:15 | ||
timotimo | you could "time" it | 20:16 | |
gtodd | timotimo: but the full equivalent print to terminal run is 35 times faster in perl5 :-D | ||
timotimo | [Coke]: .lines.words is not quite right, you're mashing lines back together before splitting on words | ||
gtodd | hyper gives me 380% cpu | 20:17 | |
timotimo | personally i'd implement this as .lines.grep(.words.grep(*.chars eq 5)).elems.say given "foobar.txt".IO | ||
gtodd: but probably not faster wallclock time? | |||
gtodd | no only barely faster | ||
more cpus recruited each run ... OS thing I guess | 20:18 | ||
timotimo | ok, i expected that | ||
no, just mostly spending time dealing with communication and coordination of the work | |||
20:18
sena_kun left
|
|||
timotimo | compared to infinitesimal amounts of work per "work item" | 20:18 | |
20:19
sena_kun joined,
Luneburg left
|
|||
timotimo | what's your 500k lines file like? how can i get something representative generated locally? | 20:19 | |
20:19
p6bannerbot sets mode: +v sena_kun,
Ven` joined
|
|||
gtodd | I thought there might be a way to write the script to make it more "threaded" on purpose for performance ... like read lines then read words in the line in loop that awaits things or some new thing | 20:20 | |
timotimo: web server log | |||
log(s) catted together | |||
20:20
p6bannerbot sets mode: +v Ven`
|
|||
timotimo | hrm, i don't have any locally, i don't think | 20:20 | |
gtodd | probably standard Unix words or dict file would work | 20:21 | |
20:21
sena_kun left
|
|||
timotimo | the line i had up there was missing a * before the .words.grep, btw | 20:22 | |
i get through /usr/share/dict/words, which has 480k lines, in about 7.8 seconds, finding about 25k lines that have 5-letter-words in them | 20:24 | ||
20:24
Ven` left
|
|||
timotimo | wow, the regex version is actually a bunch faster than my .words.grep(*.chars == 5) approach | 20:25 | |
i must be quite tired if i tried to use eq up there, haha | |||
20:26
awwaiid left
|
|||
gtodd | 'bout the same here ... yeah regex is faster | 20:27 | |
timotimo | that's cool | ||
AFK for a bit | |||
gtodd | I have a big ZFS pool and many disks so there's little to no warm up speed for reading the files it seems. I like figuring out how to make a simple script faster - based as much as possible on the script itself. p6 is "young" and featureful enough that one little thing can make a big difference | 20:29 | |
20:37
zakharyas left
20:41
rindolf left
20:46
devmikey joined,
p6bannerbot sets mode: +v devmikey
20:52
vrurg_ joined
20:53
vrurg left,
vrurg_ is now known as vrurg,
p6bannerbot sets mode: +v vrurg
20:59
Praise left
21:00
vrurg left,
vrurg joined
21:01
p6bannerbot sets mode: +v vrurg
21:04
vrurg left,
vrurg joined
21:05
p6bannerbot sets mode: +v vrurg
21:12
devmikey left,
devmikey joined,
p6bannerbot sets mode: +v devmikey,
skids left
21:15
vrurg_ joined
21:16
p6bannerbot sets mode: +v vrurg_
21:17
vrurg left,
vrurg_ is now known as vrurg
21:24
vrurg left,
vrurg_ joined
21:25
p6bannerbot sets mode: +v vrurg_
21:27
devmikey left
21:35
Praise joined,
Praise left,
Praise joined,
p6bannerbot sets mode: +v Praise
21:36
p6bannerbot sets mode: +v Praise
21:55
BuildTheRobots4 joined
22:01
espadrine left
22:03
BuildTheRobots4 left
22:18
robertle left
22:20
lizmat joined
22:21
p6bannerbot sets mode: +v lizmat
|
|||
stmuk | Zoffix: ah! | 22:44 | |
22:46
Ven` joined,
donaldh joined
22:47
p6bannerbot sets mode: +v Ven`,
p6bannerbot sets mode: +v donaldh
22:51
Ven` left
22:54
floogulinc23 joined
22:56
floogulinc23 left
23:05
dct joined,
p6bannerbot sets mode: +v dct
23:14
pmurias left
23:15
spycrab0 left
|
|||
MasterDuke | i set a breakpoint in gdb while compiling an nqp file, is there an easy way to see what line in the file i'm compiling i'm at? | 23:27 | |
heh, that was meant for #moarvm, but anybody can feel free to offer up suggestions... | 23:32 | ||
23:32
dct left
23:36
devmikey joined,
p6bannerbot sets mode: +v devmikey
23:43
donaldh left
23:56
JJJ000 joined,
p6bannerbot sets mode: +v JJJ000
|
|||
vrurg_ | Can a pointy block accept a named parameter? | 23:56 | |
timotimo | yes | 23:59 | |
m: my $pobo = -> :$foo { say "you gave me a $foo" }; $pobo(foo => 99) | |||
camelia | you gave me a 99 | ||
23:59
Ven` joined
|