»ö« 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:00
rindolf left
00:06
Hotkeys joined,
p6bannerbot sets mode: +v Hotkeys
|
|||
buggable | New CPAN upload: AttrX-Mooish-v0.2.6.tar.gz by VRURG modules.perl6.org/dist/AttrX::Mooish:cpan:VRURG | 00:12 | |
00:22
[particle] joined
00:23
p6bannerbot sets mode: +v [particle]
00:24
[particle]1 left
00:31
sotona left
|
|||
Hotkeys | I have a question to which the answer is probably no, but I figured I'd ask: is there a nice way (or a way at all) to hot reload modules for eg. live plugin reloading for an IRC bot | 00:38 | |
lookatme_q | I think we not have one | 00:41 | |
00:49
b2gills left
|
|||
epsilonphase | Do classes in Perl6 have destructors(Or something else that's essentially a cleanup method)? | 00:49 | |
Hotkeys | iirc DESTROY submethod is called when something is garbage collected | 00:52 | |
lookatme_q | But should not depend on the GC | 00:53 | |
epsilonphase | From what I understand, classes aren't guaranteed to be collected when the program exits? | ||
lookatme_q | there is no DESTRUCT currently | 00:54 | |
epsilonphase | Too bad, that'd have been perfect for that temporary file cleanup. | 00:55 | |
lookatme_q | you maybe put them in LEAVE or others block | 00:56 | |
geekosaur | but there should be a phaser for the main file? | ||
00:56
molaf_ left
|
|||
Hotkeys | you might be able to make use of the END phaser | 00:56 | |
lookatme_q | epsilonphase, docs.perl6.org/language/phasers#___top | 00:57 | |
epsilonphase | Well, with weak references, if those exist, I think that could definitely work. | 00:58 | |
timotimo | we do not currently have weak reference support | 00:59 | |
epsilonphase | Oh. I guess that trying to make concessions to the language in order to handle it like C++ is probably not productive then. :S | 01:06 | |
Hotkeys | what're you trying to do? | 01:08 | |
timotimo | fwiw, things you eval will not stick around forever | 01:09 | |
so maybe that can help | |||
will just probably have to work around some built-in caching maybe? | |||
epsilonphase | More or less RAII style cleanup. | ||
01:12
kaare_ left
01:16
b2gills joined
01:17
p6bannerbot sets mode: +v b2gills
01:50
sotona joined,
p6bannerbot sets mode: +v sotona
02:06
ImJimIM joined
02:07
p6bannerbot sets mode: +v ImJimIM
02:15
fake_space_whale joined
02:16
ImJimIM left,
p6bannerbot sets mode: +v fake_space_whale
02:22
perlpilot joined,
sotona left
02:28
AlexDaniel left
03:28
benchable6 left,
bloatable6 left,
reportable6 left,
notable6 left,
shareable6 left,
undersightable6 left,
greppable6 left,
quotable6 left,
squashable6 left,
committable6 left,
unicodable6 left,
coverable6 left,
bisectable6 left,
statisfiable6 left,
evalable6 left,
releasable6 left,
nativecallable6 left
03:29
quotable6 joined,
ChanServ sets mode: +v quotable6,
evalable6 joined,
ChanServ sets mode: +v evalable6,
committable6 joined,
bloatable6 joined,
ChanServ sets mode: +v bloatable6,
unicodable6 joined,
ChanServ sets mode: +v unicodable6,
nativecallable6 joined,
ChanServ sets mode: +v nativecallable6,
greppable6 joined,
notable6 joined,
reportable6 joined,
ChanServ sets mode: +v reportable6,
releasable6 joined,
benchable6 joined,
bisectable6 joined,
coverable6 joined,
ChanServ sets mode: +v benchable6,
ChanServ sets mode: +v bisectable6,
ChanServ sets mode: +v coverable6,
squashable6 joined,
undersightable6 joined,
shareable6 joined,
ChanServ sets mode: +v shareable6,
p6bannerbot sets mode: +v quotable6
03:30
p6bannerbot sets mode: +v evalable6,
p6bannerbot sets mode: +v committable6,
p6bannerbot left,
p6bannerbot joined
03:33
perlpilot left
03:40
sotona joined
03:49
DarthGandalf left
03:50
DarthGandalf joined
04:12
ZzZombo joined
04:15
sotona left
04:20
spycrab0 left
04:21
epony left
04:34
Ven` joined
04:39
Ven` left
04:47
curan joined
04:48
statisfiable6 joined
05:17
Guest98697 left
05:19
giraffe joined,
giraffe is now known as Guest40926
05:26
benjikun joined
05:31
sotona joined
05:36
imcsk8 left,
imcsk8 joined
05:37
silug left
05:40
quester joined
05:43
imcsk8 left,
imcsk8 joined
05:46
epony joined
05:49
sauvin joined
06:01
telex left
06:05
sotona left
06:06
telex joined
06:11
Summertime left
06:13
Summertime joined
06:16
ZzZombo_ joined
06:17
fake_space_whale left
06:19
epsilonphase left
06:20
ZzZombo left,
ZzZombo_ is now known as ZzZombo,
ZzZombo left,
ZzZombo joined
06:25
jeromelanteri joined
06:26
jeromelanteri left
06:28
aborazmeh joined,
aborazmeh left,
aborazmeh joined
06:31
cjkinni left
06:32
cjkinni joined
06:36
Ven` joined
06:41
Ven` left
06:44
quester left,
quester joined
06:47
quester left
06:50
jmerelo joined
06:53
jcarty joined
06:56
epony left
06:58
ZzZombo_ joined
07:04
jc_ joined,
jcarty left,
jc_ left,
jcarty joined
07:12
rindolf joined
07:13
aborazmeh left
07:20
ufobat joined
07:37
Ven` joined
07:41
Ven` left
07:50
AlexDani` joined,
ZzZombo_ left
07:51
AlexDani` is now known as AlexDaniel,
AlexDaniel left,
AlexDaniel joined
08:03
zakharyas joined
08:05
theovdh joined
|
|||
masak | so, the perl6/nqp repository has a vulnerability warning... | 08:07 | |
github.com/perl6/nqp | |||
(guess it's only visible if you're logged in, and maybe a contributor) | |||
I'm curious about this comment left in nqp's regex grammar by Mouq in 2013: "XXX Eventually squish termseq and termish and get < || && | & > infixes using by EXPR in nibbler" | 08:14 | ||
I *think* this means that the regexes could be written using an operator precedence parser, like Perl 6 itself is, but right now it's done more recdescent-y | |||
08:24
matthiaskrgr13 joined
08:29
matthiaskrgr13 left,
sena_kun joined
|
|||
Geth | doc/master: 4 commits pushed by (JJ Merelo)++ | 08:39 | |
lookatme_q | Seems like we not support tail recursive optimization, right ? | 08:47 | |
sub f(int \n, int \r) { return r if v == 0; f n - 1, r + n; }; | 08:48 | ||
masak | lookatme_q: no, and that's not in the books either, at least not without explicit opt-in | ||
lookatme_q | oh, this will cause a lot of memory using | 08:50 | |
08:51
zakharyas left,
zakharyas joined
08:53
domidumont joined
|
|||
lookatme_q | masak, is this exists in the dev scheduler ? | 08:54 | |
I mean is it will support in the future ? | |||
I think this is quite important for the functional style programming | 08:55 | ||
Though I am not the fans of functional style :) | 08:56 | ||
I just saw some question in the website about the tail recursive, and wonder is Perl 6 support that :) | 08:57 | ||
09:09
domidumont left,
domidumont joined,
lizmat joined
09:11
Ven` joined
|
|||
masak | lookatme_q: TCO is one of those things that are a definitive "nice to have" in a language, but it's also typically not something that's added after the fact. (cf JavaScript implementations) | 09:15 | |
lookatme_q: for starters, how will this interact with (a) giving truthful stack traces, and (b) JIT/on-stack replacement? | 09:16 | ||
my point: it's a neat feature, but it ain't for free, nor does it have zero repercussions on the rest of the language | 09:17 | ||
09:21
domidumont left,
Hotkeys left
09:29
ZzZombo left
09:30
ZzZombo joined
09:38
rindolf left
09:40
Ven` left
09:44
Ven` joined
09:51
rindolf joined
09:56
Ven` left
10:00
Ven` joined
10:05
lancew joined
|
|||
masak | wow, inheriting for re-use is so stupid | 10:07 | |
10:08
lancew left
|
|||
masak | I'm reading an old Smalltalk tutorial, and it uses an example where Timestamp is a subclass of Date | 10:08 | |
so it has Date's year, month, dayOfMonth, but it also adds hour, minute, second | |||
apparently there used to be a time where this was considered a good idea | |||
10:19
ZzZombo left
|
|||
Ulti | not just reuse, also generalisation you can treat a timestamp as a date directly, thats an example of where I see it working well actually because all the methods for a date apply equally well to a datetime but not the other way around | 10:23 | |
also everyone forgets that composition is totally a thing you did with traditional class heirarchy type OO you just had attributes and proxies to achieve the same thing with none of the advantage of types | 10:26 | ||
like Java really only fixed the typeness of that paradigm with interfaces, it didnt really make it more convenient like roles/mixins do | 10:29 | ||
10:29
Technaton joined
10:32
esh left
10:33
esh joined
|
|||
Ulti | its more worrying lisp is 1958 and smalltalk a decade later, thats a surprisingly long time ago in compsci years | 10:34 | |
given how much head space those two languages cover given modern languages | |||
cool new edgy feature in X in 2018 was probably something in a lisp in the 70s | 10:35 | ||
mascots have gotten better though en.wikipedia.org/wiki/Hy | 10:37 | ||
samcv | m: my $one = Q|\|; say $one; say $one.trans($one => "$one$one") | 10:44 | |
camelia | \ \ |
||
samcv | not sure why it doesn't change it to two backslashes? | ||
m: my $one = Q|\|; say $one; say $one.trans($one => "aa") | |||
camelia | \ a |
||
samcv | maybe it can't replace with more than one? | ||
docs says "Replaces one or many characters with one or many characters." | 10:45 | ||
10:46
ChanServ sets mode: +v AlexDaniel
|
|||
jnthn | m: my $one = Q|\|; say $one; say $one.trans([$one] => ["$one$one"]) | 10:46 | |
camelia | \ \\ |
||
AlexDaniel | where was my voice? | ||
jnthn | I think it's that form that does the multiple | ||
10:46
ChanServ sets mode: +o p6bannerbot
|
|||
samcv | ah ok | 10:47 | |
AlexDaniel | :S p6bannerbot should learn to op itself | ||
10:48
ChanServ sets mode: +vvvv esh Technaton Ven` rindolf,
ChanServ sets mode: +vvvv lizmat zakharyas sena_kun theovdh,
ChanServ sets mode: +vvvv ufobat jcarty jmerelo cjkinni,
ChanServ sets mode: +vvvv Summertime telex sauvin imcsk8,
ChanServ sets mode: +vvvv benjikun Guest40926 statisfiable6 curan,
ChanServ sets mode: +v DarthGandalf
10:49
ChanServ sets mode: +vvvv undersightable6 squashable6 releasable6 notable6,
ChanServ sets mode: +v greppable6
10:51
zakharyas1 joined,
lizmat left
10:52
p6bannerbot sets mode: +v zakharyas1,
zakharyas left
|
|||
AlexDaniel | damn | 10:53 | |
it could be that somebody asked a question, or something | |||
and nobody could see it because the user had no +v | 10:54 | ||
it's “fixed” now, but eh :S | |||
masak: yeah there's even a ticket from a few months ago, only affects js backend as far as I understand github.com/perl6/nqp/issues/437 | 10:55 | ||
samcv | jnthn: opened a docs issue | ||
thanks for the help | |||
Summertime | you should be able to give the bot a +O (capital) flag in /cs flags, which will cause it to auto-op? | 10:56 | |
AlexDaniel | riiight | ||
jmerelo | samcv: I'm on it | 10:57 | |
samcv | great! | ||
it seems i may be making a perl6 module that lets you get the git log | |||
jmerelo | samcv: as in, without using the git command? | 10:58 | |
samcv | well it uses the git command. but it will probably return a perl6 data structure | ||
jmerelo | samcv++ | 10:59 | |
samcv | it doesn't seem to exist yet. i was going to use from-json to make it a perl 6 structure after processing the input to escape things. but i might not do that now hmm | 11:00 | |
jmerelo | samcv: I did some ad-hoc stuff for my TPF grant, mostly to analyze commits, not exactly log. | ||
samcv | yeah. i need the log's text and the files modified | 11:01 | |
jmerelo | samcv: was thinking about turning it into a Repo::Mining module, but if you start, I can always later add what's not in there. | ||
11:01
luke-jr2 joined
11:02
luke-jr2 left
|
|||
AlexDaniel | Summertime: right, and I can't do that | 11:02 | |
jmerelo | samcv: right. It would be a great thing in the ecosystem :-) Good luck and I know you don't need help, but will check it out and/or star it when you release it | 11:03 | |
samcv: keep us informed | |||
AlexDaniel | Summertime: it's probably better to fix the bot itself | 11:04 | |
Summertime: github.com/zoffixznet/perl6-banbot...ter/bot.p6 | |||
Summertime | dang, and yeah thats better practice, just was thinking of a quick fix if possible | ||
man sometimes I feel like I have a handle on perl6 and then I see more to learn | 11:08 | ||
samcv | what is the best way to create key/value pairs from one array that's keys and one that's values | 11:11 | |
i know there's an operator or sub but i can't remember | |||
AlexDaniel | Summertime: it should be something like: multi method irc-join ($e where .nick eq $nick) { .send: :where<ChanServ>, text => “op {.channel}” } | 11:12 | |
sena_kun | samcv, Z=>? | ||
samcv | that sounds like it | ||
sena_kun | m: say <one two three> Z=> (1, 2, 3) | ||
camelia | (one => 1 two => 2 three => 3) | ||
samcv | perfect | 11:13 | |
sena_kun | `zip (=>) foo bar` looks a bit more familliar for me, on the other hand `Z=>` is less to type. :) | ||
m: say <one two three> >>=><< (1, 2, 3) | 11:14 | ||
camelia | (one => 1 two => 2 three => 3) | ||
sena_kun | m: say <one two three four> >>=><< (1, 2, 3) | ||
camelia | Lists on either side of non-dwimmy hyperop of infix:«=>» are not of the same length left: 4 elements, right: 3 elements in block <unit> at <tmp> line 1 |
||
sena_kun | will give you nice exception when lists have different length, where Z will just omit elements I think. | ||
11:17
kaare_ joined
|
|||
AlexDaniel | Hotkeys: hello :) long time no see | 11:17 | |
ah, and now they left! | |||
11:18
p6bannerbot sets mode: +v kaare_
|
|||
Summertime | ok, PRed a autoop method | 11:21 | |
11:24
zakharyas1 left
|
|||
jmerelo | sena_kun: that combination of > and = starts to look a bit like brainf*ck :-) | 11:24 | |
Summertime: there's always something to learn. And relearn. And document... | 11:25 | ||
masak | re github.com/perl6/nqp/blob/master/s...#L164-L165 -- does the p6 regex slang have a "juxtaposition"/"empty infix" operator for concatenation? | 11:26 | |
(it was in order to answer that question I was looking at the grammar in the first place) | |||
sena_kun | jmerelo, well, in Haskell you have nice >=>, >>>, >>= kind of ops, so... And I am too lazy for nice Unicode `»«` symbols. | ||
masak | clearly you're not :P | 11:27 | |
sena_kun | I copy-pasted those from channel topic. :P | ||
masak | haha | ||
moritz | masak: I don't quite understand the question. If the question is "does no infix imply concatenation?" then yes | ||
but I think you know that, so that'll hardly be your question :-) | 11:28 | ||
Geth | doc: 6381a9d51d | (JJ Merelo)++ | doc/Type/Str.pod6 Clarifies trans behavior, closes #2272 |
||
doc: 049ba7cd1c | (JJ Merelo)++ | doc/Type/Str.pod6 Fixes space after comma |
|||
synopsebot_ | Link: doc.perl6.org/type/Str | ||
masak | moritz: my question can be rendered as "if we were to take Mouq's suggestion and turn that bit of the grammar into an EXPR, would we need to define an _empty infix operator_ (or something similar) as a result?" | ||
benjikun | sena_kun: The `Z=>` is a zip operator | 11:29 | |
if no one responded to you | |||
masak | as in, how could you do it as EXPR without doing an empty infix | ||
moritz | I think you'd need a specialized EXPR | 11:30 | |
11:30
Ven` left
|
|||
sena_kun | benjikun, mm, sorry? samcv asked how to zip lists above, I've answered with a couple of methods I know. :) Thanks anyway. | 11:31 | |
benjikun | ah, whoops :P | ||
misread | |||
sena_kun | np | ||
11:33
araraloren joined
11:34
p6bannerbot sets mode: +v araraloren
11:41
jmerelo left,
scimon joined
11:42
p6bannerbot sets mode: +v scimon,
kerframil joined,
p6bannerbot sets mode: +v kerframil
11:48
araraloren left,
domidumont joined
11:49
p6bannerbot sets mode: +v domidumont,
domidumont left
11:54
[particle] left
|
|||
samcv | ${:AuthorDate("2018-06-24 18:08:09 -0700"), :AuthorEmail("samantham\@posteo.net"), :AuthorName("Samantha McVey"), :Body(""), :Subject("Add expression template to .editorconfig (use 2 spaces)"), :changes($[{:added(1), :filename(".editorconfig"), :removed(1)},]), :commit("a651be890232f25e7bc325d33598d2ab6ef02d92")} | 12:07 | |
nice, this is super helpful now i can actually do stuff with the data | 12:08 | ||
12:13
kerframil left
12:14
kerframil joined,
p6bannerbot sets mode: +v kerframil
12:22
spycrab0 joined,
p6bannerbot sets mode: +v spycrab0
12:26
Ven` joined
12:27
p6bannerbot sets mode: +v Ven`
12:28
[particle] joined,
p6bannerbot sets mode: +v [particle]
12:32
Ven` left
12:34
zakharyas joined,
maxalt18 joined
12:35
Ven` joined,
p6bannerbot sets mode: +v zakharyas,
maxalt18 left,
p6bannerbot sets mode: +v Ven`
12:37
pmurias joined
12:38
p6bannerbot sets mode: +v pmurias
12:48
Kaiepi left
12:52
Ven` left
|
|||
Geth | doc: MorayJ++ created pull request #2273: Anchor case |
12:53 | |
ecosystem: 7c5a7cfb6a | dagurval++ (committed using GitHub Web editor) | META.list Remove Webservice::Justcoin Remove unmaintained module |
12:55 | ||
doc/master: 4 commits pushed by MorayJ++, Altai-man++ | 13:01 | ||
13:05
telex left
13:06
telex joined
13:07
p6bannerbot sets mode: +v telex
13:10
sotona joined
13:11
p6bannerbot sets mode: +v sotona
|
|||
masak | moritz: re "you need a specialized EXPR", yes -- I think so too | 13:11 | |
moritz: I think it comes down to every language/slang choosing what TTIAR should mean. should it be an error, or should it be a juxtaposition operator? | 13:12 | ||
crucially, if it's the latter, then you cannot also have things like `if 2 + 2 == 4 {`, where the TTIAR between the `4` and the `{` signals that the EXPR is over | 13:13 | ||
13:15
sotona left
|
|||
moritz | also, tokenization can be very dependent on TTIAR behavior | 13:16 | |
masak | "tokenization"? :) | 13:17 | |
13:18
abraxxa1 left
|
|||
masak | you mean that thing that shows up at the beginning of every textbook about compilers, but which I never use because I use Perl 6 grammars? :P | 13:18 | |
13:18
abraxxa joined,
Ven` joined
13:19
p6bannerbot sets mode: +v abraxxa,
p6bannerbot sets mode: +v Ven`
|
|||
moritz | well, if you detect two terms in a row, you've identified two substrings as terms | 13:20 | |
which lies firmly withing tokenization, even if you don't explicitly think about it that way | |||
and / <term>+ % <infix> / is a quite different tokenization than / <term>+ / | 13:21 | ||
masak | aye | ||
what the p6regex grammar does currently is basically / <termish>+ / | |||
I dunno, I was tickled about what's basically a TODO comment from 2013 left in the source :) | 13:22 | ||
especially since it suggested migrating things to EXPR when I was out hunting for a juxtaposition operator | |||
moritz | .oO( <termish> is so TimToadyish :D ) |
||
masak | it is | ||
I strongly suspect you know this, but it means "term, cushioned in zero or more prefixes and postfixes" | 13:23 | ||
there's also "infixish", which ISTR includes metaop things | |||
masak .oO( masaksplaining ) | 13:24 | ||
moritz | I knew it once, at least :-) | 13:25 | |
masak | m: sub infix:< >($l, $r) { "lol, I'm zero-width" }; "OH " "HAI" | 13:28 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Null operator is not allowed at <tmp>:1 ------> 3sub infix:< >7⏏5($l, $r) { "lol, I'm zero-width" }; "OH |
||
masak thought so | |||
m: sub infix:<null>($l, $r) { ":P" }; "not allowed," null " HUH?" | 13:29 | ||
camelia | ( no output ) | ||
masak | m: sub infix:<null>($l, $r) { ":P" }; say "not allowed," null " HUH?" | ||
camelia | :P | ||
13:38
candr joined,
p6bannerbot sets mode: +v candr
13:40
sotona joined
13:41
p6bannerbot sets mode: +v sotona
|
|||
candr | Is there a way to validate if a string is an acceptable path without attemping to create a new file/dir or using a regex? I want to check if a path input by the user is valid, but it may or may not actually create it at a later time. | 13:41 | |
moritz | candr: on Linux, any string that doesn't contain the zero byte is an acceptable path | 13:42 | |
(possibly with a length limitation) | 13:43 | ||
candr | moritz: What if I need it to be OS agnostic? Like on windows it must start with a drive letter etc... | 13:44 | |
moritz | candr: what does it mean to be OS agnostic? | ||
13:45
sotona left
|
|||
moritz | candr: does it need to be valid on all OS? or on the current OS? or something else? | 13:45 | |
candr | moritz: must validate path if on unix or windows or... this program in particular is mainly being used on a windows machine. | 13:46 | |
moritz | candr: the proper solution to whatever problem you are actually having is probably to come up with a set of rules that are stricter than windows and linux, but present a reasonable subset for the user | ||
also, strings like "../../etc/hostname" are valid paths, but should usually not be treated as acceptable inputs | 13:48 | ||
the answer is "it's complicated" :( | |||
13:48
skids joined
|
|||
candr | moritz: so I am trying to validate user input for a project directory.... we were initially thinking of using a regex to validate the input, but was wondereing if there was a built in method to avoid the added complexity of a regex. | 13:49 | |
13:49
p6bannerbot sets mode: +v skids
|
|||
moritz | the complexity is not in the regex, but in deciding what to allow and what not | 13:50 | |
13:52
abraxxa left
|
|||
tyil | candr: you can try to create an empty file at the location, if that succeeds, the path is OK and you can remove the file again | 13:53 | |
13:53
abraxxa joined
|
|||
tyil | if you need to create dirs to create the file, dont forget to remove those as well | 13:54 | |
13:54
p6bannerbot sets mode: +v abraxxa
|
|||
tyil | as moritz says, most strings are acceptable paths (at least on GNU+Linux) | 13:54 | |
moritz | you can perfectly legally create directories that contain an RTL marker, but it's most likely not a good idea | ||
AlexDaniel | m: say "hello\0world".IO | 13:55 | |
camelia | Cannot use null character (U+0000) as part of the path in block <unit> at <tmp> line 1 |
||
tyil | even something like `touch '+[+&][){+&)\'` is ok, and will create a valid file | ||
AlexDaniel | sure, because it *is* a valid filename | ||
I don't see a problem | |||
tyil | does IO::Path.new check for validity on windows? | 13:56 | |
moritz | m: say IO::Path.new('con') | ||
camelia | IO::Path is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in method new at src/RESTRICTED.setting line 32 in block <unit> at <tmp> line 1 |
||
tyil | interesting | 13:57 | |
AlexDaniel | stupid restricted setting | ||
e: say IO::Path.new('con') | |||
evalable6 | "con".IO | ||
moritz | it does that just fine, even though "con" is a reserved name on windows | ||
along with nul and some others | |||
tyil | so I guess just make an IO::Path of the string, and if you want to be super sure, try to create an empty file | ||
moritz | PRN, AUX, COM1, LPT1 etc. | ||
13:58
Zalabaslea joined
13:59
itaipu joined,
p6bannerbot sets mode: +v itaipu
|
|||
candr | Thank you all for the help. There are definitely some things I did not think about... The problem is both more simple and more complicated that I thought =) | 14:01 | |
AlexDaniel | another thing to consider is path length | ||
for example | 14:02 | ||
e: say (‘sandbox/’ ~ "h" x 9999).IO | |||
evalable6 | "sandbox/hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh… | ||
AlexDaniel, Full output: gist.github.com/3c30193270ac9f9fe0...44026cc7ab | |||
14:02
Zalabaslea left
|
|||
AlexDaniel | so it created a Path object just fine | 14:02 | |
but | 14:03 | ||
e: spurt (‘sandbox/’ ~ "h" x 9999).IO, ‘blahblah’ | |||
evalable6 | (exit code 1) Failed to open file /home/bisectable/git/whateverable/sandbox/hhhhhhhhhhhhhh… | ||
AlexDaniel, Full output: gist.github.com/ff6c083e93e79324be...0c8ce2de6c | |||
AlexDaniel | candr: so I'm thinking, if it's some sort of a script or a tool for a user, then perhaps there's no need to validate it that much | 14:05 | |
i.e. you asked the user for a path, they gave something. Just trust them and take it, that's totally fine locally | |||
but if that's a webservice or something like that, you shouldn't be using user-submitted strings in paths *at all* | 14:06 | ||
moritz | ... or use whitelisting | ||
AlexDaniel | or that, yes | ||
candr | :AlexDaniel Thanks. It is a small application that runs some lab equipment, but it might not be worth validating to that point.... all of the input fields are saved so a crash in the rare case of a path that is too long would't be the end of the world... | ||
AlexDaniel | but then the answer is simple and you just have a..z in the whitelist :) | ||
14:08
Luneburg joined,
p6bannerbot sets mode: +v Luneburg
|
|||
AlexDaniel | moritz: ok now that I'm thinking about it, it's actually not that simple | 14:08 | |
also have to make sure that it's not too long and not too short (i.e. not empty) | 14:09 | ||
so maybe just taking a hash of the input will avoid the need to list all these cases | 14:10 | ||
though now you have unreadable filenames :) | |||
moritz | well, validiating that it 1) doesn't exist yet and 2) matches / ^ <[a..z A..Z>]**3..63 $ / isn't too bad :-) | 14:11 | |
14:17
fake_space_whale joined
14:18
p6bannerbot sets mode: +v fake_space_whale
|
|||
AlexDaniel | moritz: and then the application is installed on windows… :) | 14:18 | |
or even better, *moved* :) | |||
though maybe the file manager will complain when moving the files 🤷 | 14:19 | ||
never tried that | |||
candr | This was an interesting discussion. I think I know why a lot of windows GUI applications have you create _then_ select something like a project directory now =) | 14:20 | |
14:20
curan left
|
|||
moritz | AlexDaniel: try cloning a git repo on windows if it contains the same file with two different casings | 14:21 | |
AlexDaniel | I don't have a windows machine to try… though that reminds me of the .git folder vulnerability :) | 14:24 | |
moritz | what I want to say is: it's a mess :-) | 14:25 | |
AlexDaniel | speaking of which, can anybody try rakudo-jvm on windows? R#1976 | ||
synopsebot_ | R#1976 [open]: github.com/rakudo/rakudo/issues/1976 [Windows][⚠ blocker ⚠] 2018.06 build for JVM fail | ||
moritz | it's even worse if you have to deal with all the options like UNC paths | ||
14:27
sotona joined
14:28
p6bannerbot sets mode: +v sotona
|
|||
Geth | doc: 37ec58708e | (Brad Gilbert)++ (committed using GitHub Web editor) | doc/Type/Str.pod6 Don't use a substring in .trans() example Someone could conclude that the entirety of `"ab"` is matched instead of the individual characters. |
14:30 | |
synopsebot_ | Link: doc.perl6.org/type/Str | ||
14:32
sotona left
|
|||
candr wished my place of work used more linux machines. I have a work linux desktop and work mac laptop, but all our lab equipment runs on windows machines because that is what is the "norm" I guess... | 14:41 | ||
14:43
sotona joined,
p6bannerbot sets mode: +v sotona
14:47
sotona left
|
|||
b2gills | I think it would be better to use a BSD on lab equipment, as you can better control exactly what gets installed. (Do you really need Solitaire on a piece of lab equipment?) | 14:57 | |
14:58
sotona joined
14:59
p6bannerbot sets mode: +v sotona
15:00
Ven` left
|
|||
timotimo | um, yes | 15:02 | |
15:02
TimToady left,
TimToady joined,
verne.freenode.net sets mode: +v TimToady,
p6bannerbot sets mode: +v TimToady
|
|||
timotimo | why is this even a question | 15:02 | |
some of the best science is just waiting | |||
15:03
sotona left
15:06
Sgeo_ joined
15:07
p6bannerbot sets mode: +v Sgeo_,
fake_space_whale left
15:08
timvisher17 joined,
Sgeo left
15:09
st_elmo joined
15:10
p6bannerbot sets mode: +v st_elmo
15:12
timvisher17 left
15:14
sotona joined,
p6bannerbot sets mode: +v sotona
15:18
sotona left
|
|||
SmokeMachine | hi guys! i have a "definition" question to you: Im writing an ORM (Red) for perl6 , but I don't want just map tables/columns to classes/objects... I want to make perl6 "operations" on sql queries, for example: `Customer.all.grep({ .orders.map( *.price ).sum > 1000 })` would be the equivalent of the query of this page: ponyorm.com . So, Im not sure it should be called an ORM... I was thinking on LSRM (Language Syntax | 15:22 | |
Relational Mapper). Does that make any sense? Or do I need to tae some rest and do not think on Red for some time? :P | |||
15:28
uzl joined,
p6bannerbot sets mode: +v uzl
15:29
sotona joined
15:30
p6bannerbot sets mode: +v sotona
|
|||
uzl | Hey, #perl6! I'm wondering what's the preferred or recommended way of validating arguments passed to a constructor. | 15:31 | |
jnthn | Depends how complex the needs are. If the validation is per attribute, consider defining subset types and typing the attributes with them | 15:32 | |
timotimo | very complex validation can go into TWEAK | ||
TimToady | intermediately, type the named arguments to TWEAK | ||
uzl | However, any validation with TWEAK won't be inherited by the child class, right? | 15:33 | |
TimToady | it will for those particular arguments | ||
timotimo | TWEAKs from all classes will be run | ||
TimToady | since all the TWEAKs are called | ||
15:34
sotona left
|
|||
jnthn | Just make sure to write it as submethod TWEAK | 15:34 | |
TimToady | if you're writing a custom constructor that takes a bunch of similar positionals, then the constructor itself could validate all the elements | ||
in short, TMTOWTDI :) | |||
TimToady is back home from TPC, btw, so it massive backlog mode :) | 15:35 | ||
*in | |||
uzl | I guess I'd also create a private method to delegate the arguments validation to it and then use it in a modified new constructor? | ||
TimToady | if you want to do it post-bless, sure, you could do that | 15:36 | |
timotimo | is post-bless a bit like post-haste? | 15:37 | |
TimToady | but if your subclasses are depending on the validation, it might go better into BUILD or TWEAK | ||
(or on the individual attribute type) | |||
a subset declaration can call out to random code as well | 15:38 | ||
just depends on how often you wanna enforce the invariant | |||
uzl | Wow, so much information! #perl6 truly rocks! | 15:40 | |
I'll used your suggestions and see what I can come up with. Thanks to all! | |||
s/used/use/ | |||
15:43
Ven` joined,
sergot_ joined,
p6bannerbot sets mode: +v Ven`
15:44
kaare__ joined
|
|||
uzl | I know this is the #perl6, but has anyone read (or come across with) 'Elements of Programming with Perl' (for Perl 5) by Andrew L. Johnson? | 15:44 | |
15:44
p6bannerbot sets mode: +v sergot_,
p6bannerbot sets mode: +v kaare__
15:45
sotona joined,
cjkinni left,
kaare_ left,
sergot left,
Guest40926 left,
p6bannerbot sets mode: +v sotona,
imcsk8_ joined
15:46
cjkinni joined,
p6bannerbot sets mode: +v imcsk8_,
p6bannerbot sets mode: +v cjkinni
15:47
Guest76759 joined,
p6bannerbot sets mode: +v Guest76759,
statisfiable6 left,
statisfiable6 joined,
releasable6 left
15:48
releasable6 joined,
undersightable6 left,
squashable6 left,
greppable6 left,
notable6 left,
p6bannerbot sets mode: +v statisfiable6,
undersightable6 joined,
p6bannerbot sets mode: +v releasable6
15:49
sotona left,
imcsk8 left,
p6bannerbot sets mode: +v undersightable6
|
|||
Luneburg | Is bailador.net down? | 15:52 | |
sena_kun | seems so. | 15:54 | |
15:54
[particle]1 joined
|
|||
benjikun | same for me | 15:54 | |
15:54
[particle] left
15:55
p6bannerbot sets mode: +v [particle]1
|
|||
ufobat | the website is by gabor szabo, i can't help, sorry Luneburg | 15:55 | |
15:55
fake_space_whale joined
|
|||
Luneburg | ufobat: It's cool, thanks anyway :) | 15:55 | |
15:56
candr left,
p6bannerbot sets mode: +v fake_space_whale
|
|||
pmurias | SmokeMachine: I would still call it an ORM | 15:59 | |
16:00
sotona joined
16:01
p6bannerbot sets mode: +v sotona
|
|||
mst | SmokeMachine: that's an ORM whose query system is an internal DSL | 16:02 | |
16:05
sotona left
16:11
jmerelo joined
16:12
p6bannerbot sets mode: +v jmerelo
|
|||
jmerelo | Hi | 16:12 | |
16:14
wols joined
|
|||
uzl | Hello, jmerelo! | 16:14 | |
AlexDaniel | jmerelo: o/ | ||
16:14
wols left
16:16
sotona joined
|
|||
jmerelo | How's everything going? | 16:16 | |
16:16
p6bannerbot sets mode: +v sotona
|
|||
Luneburg | ;) | 16:18 | |
16:20
sotona left
16:21
uzl left,
fake_space_whale left
|
|||
scimon | Zzzzz | 16:22 | |
jmerelo | scimon: here, have a cupa tea | ||
scimon | But I tweaked my code from yesterday. Bools will now except env vars set to "true" or "false" | 16:23 | |
jmerelo | scimon: yay! | ||
scimon | (I think that will be useful) | ||
I'm about done with that now. | |||
I've been poking react blocks trying to understand them... | |||
jmerelo | scimon: and? Will you be able to answer AlexDaniel's issue :-) ? | 16:24 | |
releasable6: status | 16:25 | ||
releasable6 | jmerelo, Next release will happen when it's ready. 3 blockers. 446 out of 470 commits logged (⚠ 1 warnings) | ||
jmerelo, Details: gist.github.com/1afede79b89b2ac952...040d43dc5b | 16:26 | ||
jmerelo | Almost there! Yay! | ||
scimon | jmerelo: Is that the "WTF are react / whenever blocks?" I'm hoping so. | 16:28 | |
jmerelo | scimon: correct | 16:29 | |
AlexDaniel | jmerelo: status | ||
oops | |||
releasable6: status | |||
scimon | I'm trying to make sense of them at the moment. | ||
releasable6 | AlexDaniel, Next release will happen when it's ready. 2 blockers. 446 out of 470 commits logged (⚠ 1 warnings) | ||
AlexDaniel, Details: gist.github.com/ecff71af41a8d7e228...38bfeeffb2 | |||
AlexDaniel | jmerelo: -1 blocker in ≈3 minutes! In ≈6 minutes we should have no blockers! | ||
jmerelo | AlexDaniel: hi, this is your friendly jmerelo bot. I'm out now for my 1-week long siesta. Will be back to my usual non-productive state a bit after that. | 16:30 | |
scimon | I need one of them. | ||
I'm still shattered after last week. | |||
Anyhoo. Home time. | |||
AlexDaniel | jmerelo: commit-frequency*=2 | ||
jmerelo | AlexDaniel: yep, pretty much. | 16:31 | |
16:31
sotona joined
16:32
piklu5 joined
|
|||
jmerelo | Actually, I'm leaving on real holidays tomorrow evening. And I can't access the chat from my laptop because I don't have the password, so... (OK, yes, I'm taking the laptop... ) | 16:32 | |
16:32
p6bannerbot sets mode: +v sotona
|
|||
buggable | New CPAN upload: Trait-Env-0.1.0.tar.gz by SCIMON modules.perl6.org/dist/Trait::Env:cpan:SCIMON | 16:32 | |
jmerelo | scimon++ | ||
Cool! | |||
AlexDaniel | jmerelo: wait, why do you need a password? | ||
jmerelo | AlexDaniel: don't we all need a password to be able to use the nick in this channel? Is there any other way? Oh, there's other way... | 16:33 | |
There must be some other way. Using another nick initially and then changing it? | 16:34 | ||
REally, no idea. | |||
AlexDaniel | jmerelo: no, you are not forced to identify | ||
jmerelo | OK. I'll try to get in from time to time, then. | ||
AlexDaniel | jmerelo: there's also perl6.org/irc | 16:35 | |
16:35
jmerelo_ joined,
p6bannerbot sets mode: +v jmerelo_
|
|||
jmerelo | AlexDaniel: I'll try that. Thanks! | 16:35 | |
jmerelo_ | test test | ||
16:35
piklu5 left
|
|||
AlexDaniel | ↑ it works | 16:35 | |
16:35
jmerelo_ left
|
|||
jmerelo | jmerelo_: hey, that's my bot. Go back to the siesta! | 16:35 | |
16:36
sotona left,
scimon left
|
|||
SmokeMachine | pmurias: thanks | 16:37 | |
mst: that makes sense... | 16:38 | ||
mst: thanks | |||
mst | SmokeMachine: note that that's really shiny and I hope eventually to be able to do something similar in perl5 | 16:41 | |
benjikun | What are the grammars in P6 inspired by? | ||
anyone know some other similar features in other languages | |||
mst | SmokeMachine: my big issue has been "you can't overload and/&& in perl5 because short-circuit" | 16:42 | |
SmokeMachine | mst: thanks! :) | ||
mst | benjikun: PEG grammars have been around for a long time, and I*think* the remaining features are inspired by, well, reading up on everything else and stealing the good parts | ||
benjikun | mst: I see | 16:44 | |
mst | somebody more involved in the design process could probably give a more detailed answer, of course | 16:46 | |
16:47
sotona joined
|
|||
benjikun | what's the difference between a PEG and a parser generator | 16:47 | |
s/generator/combinator/ | |||
16:47
p6bannerbot sets mode: +v sotona
16:51
sotona left
16:54
jcarty left
|
|||
Luneburg | I just want to say, the ThinkPerl6 book is amazing. Thanks to the author. | 16:59 | |
17:00
Ven` left
17:16
molaf_ joined
|
|||
jmerelo | Luneburg: he's around here from time to time, you can thank him yourself | 17:17 | |
17:17
p6bannerbot sets mode: +v molaf_
|
|||
jmerelo | .seen lrosenfeld | 17:18 | |
yoleaux | I haven't seen lrosenfeld around. | ||
jmerelo | Wait, it's lolosomething... Anyway. | ||
17:21
Ven` joined,
p6bannerbot sets mode: +v Ven`
|
|||
SmokeMachine | mst: neither you can in perl6... :( | 17:32 | |
17:33
sotona joined,
p6bannerbot sets mode: +v sotona
|
|||
mst | SmokeMachine: my plan is to use my Babble grammar rewriting stuff to turn it into query_and(<excpr1>, <expr2>) | 17:34 | |
one would imagine that if anything that would be easier in perl6 land | |||
SmokeMachine | rt.perl.org/Public/Bug/Display.html?id=130540 | ||
17:35
sena_kun left
|
|||
SmokeMachine | Yes, I’m planning to do a slang for that... | 17:35 | |
17:35
sena_kun joined
17:36
p6bannerbot sets mode: +v sena_kun
|
|||
SmokeMachine | But I’m not sure if it’s possible... | 17:37 | |
17:37
sotona left
17:47
sena_kun left,
sena_kun joined
17:48
p6bannerbot sets mode: +v sena_kun,
sena_kun left
17:49
sena_kun joined
17:50
p6bannerbot sets mode: +v sena_kun
17:51
st_elmo left
17:55
zakharyas left
17:59
sena_kun left
18:14
Ven` left
18:19
Ven` joined,
sotona joined,
p6bannerbot sets mode: +v Ven`
18:20
p6bannerbot sets mode: +v sotona
|
|||
ufobat | is anyone intersted in sereal for perl6? i am looking for someone that wants to join working on it | 18:21 | |
18:21
sotona left,
sotona joined
18:22
mingdao left,
p6bannerbot sets mode: +v sotona
18:23
mingdao joined,
p6bannerbot sets mode: +v mingdao
18:28
sauvin left
18:29
Ven` left
|
|||
timotimo | .seen laurent | 18:34 | |
yoleaux | I haven't seen laurent around. | ||
timotimo | hmm | ||
avuserow | ufobat, I was vaguely interested in that quite a while and that's why I started work on Compress::Snappy | ||
I don't have a current need for Sereal but hopefully the snappy bindings can help | 18:35 | ||
that is, unless Sereal in p6 turns out to be super fast | |||
jmerelo | ufobat: say more | 18:36 | |
18:37
mirlur[m] left,
Matthew[m] left,
MitarashiDango[m left,
dogbert2 left,
Elronnd left,
integral left,
jnthn left,
BinGOs left,
BinGOs_ joined,
integral_ joined,
jnthn joined
18:38
jcallen_ joined,
p6bannerbot sets mode: +v jcallen_,
dogbert2 joined,
p6bannerbot sets mode: +v BinGOs_,
p6bannerbot sets mode: +v integral_,
p6bannerbot sets mode: +v jnthn,
MitarashiDango[m joined,
p6bannerbot sets mode: +v MitarashiDango[m
|
|||
Geth | doc: be42eb0edf | (JJ Merelo)++ | doc/Type/Str.pod6 Fixes formatting problems |
18:38 | |
synopsebot_ | Link: doc.perl6.org/type/Str | ||
18:39
p6bannerbot sets mode: +v dogbert2,
Matthew[m] joined,
p6bannerbot sets mode: +v Matthew[m],
mirlur[m] joined,
p6bannerbot sets mode: +v mirlur[m]
18:42
mirlur[m] left,
Garland_g[m] left,
lance_w[m] left,
tinita left,
riatre left
|
|||
samcv | wondering if anybody wants to check my command line arguments for Git::Log i'm going to create | 18:42 | |
gist.github.com/dabc73a4a0a93d8005...85c4ca2802 | |||
18:42
tinita joined,
riatre joined,
Garland_g[m] joined,
Ven` joined,
p6bannerbot sets mode: +v Garland_g[m]
|
|||
samcv | atm this works fine standalone as it has a MAIN, but that's mostly just for testing atm. so people can see the output it does | 18:42 | |
if needed. but i thought just a git-log sub would make sense | |||
18:42
mirlur[m] joined,
p6bannerbot sets mode: +v mirlur[m]
18:43
p6bannerbot sets mode: +v riatre,
p6bannerbot sets mode: +v tinita,
lance_w[m] joined,
p6bannerbot sets mode: +v lance_w[m],
p6bannerbot sets mode: +v Ven`
18:45
Ven` left
|
|||
ufobat | avuserow, yeah i use the compress::snappy for that :) | 18:45 | |
avuserow, i think pure perl6 for sereal wont be fast :) | |||
jmerelo, like what? :-) | |||
18:46
Victorsueca2 joined,
Ven` joined,
S007 joined,
p6bannerbot sets mode: +v S007
|
|||
avuserow | well, "fast" for me is "faster than JSON::Tiny", at least for now :) | 18:46 | |
ufobat | avuserow, my decoder seems so work already, you can try :p | ||
github.com/ufobat/p6-Sereal | |||
18:46
p6bannerbot sets mode: +v Ven`
18:50
Victorsueca2 left
|
|||
moritz | masak: you might like jelv.is/blog/Generating-Mazes-with-...ve-Graphs/ | 18:51 | |
jmerelo | ufobat: what one would need to do and such... | 18:53 | |
ufobat | jmerelo, the decoder is.. well, working.. the encoder is missing at all. compress::zstd would be missing. i dont understand the p5 sereal testscases, so some more tests would be awesome as well | 18:56 | |
jmerelo, in fact if someone else would like to work on it my motivation to work on it would be higher :-) | 18:57 | ||
SmokeMachine knows how ufobat feels | 18:59 | ||
ufobat | SmokeMachine, what are you doing right now? :-) | 19:01 | |
SmokeMachine | ufobat: Im working on Red (github.com/FCO/Red) and about that I cannot complain... I think it is the most "popular" of my projects... | 19:03 | |
jmerelo | ufobat: I can lend you a hand, starting the second week of | 19:07 | |
September... | |||
19:07
mingdao left,
mingdao joined,
p6bannerbot sets mode: +v mingdao
|
|||
ufobat | SmokeMachine, oh cool, i did the dbic workshop in glasgow :) | 19:08 | |
SmokeMachine | ufobat: great! would you like to do any feature request? pull request? or something? :) | 19:10 | |
ufobat | the reason why i am not using dbic in perl5 is, i have a single process app and i do everything async there with AnyEvent::DBI | 19:13 | |
but with perl6 and its threads my scenario would look differently i guess | 19:14 | ||
SmokeMachine, ill have a look at your code when i have time :) | 19:20 | ||
SmokeMachine | ufobat: thanks! but I think now the issues/wiki is more important than the code... | 19:21 | |
19:21
integral_ left
|
|||
SmokeMachine | ufobat: if you could take a look on that... :) | 19:22 | |
ufobat | okay :) | ||
19:23
integral joined
19:24
p6bannerbot sets mode: +v integral,
integral left,
integral joined,
moon.freenode.net sets mode: +v integral,
p6bannerbot sets mode: +v integral
19:25
lizmat joined
19:26
p6bannerbot sets mode: +v lizmat
19:32
psychoslave joined,
p6bannerbot sets mode: +v psychoslave
19:34
ilmari_ left,
alpha6 left
|
|||
masak | moritz: cute. reading it now. | 19:34 | |
19:34
alpha6 joined,
pmichaud joined,
daxim joined
|
|||
masak | moritz: it's not _immediately_ clear to me that a randomized DFS would create an unbiased maze. | 19:34 | |
19:34
p6bannerbot sets mode: +v alpha6,
p6bannerbot sets mode: +v pmichaud
19:35
p6bannerbot sets mode: +v daxim
|
|||
masak | (not that it matters all that much, but author did emphasize "perfect") | 19:35 | |
19:35
jmerelo left,
ilmari_ joined,
p6bannerbot sets mode: +v ilmari_,
psychoslave left,
ilmari_ left,
ilmari_ joined,
leguin.freenode.net sets mode: +v ilmari_,
p6bannerbot sets mode: +v ilmari_
19:36
perlbot left,
notable6 joined,
benjikun left,
statisfiable6 left
19:37
Ven` left,
p6bannerbot sets mode: +v notable6
|
|||
masak | hm, I've encountered inductive graphs before. the premise seems to be "inductive data types aren't a really good fit for graphs, but here's how it'd look if we do it anyway" :) | 19:37 | |
19:39
mst left,
petercommand left,
steven2 left,
kanbas left,
Voldenet left,
samcv left,
Ulti left,
kanbas joined,
petercommand joined,
Voldenet joined,
syntaxman joined,
Ulti joined,
mst joined,
p6bannerbot sets mode: +v mst,
ingy joined,
perlbot joined,
p6bannerbot sets mode: +v perlbot,
petercommand left,
petercommand joined,
p6bannerbot sets mode: +v petercommand
19:40
p6bannerbot sets mode: +v kanbas,
p6bannerbot sets mode: +v petercommand,
p6bannerbot sets mode: +v Voldenet,
p6bannerbot sets mode: +v syntaxman,
p6bannerbot sets mode: +v Ulti,
p6bannerbot sets mode: +v ingy,
steven2 joined,
mniip joined,
p6bannerbot sets mode: +v mniip,
syntaxman left,
syntaxman joined,
verne.freenode.net sets mode: +v syntaxman,
p6bannerbot sets mode: +v syntaxman
19:41
p6bannerbot sets mode: +v steven2
|
|||
masak | in fact, pretty sure any DFS will favor Very Long mazo corridors, as in the first picture. | 19:41 | |
19:42
mst left,
mst joined,
verne.freenode.net sets mode: +v mst,
p6bannerbot sets mode: +v mst,
Voldenet left,
Voldenet joined,
weber.freenode.net sets mode: +v Voldenet,
p6bannerbot sets mode: +v Voldenet
|
|||
masak | moritz: finished -- thanks. the implementation didn't come across as simple, though. :) | 19:43 | |
19:44
psychoslave joined
|
|||
masak | I wonder if the Union-Find data structure has a decent representation in Haskel... | 19:44 | |
19:44
p6bannerbot sets mode: +v psychoslave
|
|||
masak | ooh: hackage.haskell.org/package/union-find -- because of course it does! | 19:45 | |
"Useful, for example, to implement unification in a type inference system." -- and for building mazes! | |||
19:45
ingy left
|
|||
masak | Haskell* | 19:45 | |
19:45
lizmat left
19:46
samcv joined,
samcv left,
samcv joined,
p6bannerbot sets mode: +v samcv
19:47
p6bannerbot sets mode: +v samcv,
pierrot_ joined
|
|||
moritz | masak: the "perfect" refers to reachability (every square is reachable from any other square), not statistical properties like balancing | 19:48 | |
19:48
esh left,
sacomo left,
avalenn left,
obfusk left,
sftp left,
pierrot left,
p6bannerbot sets mode: +v pierrot_,
obfusk joined,
esh joined,
avalenn joined
19:49
ilbelkyr joined,
p6bannerbot sets mode: +v ilbelkyr,
p6bannerbot sets mode: +v obfusk,
p6bannerbot sets mode: +v esh,
p6bannerbot sets mode: +v avalenn
19:50
notable6 left
19:51
notable6 joined,
lizmat joined,
undersightable6 left,
releasable6 left,
committable6 left,
p6bannerbot sets mode: +v notable6
19:52
p6bannerbot sets mode: +v lizmat
19:53
sftp joined,
p6bannerbot sets mode: +v sftp
19:57
ingy joined
19:58
p6bannerbot sets mode: +v ingy
20:00
jargan joined,
p6bannerbot sets mode: +v jargan,
mniip left
20:01
sacomo joined
20:02
jast left,
Luneburg left,
p6bannerbot sets mode: +v sacomo
20:11
AlexDani` joined
|
|||
buggable | New CPAN upload: Sparrowdo-VSTS-YAML-Cordova-0.0.8.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK | 20:12 | |
New CPAN upload: Sparrowdo-Cordova-OSx-Build-0.0.3.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::C...n:MELEZHIK | |||
20:12
p6bannerbot sets mode: +v AlexDani`
20:13
Grauwolf_ joined,
p6bannerbot sets mode: +v Grauwolf_
20:14
El_Che_ joined,
a3r0_ joined
20:15
japhb__ joined,
p6bannerbot sets mode: +v El_Che_,
speedChicken joined,
uzl joined,
p6bannerbot sets mode: +v a3r0_,
p6bannerbot sets mode: +v japhb__
20:16
p6bannerbot sets mode: +v speedChicken,
p6bannerbot sets mode: +v uzl,
st_elmo joined
20:17
|oLa|1 joined
|
|||
masak | moritz: aww. yes, that makes sense. | 20:17 | |
20:17
p6bannerbot sets mode: +v st_elmo,
p6bannerbot sets mode: +v |oLa|1
20:18
robins joined,
ellipsis joined
|
|||
uzl | Does the placement of the feed operator matter in some circumstances? | 20:19 | |
20:19
p6bannerbot sets mode: +v robins
|
|||
uzl | Example: tio.run/##hZJdS8MwFIbv8yteug072Lp1...3ujbUotcrS | 20:19 | |
y@wXsz0hRfEO | |||
20:19
p6bannerbot sets mode: +v ellipsis,
AlexDaniel left,
a3r0 left,
lgtaube left,
robinsmidsrod left,
Grauwolf left,
go|dfish left,
dotdotdot left,
speedChi- left,
El_Che left,
japhb left
20:20
rindolf left
|
|||
uzl | Surprisingly long url. Here's a more manageable version: tinyurl.com/yb2gx4ll | 20:22 | |
20:22
notable6 left
20:23
notable6 joined,
p6bannerbot sets mode: +v notable6
20:25
lgtaube joined,
go|dfish joined,
p6bannerbot sets mode: +v lgtaube,
p6bannerbot sets mode: +v go|dfish
20:26
cog left
|
|||
masak | uzl: yes. I believe you're running up against the "}\n" rule | 20:27 | |
20:27
BinGOs_ is now known as BinGOs
20:28
BinGOs left,
BinGOs joined,
leguin.freenode.net sets mode: +v BinGOs,
p6bannerbot sets mode: +v BinGOs
|
|||
masak | m: say "OH HAI" | 20:28 | |
camelia | OH HAI | ||
20:28
cognominal-p6 joined
20:29
psychoslave left
|
|||
masak | m: my %h; %h.keys ==> map { $_ }==> sort { $^a <=> $^b } | 20:29 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Bogus statement at <tmp>:2 ------> 3my %h; %h.keys ==> map { $_ }7⏏5<EOL> expecting any of: postfix prefix statement end term |
||
20:29
p6bannerbot sets mode: +v cognominal-p6
|
|||
masak | "Bogus statement" after the "}\n" | 20:29 | |
uzl | masak: Can you point to it in the example? I have no knowledge of such rule. | 20:31 | |
20:32
robins is now known as robinsmidsrod
|
|||
masak | uzl: the camelia response is pointing to it | 20:32 | |
uzl | Oh, I think I got it. So the "\n" gets caught between the } and ==>? | ||
masak | there's a newline between the } and ==> | ||
and that causes -- essentially -- a semicolon insertion | |||
because of a rule in Perl 6 syntax | 20:33 | ||
it's very unfortunate for the ==> operator; I've observed this before myself | |||
20:34
Ven` joined,
statisfiable6 joined,
p6bannerbot sets mode: +v Ven`,
p6bannerbot sets mode: +v statisfiable6
|
|||
uzl | It makes sense. It's truly unfortunate as you say. | 20:35 | |
Thanks! | |||
pmurias | masak: you have seen the "Purely functional data structures" book? | ||
20:38
Ven` left
|
|||
pmurias | masak: never mind the using the IO monad seems better, it's too late for me and I don't make sense anymore | 20:38 | |
20:42
theovdh left
20:43
AlexDani` is now known as AlexDaniel
|
|||
masak | pmurias: I have seen that book. haven't read it, though. | 20:44 | |
masak is suddenly reminded -- out of the blue -- of the early Rakudo bug that involved a unicode snowman and a unicode comet | |||
some of those early moments can't be relived :) | |||
20:48
releasable6 joined,
committable6 joined
20:49
p6bannerbot sets mode: +v releasable6,
p6bannerbot sets mode: +v committable6
20:55
mniip joined,
p6bannerbot sets mode: +v mniip
20:56
uzl left
20:57
uzl joined,
p6bannerbot sets mode: +v uzl
20:59
uzl left,
_uzl joined,
p6bannerbot sets mode: +v _uzl
|
|||
xinming | Which language is the idea of multi dispatch borrow from? haskell? | 21:00 | |
21:02
horse joined
|
|||
pmurias | xinming: common lisp is the most well known multi dispatch language | 21:04 | |
21:04
sotona left
|
|||
xinming | Got it. I just feel the multi idea is really amazing, once you have it, You can never live without it. | 21:05 | |
21:07
horse left,
skids left
21:11
dogbert2 left
21:16
_uzl left
21:20
sotona joined
21:21
p6bannerbot sets mode: +v sotona
21:25
sotona left
21:35
Ven` joined,
p6bannerbot sets mode: +v Ven`
21:38
p6steve joined,
p6bannerbot sets mode: +v p6steve
21:40
Ven` left
21:41
kerframil left
|
|||
Altreus | I don't suppose anyone has a vim fold expression for pod6? I cargo-culted my perl5 one literally 10 years ago and so I have no idea what I'm doing | 21:48 | |
yoleaux | 16 Aug 2018 22:05Z <tbrowder_> Altreus: can you please file a rakudo issue on the pod6 problem, | ||
17 Aug 2018 22:11Z <tbrowder_> Altreus: do you have a pod problem other than the declarator/attribute issue? | 21:49 | ||
Altreus | oh | ||
yoleaux: tell tbrowder_ No, except I don't think it's as helpful as pod5 | |||
is that how I do that? | |||
hmm | 21:50 | ||
maybe they'll see it anyway | |||
avuserow | Altreus, it's ".tell nick some message here" | 21:51 | |
geekosaur | it's .tell | ||
SmokeMachine | Altreus: to ast to yoleaux to tell something to someone, just say: ' .tell someone something | ||
21:51
pmurias left
|
|||
SmokeMachine | Altreus: to ast to yoleaux to tell something to someone, just say: `.tell someone something` | 21:52 | |
.tell Altreus thats how you do it | |||
yoleaux | SmokeMachine: I'll pass your message to Altreus. | ||
21:53
p6steve left,
pmurias joined,
lizmat left
|
|||
tbrowder_ | Altreus: if you can file an issue giving an example of pod6 input as you understand it, what you get, and what you would like to see, we may be able to do something about your perception, | 21:54 | |
21:54
p6bannerbot sets mode: +v pmurias
|
|||
tbrowder_ | Altreus: Damian Conway has a giant vim resource file that has p6 stuff in it. i think it’s publicly available but i don’t have a link handy. | 21:56 | |
22:01
st_elmo left
22:04
lizmat joined,
p6bannerbot sets mode: +v lizmat
22:21
stmuk joined,
pmurias left
22:22
p6bannerbot sets mode: +v stmuk
22:23
stmuk_ left
|
|||
MasterDuke | moritz: it looks like perl6-all-modules hasn't been updated recently? | 22:33 | |
22:43
psychoslave joined
22:44
p6bannerbot sets mode: +v psychoslave
23:08
w_richard_w joined
23:09
p6bannerbot sets mode: +v w_richard_w
23:10
davidebeatrici10 joined
23:11
japhb__ is now known as japhb
23:20
davidebeatrici10 left,
lizmat left
23:22
lizmat joined
23:23
p6bannerbot sets mode: +v lizmat
23:25
sotona joined
23:26
p6bannerbot sets mode: +v sotona,
psychoslave left
23:30
sotona left
23:36
Ven` joined
23:37
p6bannerbot sets mode: +v Ven`
23:41
Ven` left
|