»ö« 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:04
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
p6bannerbot sets mode: +v aborazmeh
00:19
w_richard_w joined,
p6bannerbot sets mode: +v w_richard_w
00:28
sena_kun left
|
|||
zachk | for building perl6 inside of android, can I just use the execstack program to fiddle the executable stack bit on libmoarvm.so (I believe) and have it work? like the windows linux subsystem fix? | 00:28 | |
00:47
chyf joined,
p6bannerbot sets mode: +v chyf
00:49
chyf left
|
|||
AlexDaniel | why did I set that notification | 01:06 | |
what did I even mean | |||
02:12
zachk left
02:26
aborazmeh left
02:34
w_richard_w left
02:41
kst` joined
02:42
p6bannerbot sets mode: +v kst`
02:43
kst left
02:46
Khisanth left
03:04
Khisanth joined
03:05
p6bannerbot sets mode: +v Khisanth
03:09
huyna joined,
p6bannerbot sets mode: +v huyna
|
|||
huyna | hi, i want to learn Perl 6 but is it necessary to learn Perl 5 before? | 03:10 | |
SmokeMachine | huyna: no, perl6 is a different language from perl5... | 03:22 | |
huyna | Thanks SmokeMachine | 03:26 | |
03:37
kst`` joined
03:38
p6bannerbot sets mode: +v kst``,
kst` left
03:41
ferreira left
04:01
smallick joined
04:02
p6bannerbot sets mode: +v smallick
|
|||
smallick | m: say (1, 1, *+* ... *)[100]; | 04:03 | |
camelia | 573147844013817084101 | ||
smallick | m: say (1, 1, *+* ... *)[100]; say now - INIT now; | 04:04 | |
camelia | 573147844013817084101 0.00856416 |
||
smallick | m: say (1, 1, *+* ... *)[1e4, 1e5, 1e6]; | 04:06 | |
camelia | MoarVM panic: Memory allocation failed; could not allocate 64 bytes | ||
smallick | what happened? Huge number, i think. | ||
04:06
smallick left
04:13
kst`` left,
kst joined
04:14
p6bannerbot sets mode: +v kst
04:25
Cabanossi left,
Cabanoss- joined,
p6bannerbot sets mode: +v Cabanoss-
04:35
Sgeo joined
04:36
p6bannerbot sets mode: +v Sgeo,
Sgeo_ left
04:48
abraxxa joined
04:49
huyna left,
p6bannerbot sets mode: +v abraxxa,
sauvin joined,
p6bannerbot sets mode: +v sauvin
04:52
abraxxa left
05:10
abraxxa joined,
p6bannerbot sets mode: +v abraxxa
05:11
smallick joined
05:12
p6bannerbot sets mode: +v smallick
|
|||
smallick | m: .print | 05:15 | |
camelia | Use of uninitialized value of type Any in string context. Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. in block <unit> at <tmp> line 1 |
||
smallick | m: .print given "Hello, world!" | ||
camelia | Hello, world! | ||
05:16
smallick left
05:27
smallick joined
05:28
p6bannerbot sets mode: +v smallick
|
|||
smallick | m, 0.print | 05:28 | |
05:28
smallick left
05:29
smallick joined
|
|||
smallick | m, 1.print | 05:30 | |
05:30
p6bannerbot sets mode: +v smallick
|
|||
smallick | m, print 11 ** 11 | 05:31 | |
05:31
smallick left
05:32
smallick joined
05:33
p6bannerbot sets mode: +v smallick
|
|||
smallick | camelia, help | 05:33 | |
camelia | smallick: Usage: <(prof-m|rakudo-jvm|nqp-js|nqp-moarvm|nqp-jvm|debug-cat|p5-to-p6|star-m|rakudo-moar|rm|star|nqp-q|master|p56|r|j|rakudo|sm|rj|p6|nqp-mvm|nqp|r-j|nqp-m|perl6|r-m|m|r-jvm)(?^::\s(?!OUTPUT)) $perl6_program> | ||
smallick | bisect: print i*i == i**2 | 05:34 | |
bisectable6 | smallick, On both starting points (old=2015.12 new=87b71c2) the exit code is 0 and the output is identical as well | ||
smallick, Output on both points: «False» | |||
smallick | m, print pi.cos + i* pi.sin | 05:35 | |
m: print pi.cos + i* pi.sin | |||
camelia | -1+1.2246467991473532e-16i | ||
smallick | m: print (pi.cos + i* pi.sin == i ** 2) | 05:36 | |
camelia | True | ||
smallick | see | ||
m: print (2*pi).cos + i* (2*pi).sin | 05:37 | ||
camelia | 1-2.4492935982947064e-16i | ||
smallick | wow | 05:38 | |
m: say (2*(pi.sin) == (2*pi).sin) | 05:39 | ||
camelia | False | ||
smallick | say 2* pi.sin => (2*pi).sin | 05:40 | |
evalable6 | 2.4492935982947064e-16 => -2.4492935982947064e-16 | ||
smallick | why this ^^^^ happens? | ||
new feature!! | 05:42 | ||
say 1 | 05:43 | ||
evalable6 | 1 | ||
smallick | print 1 | ||
evalable6 | 1 | ||
smallick | .print given Any.new | 05:44 | |
evalable6 | Any<93965475250432> | ||
smallick | say 2* pi.sin == - (2*pi).sin | 05:45 | |
evalable6 | True | ||
smallick | explain above | 05:46 | |
print pi.cos | 05:47 | ||
AlexDaniel | m: print pi.cos | ||
camelia | -1 | ||
smallick | m: print pi.cos | ||
camelia | -1 | ||
AlexDaniel | smallick: so what exactly needs to be explained? I'm not following | 05:48 | |
smallick | m: print (2*pi).cos | 05:49 | |
camelia | 1 | ||
smallick | cos is exact and sin inexact?? | 05:50 | |
AlexDaniel | smallick: it's floating point math, it's weird | ||
smallick | m: say pi.sin => (2*pi).sin | ||
camelia | 1.2246467991473532e-16 => -2.4492935982947064e-16 | ||
AlexDaniel | it's not specific to perl6, I think, you should get same result in other languages | 05:51 | |
smallick | m: say (pi/2).cos == 0.sin | 05:52 | |
camelia | False | ||
05:52
curan joined,
p6bannerbot sets mode: +v curan
|
|||
smallick | say 0.sin <=> (pi/2).cos | 05:53 | |
evalable6 | Less | ||
Woodi | morning #perl6 :) | ||
smallick | print (pi/2).cos - 0.sin | 05:54 | |
evalable6 | 6.123233995736766e-17 | ||
smallick | what is the smallest number gt 0 here | 05:55 | |
say (0/0).Num | 05:56 | ||
evalable6 | NaN | ||
smallick | say 1e-500 | 05:57 | |
evalable6 | 0 | ||
smallick | say (1e-500, 1e-400, * * 10).grep(*!=0)[^5] | 05:58 | |
say 1e-325, 1e-324, 1e-323 | 05:59 | ||
evalable6 | 001e-323 | ||
smallick | say 1/10 ** 324 | ||
evalable6 | 0 | ||
Woodi | as timotimo noted, looks that ASN.1 compilers are so buggy that you can take as granted... story: in 200x I was following OpenLDAP monthly releases and at some points it looked as they had fixes to ASN.1 parser every single month by that period... just my not-very precise impression :) but now OL have years without ASN.1 parser bugs :) | 06:00 | |
smallick | say 10 ** (10.log) | ||
evalable6 | 200.71743249053017 | ||
smallick | print Junction | 06:02 | |
dd Junction | |||
dd Junction.new ; CATCH .say | 06:03 | ||
m: say Junction | |||
camelia | (Junction) | ||
Woodi | sena_kun: LDAP is still used :) ActiveDirectory in enterprise Windows is one. midPoint have one inside too. and PAM in every (?) Linux distros can use it instead of /etc/passwd :) | ||
smallick | m: (1..999).grep(*%%(3|5)).sum.say | 06:05 | |
camelia | 233168 | ||
smallick | how to use S meta op? | 06:08 | |
06:10
smallick left
06:12
ufobat_ joined,
abraxxa left
06:13
p6bannerbot sets mode: +v ufobat_,
abraxxa joined,
abraxxa left
06:16
lizmat left
06:23
sno left
06:32
Xliff_ joined
06:33
jmerelo joined,
p6bannerbot sets mode: +v Xliff_
06:34
p6bannerbot sets mode: +v jmerelo
06:36
Xliff left
06:39
domidumont joined
06:40
p6bannerbot sets mode: +v domidumont,
w17t joined,
p6bannerbot sets mode: +v w17t
06:45
sno joined
06:46
p6bannerbot sets mode: +v sno,
domidumont left
07:04
domidumont joined
07:05
p6bannerbot sets mode: +v domidumont
|
|||
Geth | doc: d3ce0a4d83 | (JJ Merelo)++ | doc/Language/modules.pod6 Revises changes And does some clarification, de-indentation and reflow. This closes #2571 |
07:05 | |
doc: 7b34d3c39d | (JJ Merelo)++ | META6.json Reordered and added missing pm6, closes #2564 |
|||
07:10
cpan-p6 left
07:13
cpan-p6 joined
|
|||
cpan-p6 | 03cpan-p6 reporting for duty! [Perl 6] 02git.tyil.nl/perl6/app-cpan-uploadnotifierbot | 07:13 | |
07:14
p6bannerbot sets mode: +v cpan-p6
|
|||
jmerelo | Cool! tyil++ | 07:19 | |
tyil | jmerelo: thanks :3 | ||
it's still in development, so it may require more restarts in the coming few days | |||
07:30
ambs joined,
p6bannerbot sets mode: +v ambs,
jmerelo left
07:32
w17t left
07:34
ambs left
07:36
abraxxa joined
07:37
p6bannerbot sets mode: +v abraxxa,
abraxxa left
07:38
abraxxa joined,
p6bannerbot sets mode: +v abraxxa
07:39
nst^ left
07:40
ambs joined
07:41
p6bannerbot sets mode: +v ambs
07:42
sauvin left,
sauvin joined,
p6bannerbot sets mode: +v sauvin
07:50
ccntrq- left
07:54
ccntrq joined
07:55
p6bannerbot sets mode: +v ccntrq
07:57
rindolf joined
07:58
p6bannerbot sets mode: +v rindolf
08:00
tim joined,
p6bannerbot sets mode: +v tim
08:02
tim left
08:17
ChoHag left
08:43
robertle left
08:52
w17t joined,
p6bannerbot sets mode: +v w17t
08:58
ChoHag joined
08:59
p6bannerbot sets mode: +v ChoHag
|
|||
masak | good antenoon, #perl6 | 09:05 | |
09:05
daotoad joined
09:06
daotoad left
09:08
kensanata joined,
p6bannerbot sets mode: +v kensanata
|
|||
masak | suggestion for a discussion topic: how would you rank the following FP concepts by importance/profundity, from most important (1) to least important (5)?: immutability, first-class functions, everything is an expression, referential transparency, tail call elimination | 09:08 | |
I would tentatively do 1. TCE, 2. FCF, 3. RT, 4. I, 5. EiaE | 09:10 | ||
09:11
dakkar joined
09:12
p6bannerbot sets mode: +v dakkar
09:13
lizmat joined,
p6bannerbot sets mode: +v lizmat
09:33
nightfrog left
09:39
zakharyas joined
|
|||
masak | of course, there's no right answer. at least I don't think there is. I mostly mean to provoke discussion. | 09:40 | |
09:40
ExtraCrispy left
|
|||
masak | also, maybe I missed a central concept. in that case, feel free to replace one of mine. | 09:40 | |
09:40
nightfrog joined,
p6bannerbot sets mode: +v zakharyas
09:41
p6bannerbot sets mode: +v nightfrog
09:42
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||
pmurias | masak: I would say it dependends in what context you view the concepts | 09:43 | |
masak | ok, let's say we're somewhere in the neighborhood of a Haskell programmer or an ML programmer | ||
pmurias | masak: like tail calls expressions are a lot more important in a pure FP to be able to iterate without running out of stack than when mixing in function programming parts in a hybrid language | 09:46 | |
masak: I do also feel in idiomatic haskell a lot of iteration is done by higher order functions rather then low level tail calls | 09:48 | ||
masak | yeah, I mean TCE is completely vital in Haskell. but I've also heard JavaScript FP heads complain that the lack of TCE in JavaScript (in practice) puts real barriers on what you can do with FP in JavaScript | 09:52 | |
the point about idiomatic Haskell is well taken | |||
guess it's one of those "should I be explicit and low level, or more high-level and use (HOF) built-ins?" | 09:53 | ||
cpan-p6 | New module released to CPAN! Doublephone (0.0.4) by 03JSTOWE | ||
masak | kinda like how I usually end up arguing `map` vs `for` loops with beginner JS classes | ||
El_Che | Woodi: almost every network login (RADIUS) uses a ldap backend als the main one. | 09:54 | |
Woodi: and lots of SSO solutions as well, like Shibboleth | |||
pmurias | masak: I would say it's more like using a for vs a while | 10:00 | |
masak: a lot of the HOF built-ins correspond to more structured looping constructs while a direct tail call self-recursion gives you a raw loop | 10:01 | ||
10:02
ChoHag left
|
|||
cpan-p6 | New module released to CPAN! App-CPAN (0.0.2) by 03TYIL | 10:09 | |
lizmat | tyil++ | 10:12 | |
tyil | TIL emacs for writing POD is a pain :( | 10:16 | |
10:22
w17t left
10:25
w17t joined,
p6bannerbot sets mode: +v w17t
|
|||
masak | tyil: POD, as in Perl 5's POD? | 10:28 | |
tyil | oh, POD6 | 10:29 | |
sorry | |||
was writing the readme for cpan-p6 while waiting for the docker image to build, but emacs was messing up the indents pretty badly | |||
vim has by far the best support for Perl 6, but vim is atrociously slow when faced with a perl/pod document larger than 50 lines | 10:30 | ||
10:38
pmurias left
|
|||
masak | when I see people writing it in all-caps I assume it's the old Perl 5 format :) | 10:38 | |
TheDamian suggests that the new format be capitalized "Pod" | 10:39 | ||
tyil | I generally add a "6" to denote it, but I forgot this time | ||
the way I capitalize it is inconsistent | |||
10:40
reach_satori left
|
|||
masak .oO( tHe wAY i CApItALiZe iT Is inCoNSIsTeNt ) | 10:43 | ||
tyil | just the "it" part :( | 10:44 | |
11:00
rindolf left
|
|||
lizmat | m: say "1{"0" x $_}666{"0" x $_}1".is-prime for 0,13,42,506,608 # TIL :-) | 11:03 | |
camelia | True True True True True |
||
lizmat | 2472 and 2623 take a bit too long for camelia | 11:04 | |
11:07
rindolf joined
11:08
p6bannerbot sets mode: +v rindolf
|
|||
lizmat | mostly afk for the rest of the day& | 11:10 | |
11:11
lizmat left
11:16
scimon joined
11:17
domidumont left,
p6bannerbot sets mode: +v scimon
11:19
nst^ joined,
p6bannerbot sets mode: +v nst^
11:21
ChoHag joined
11:22
p6bannerbot sets mode: +v ChoHag
11:31
kurahaupo joined
11:32
p6bannerbot sets mode: +v kurahaupo
|
|||
cpan-p6 | New module released to CPAN! NativeHelpers-Array (0.0.3) by 03JSTOWE | 11:45 | |
12:20
lmy9900 joined
12:21
loud joined,
p6bannerbot sets mode: +v lmy9900,
p6bannerbot sets mode: +v loud
12:22
loud left,
lmy9900 left
12:34
rindolf left
|
|||
tyil | is there a reason why testing is not skipped when R* installs modules? | 12:34 | |
12:34
rindolf joined
|
|||
tyil | the outcome of the test is ignored, and testing all those modules takes ages | 12:34 | |
12:35
p6bannerbot sets mode: +v rindolf
12:37
domidumont joined
12:38
p6bannerbot sets mode: +v domidumont
12:42
domidumont left
12:43
rindolf left
12:44
smallick joined
12:45
p6bannerbot sets mode: +v smallick,
sena_kun joined
12:46
p6bannerbot sets mode: +v sena_kun
|
|||
smallick | m: print (1/23).base-recurring | 12:46 | |
camelia | No such method 'base-recurring' for invocant of type 'Rat' in block <unit> at <tmp> line 1 |
||
smallick | m: print (1/23).base-repeating | 12:48 | |
camelia | 0. 0434782608695652173913 | ||
smallick | m: print (1/11).base-repeating | 12:49 | |
camelia | 0. 09 | ||
12:49
rindolf joined
|
|||
cpan-p6 | New module released to CPAN! Manifesto (0.0.4) by 03JSTOWE | 12:49 | |
daxim | m: my Str $s = 'abc'; my @l = $s.comb.map(-> $g { /$g/ }); @l.perl.say | ||
camelia | [/$g/, /$g/, /$g/] | ||
daxim | how do I make the variable interpolate? | ||
12:50
p6bannerbot sets mode: +v rindolf
|
|||
tyil | m: my Str $s = 'abc'; my @l = $s.comb.map(-> $g { $g }); @l.perl.say | 12:51 | |
camelia | ["a", "b", "c"] | ||
smallick | m: say /<$_>/ for <a b c> # just checking | ||
camelia | /<$_>/ /<$_>/ /<$_>/ |
||
smallick | m: 'abc'.comb.map({/{$_}/}).say | 12:53 | |
camelia | (/{$_}/ /{$_}/ /{$_}/) | ||
smallick | m: print /(?:)/.WHAT | 12:54 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Quantifier quantifies nothing at <tmp>:1 ------> 3print /(?:7⏏5)/.WHAT expecting any of: argument list term |
12:55 | |
smallick | m: print //.WHAT | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Null regex not allowed at <tmp>:1 ------> 3print //7⏏5.WHAT |
||
smallick | print /abc/.WHAT | 12:56 | |
evalable6 | Use of uninitialized value of type Regex in string context. Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. in block <unit> at /tmp/_ZuxXq0r0w line 1 |
||
smallick | m: print <a b c>.comb.map(*.Regex) | 12:57 | |
camelia | No such method 'Regex' for invocant of type 'Str' in block <unit> at <tmp> line 1 |
||
smallick | m: print <a b c d>.comb.map(Regex.new: *) | ||
camelia | Default constructor for 'Regex' only takes named arguments in block <unit> at <tmp> line 1 |
||
smallick | how string ===> regex | 12:59 | |
daxim | 🤷 | 13:00 | |
13:00
domidumont1 joined
|
|||
smallick | converting string to regex ('^foobar$' ===> /^foobar$/) | 13:01 | |
13:01
p6bannerbot sets mode: +v domidumont1
13:03
smallick left
|
|||
cpan-p6 | New module released to CPAN! Doublephone (0.0.5) by 03JSTOWE | 13:05 | |
13:14
rindolf left
|
|||
sena_kun | m: my $a = '^foobar$'; say 'foobar' ~~ /<$a>/ | 13:18 | |
camelia | 「foobar」 | ||
13:19
rindolf joined
|
|||
sena_kun | .tell smallick to turn an arbitrary string into a regex like: `my $a = '^foobar$'; say 'foobar' ~~ /<$a>/` | 13:20 | |
yoleaux | sena_kun: I'll pass your message to smallick. | ||
13:20
p6bannerbot sets mode: +v rindolf
13:32
domidumont1 left
13:33
domidumont joined
13:34
p6bannerbot sets mode: +v domidumont,
domidumont1 joined
13:35
p6bannerbot sets mode: +v domidumont1
13:37
domidumont left
13:42
BeaconAlumna left,
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||
pmurias | re splitting up the docs repo, wouldn't it make sense to use the same code to display docs for both the builtin things *and* user modules? | 13:43 | |
13:49
pmurias left,
pmurias joined,
p6bannerbot sets mode: +v pmurias
13:53
pmurias left
|
|||
cpan-p6 | New module released to CPAN! EuclideanRhythm (0.0.3) by 03JSTOWE | 13:53 | |
13:53
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||
sena_kun | pmurias, I think, the issue is that current doc site process is a mess, to be honest, with a number of issues that are here and very hard to fix because of that and very low test coverage. Hence I don't think the split can anyhow be bad for the case you pointed out, it's orthogonal. | 13:57 | |
14:00
smallick joined
|
|||
andrzejku | I don't truly understand | 14:00 | |
in Perl6 we cann't mutate variable | |||
so when we modify something like String and Int it creates a copy | 14:01 | ||
14:01
p6bannerbot sets mode: +v smallick
|
|||
smallick | how so | 14:01 | |
yoleaux | 13:20Z <sena_kun> smallick: to turn an arbitrary string into a regex like: `my $a = '^foobar$'; say 'foobar' ~~ /<$a>/` | ||
andrzejku | so how to modify String? | ||
if I have to modify every second char in it? | |||
sena_kun | andrzejku, it depends on what modification you want to do. Can you provide an example of your task? | 14:02 | |
smallick | in c, type is associated with variables, here, it is not like that | ||
andrzejku | just trying to do something like that $input.comb[$index] = $input.comb[$index] * 2; | ||
sena_kun | the reason underneath is that a string is not a char array. | 14:03 | |
andrzejku | it sounds like Perl6 is very slow by design | ||
sena_kun | andrzejku, what result are you expecting to get from multiplying a character? | 14:04 | |
andrzejku | I am doing something like that | ||
Int to Str | |||
and then get every char as int and multiply | |||
every seond* | |||
and now I know that when it become and Str then it is immutable | 14:05 | ||
and what now?:D | |||
sena_kun | m: '1234'.comb.map(*.Int).map(* * 2).join.say; | ||
camelia | 2468 | ||
sena_kun | like this? ^ | ||
andrzejku | 1438 | ||
every second | 14:06 | ||
sena_kun | give me a second... | ||
14:07
w17t left
|
|||
smallick | m: print <a b c>.map($^a => $^b) | 14:12 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot use placeholder parameter $^a outside of a sub or block at <tmp>:1 ------> 3print <a b c>.map($^a7⏏5 => $^b) |
||
smallick | m: 1234.comb.map({ $^a + $^b }) | ||
camelia | ( no output ) | ||
smallick | say 1234.comb.map({$^a + $^b}) | 14:13 | |
evalable6 | (3 7) | ||
andrzejku | looks like it is not implemented :D | 14:14 | |
sena_kun | m: sub f($ind, $n) { ($ind + 1) %% 2 ?? $n * 2 !! $n }; '1234'.comb.map(*.Int).kv.map(&f}).join.say; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1) at <tmp>:1 ------> 3! $n }; '1234'.comb.map(*.Int).kv.map(&f7⏏5}).join.say; |
||
smallick | 3124.comb | ||
sena_kun | m: sub f($ind, $n) { ($ind + 1) %% 2 ?? $n * 2 !! $n }; '1234'.comb.map(*.Int).kv.map(&f).join.say; | ||
camelia | 1438 | ||
sena_kun | andrzejku, ^ | ||
a better solution can be made, I think, as I am just passing by folk who doesn't know Perl 6. :P | |||
m: '1234'.comb.map(*.Int).kv.map({ ($^index + 1) %% 2 ?? $^n * 2 !! $^n }).join.say | 14:15 | ||
camelia | 1438 | ||
sena_kun | inlined version | 14:16 | |
smallick | what is that kv | ||
moritz | m: say <a b c>.kv | ||
camelia | (0 a 1 b 2 c) | ||
smallick | key value ? | 14:17 | |
moritz | keys and values as in inline list | ||
first introduces for hashes, but sometimes useful for lists as well | |||
m: say <a b c>.pairs | |||
camelia | (0 => a 1 => b 2 => c) | ||
moritz | m: say '1234'.comb.pairs.map({ .key %% 2 ?? .value !! 2 * .value})».value.join | 14:18 | |
camelia | No such method 'value' for invocant of type 'Str'. Did you mean 'values'? in block <unit> at <tmp> line 1 |
||
moritz | m: say '1234'.comb.pairs | 14:19 | |
camelia | (0 => 1 1 => 2 2 => 3 3 => 4) | ||
smallick | and what the » do | 14:20 | |
sena_kun | quick alternative to `.map` when you want to just use value's method and pass result further. | 14:21 | |
moritz | call a method on every element of a list, basically like .map (but eager, not lazy) | ||
sena_kun | m: ('1', '2')>>.Int.say; | 14:22 | |
camelia | (1 2) | ||
smallick | a simple example | ||
sena_kun | :) | ||
moritz | m: say (1, 4, 9, 16)».sqrt | 14:23 | |
camelia | (1 2 3 4) | ||
smallick | m: say 1234.comb.map({ $^a, $^b ** 2 }) | 14:24 | |
camelia | ((1 4) (3 16)) | ||
smallick | m: say 1234.comb.map({ $^a, $^b * 2 }).flatten | 14:25 | |
camelia | No such method 'flatten' for invocant of type 'Seq' in block <unit> at <tmp> line 1 |
||
sena_kun | m: say 1234.comb.map({ $^a, $^b * 2 }).flat.join | 14:26 | |
camelia | 1438 | ||
smallick | m: 12131411.comb.map({ $^a, $^b * 2 }).join | ||
camelia | ( no output ) | ||
smallick | m: 12131411.comb.map({ $^a, $^b * 2 }).join | ||
camelia | ( no output ) | ||
sena_kun | and I knew it can be done better than version of mine. :) | ||
smallick++ | |||
smallick | 1121313221341.comb.map({ $^a, $^b * 2 }).flat.join.print | 14:27 | |
moritz | m: say 1121313221341.comb.map({ $^a, $^b * 2 }).flat.join.print | ||
camelia | Too few positionals passed; expected 2 arguments but got 1 in block <unit> at <tmp> line 1 |
||
sena_kun | m: '12345'.comb.map(*.Int).kv.map({ ($^index + 1) %% 2 ?? $^n * 2 !! $^n }).join.say | 14:29 | |
camelia | 14385 | ||
sena_kun | .kv one handles odd number of elements though. | 14:30 | |
smallick | hmm | ||
andrzejku | shit kill me but I am out | ||
sena_kun | andrzejku, ? | 14:31 | |
andrzejku | too hard | ||
sena_kun | well, programming _is_ hard, no doubts. :| | 14:32 | |
andrzejku | yes but I remmember those sequenced | ||
things from Ruby and Rust | |||
and it was much more easier to understand | 14:33 | ||
smallick | m: my $v = 12345; say $v.kv.map({ $^a %% 2 ?? $^b * 2 !! $^b }).join | 14:34 | |
camelia | 24690 | ||
smallick | wont work | ||
remember Yuan Ma | |||
how to iterate over hash | 14:36 | ||
sena_kun | smallick, its values or keys? or both? | 14:37 | |
pmurias | sena_kun: decoupling stuff will help reusing the documentation rendering code both for core stuff and for modules | ||
smallick | both | 14:38 | |
sena_kun | pmurias, 100% agreed. | ||
14:38
kurahaupo left
|
|||
sena_kun | smallick, you can call `keys` or `values` or already shown `kv`. | 14:38 | |
and then. | |||
pmurias | sena_kun: but I also agree that splitting mangled together things into repos before they are decoupled will make decoupling *harder* | ||
14:38
kurahaupo joined,
kurahaupo left
|
|||
sena_kun | m: my %a = a => 1, b => 2; for %a.values { $_.say }; for %a.keys { $_.say }; | 14:38 | |
camelia | 1 2 a b |
||
sena_kun | pmurias, yes, I have pointed that out too at github.com/perl6/doc/issues/2542#i...-451942693 :) | 14:39 | |
scovit | m: my @c = "1234".comb; @c[1] *= 2; say @c.join | ||
camelia | 1434 | ||
Util | m: my $v = 12345; say $v.comb.map(-> $a, $b? { $a, |($b * 2 if defined $b) }).flat.join; | 14:40 | |
camelia | 14385 | ||
smallick | aha! | ||
scovit | andrzejku: why can't you use an array? | ||
14:41
kurahaupo joined
14:42
p6bannerbot sets mode: +v kurahaupo
|
|||
pmurias | sena_kun: saw that discussion, didn't comment on that issue as it seems you adressed the split as not helping decoupling | 14:42 | |
smallick | m: my $v = 12345.comb; $v[1, 3, *+2 ... $v.elems] *= 2 ; say $v.join | ||
camelia | Cannot modify an immutable Str (2) in block <unit> at <tmp> line 1 |
||
scovit | m: my @c = "1234567".comb; @c[1, 3 ... *] *= 2; say @c.join | ||
camelia | Use of uninitialized value of type Any in string context. Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. 16357 in block <unit> at <tmp> line 1 Use of uninitialized value of type Any in string conte… |
||
scovit | smallick use arrays | 14:43 | |
m: my @c = "1234567".comb; @c[1, 3 ... 10] *= 2; say @c.join | |||
camelia | Use of uninitialized value of type Any in string context. Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. 110357 in block <unit> at <tmp> line 1 Use of uninitialized value of type Any in string cont… |
||
scovit | m: my @c = "1234567".comb; @c[1, 3 ... 7] *= 2; say @c.join | ||
camelia | Use of uninitialized value of type Any in string context. Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. 18357 in block <unit> at <tmp> line 1 Use of uninitialized value of type Any in string conte… |
||
sena_kun | pmurias, well, in my comment on github I have tried to express that decoupling goes first and different repos come second. | ||
pmurias, and by your `re splitting` here I rudely guessed you is against the split proposal, which may be false. | 14:44 | ||
*you are | |||
scovit | m: my @c = "1234567".comb; $_ *=2 for @c[1, 3 ... *]; say @c.join | 14:45 | |
camelia | 14385127 | ||
smallick | m: my @c = "1234".split».Int; @c[1, 3 ... *] *= 2; say @c.join | ||
camelia | Cannot resolve caller split(Str:D: ); none of these signatures match: (Str:D: Regex:D $pat, $limit is copy = Inf;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_ --> Seq:D) (Str:D: Str(Cool) $match;; :$v is copy, :$k, :$kv, :$p, :$skip-emp… |
||
Util | m: my @c = "1234567".comb; @c[1, 3 ... 7] >>*=>> 2; say @c.join; | ||
camelia | 143851272 | ||
pmurias | sena_kun: I'm definitely against splitting the repos before the things are decoupled | ||
smallick | what is that :D | ||
sena_kun | pmurias, that's different from "against the split at all", so count me +1 to what you think. :) | 14:46 | |
Util | m: my @c = "1234567".comb; @c[1, 3 ... *] »*=» 2; say @c.join; | ||
camelia | 14385127 | ||
sena_kun | lol | ||
Util++ | |||
Util | `*=` was failing because it can only operate on one thing on the left-hand-side. | 14:47 | |
smallick | oh | ||
pmurias | sena_kun: I don't have a super strong opinion against the split after the decoupling | ||
Util | Turning it into its hyper-operator (with magic pointing to the right) allows the left to be a list, while the right-hand-side is constant. | 14:48 | |
pmurias | sena_kun: keeping stuff split into independent subdirectories in the repo is one possible options | ||
smallick | what is that 'Str:D' things? | 14:49 | |
scovit | nice | ||
pmurias | sena_kun: in node.js land it seems to be fairly popular for complex things | ||
tyil | smallick: Str:D is a type with a type smiley, the type being Str (for String), and :D means it has to be definite (or defined) | ||
smallick | Is :U undefined, then | 14:50 | |
tyil | yes | ||
smallick | saw a Mu:U in STD | 14:51 | |
pmurias | has anyone seen TimToady lately? | ||
tyil | the default is :_, which means you don't really care if it's defined or not | ||
smallick | m: say Mu.new ~~ Mu:D | 14:52 | |
camelia | Died with X::Multi::NoMatch in block <unit> at <tmp> line 1 |
||
smallick | m: say Mu.new ~~ Mu:U | 14:53 | |
camelia | Died with X::Multi::NoMatch in block <unit> at <tmp> line 1 |
||
tyil | not sure if you can smartmatch against a type with smiley | ||
m: my Mu:D $foo = Mu.new | |||
camelia | ( no output ) | ||
tyil | m: my Mu:U $foo = Mu.new | ||
smallick | i am not sure also | ||
camelia | Type check failed in assignment to $foo; expected Mu:U but got Mu (Mu.new) in block <unit> at <tmp> line 1 |
||
14:54
zacts joined,
p6bannerbot sets mode: +v zacts
|
|||
tyil | ugh, uploaded a module to CPAN over 4 years ago, but zef still doesnt list it when I search for it :/ | 14:55 | |
smallick | m: say 13 ~~ Int:D | 14:56 | |
camelia | True | ||
14:57
curan left,
molaf joined
|
|||
smallick | m: say ([*] 1..23 ) + 1 ~~ :is-prime | 14:57 | |
camelia | False | ||
14:58
p6bannerbot sets mode: +v molaf
|
|||
smallick | m: my $n = [*] 1..23 + 1; say (2..$n).grep($n%%*) | 14:59 | |
camelia | (2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 32 33 34 35 36 38 39 40 42 44 45 46 48 49 50 51 52 54 55 56 57 60 63 64 65 66 68 69 70 72 75 76 77 78 80 81 84 85 88 90 91 92 95 96 98 99 100 102 104 105 108 110 112 114 115 … | ||
smallick | say ([*] 1..23) + 1 | 15:00 | |
evalable6 | 25852016738884976640001 | 15:01 | |
smallick | strange number | ||
m: my $n = [*] 1..23 + 1; say (2..$n).grep({ not $n %% $_ }) | 15:03 | ||
camelia | (29 31 37 41 43 47 53 58 59 61 62 67 71 73 74 79 82 83 86 87 89 93 94 97 101 103 106 107 109 111 113 116 118 122 123 124 127 129 131 134 137 139 141 142 145 146 148 149 151 155 157 158 159 163 164 166 167 169 172 173 174 177 178 179 181 183 185 186 18… | ||
smallick | prime factorization of that num (23! + 1) | 15:05 | |
wait! | 15:06 | ||
m: my $n = ([*] 1..23) + 1; | 15:07 | ||
camelia | ( no output ) | ||
smallick | say $n %% 2 | ||
moritz | m: say (([*] 1..23) + 1) %% 29 | ||
camelia | False | ||
smallick | m: say ([*] 1..23 + 1) %% 2 | ||
camelia | True | ||
smallick | ha! | ||
moritz | m: my $n = (([*] 1..23) + 1); say (2..sqrt($n)).grep({ $n %% $_}).head(20) | 15:08 | |
smallick | say ([*] 1 .. 23 + 1) | ||
evalable6 | 620448401733239439360000 | ||
camelia | (timeout) | ||
andrzejku | map(*.Int) sounds like a magic fo me | 15:09 | |
smallick | which have higher precedence between .. and + | ||
say ([*] 1..23)+1 | 15:10 | ||
evalable6 | 25852016738884976640001 | ||
smallick | plus have | ||
tyil | andrzejku: .map() is a thing from functional languages, and applies the code given to it to each element in a list, *.Int is a WhateverCode, the * is the Whatever here, and the .Int casts "whatever" it has to an Int type | 15:12 | |
sena_kun | m: my @a = <1 2 3>; my @b; for @a -> $element { @b.append: $element.Int }; say @b | ||
camelia | [1 2 3] | ||
tyil | so map(*.Int) makes every item in a list turn into an Int | 15:13 | |
andrzejku | ahh good to know | 15:14 | |
I will probably back to read a book :D | |||
Perl6 is quite hard | |||
can I see how thats implemented in Perl6? | 15:15 | ||
tyil | well, technically yes | ||
but I would not know where to look exactly | |||
smallick | say (1/0).Num | ||
evalable6 | Inf | ||
tyil | don't be afraid to ask questions here or on StackOverflow, or the Perl6-users mailing list, andrzejku | ||
andrzejku | ok | ||
tyil I jsut wanted to solve today the next exercise | 15:16 | ||
form Perl6 | |||
but it is too hard just find a function in Perl6 | |||
tyil | Perl 6 is a massive language, but it's composed of a lot of small, easy rules, and most people around here (and SO, and the ML) will be glad to help you out if you need it | ||
andrzejku | and apply it | ||
like I did Ruby for example | |||
15:16
rindolf left
|
|||
andrzejku | tyil | 15:16 | |
thnks | |||
a lot | |||
tyil | :) | 15:17 | |
andrzejku | what if I want to look for the map implementation github.com/perl6/nqp | 15:18 | |
is there any way to find it | 15:19 | ||
smallick | big language indeed. | ||
tyil | andrzejku: github.com/rakudo/rakudo/search?q=...sub+map%22 | 15:20 | |
if you search inside that repo, you probably should have some luck, it pointed me towards github.com/rakudo/rakudo/blob/a904....pm6#L2090 | |||
but I'm not sure if this is what you were looking for | 15:21 | ||
15:21
rindolf joined
|
|||
moritz | I tend to have the rakudo git repo checked out, and run git grep -F 'sub map' | 15:22 | |
15:22
p6bannerbot sets mode: +v rindolf
|
|||
andrzejku | emmm | 15:23 | |
whats implemented in NQP then? | |||
15:23
thundergnat joined,
p6bannerbot sets mode: +v thundergnat
|
|||
smallick | perl6 itself | 15:23 | |
thundergnat | m: say '123456789'.comb »*» (1,2); | 15:24 | |
camelia | (1 4 3 8 5 12 7 16 9) | ||
smallick | wow | ||
thundergnat | m: say (1..23) »*» (1,2); | ||
camelia | (1 4 3 8 5 12 7 16 9 20 11 24 13 28 15 32 17 36 19 40 21 44 23) | ||
thundergnat | :-) | 15:25 | |
15:26
thundergnat left
|
|||
smallick | m: say (1234.comb».Int »*» (1, 2)).join | 15:26 | |
camelia | 1438 | ||
smallick | m: say (1243213421.comb».Int »*» (1, 2)).join | 15:27 | |
camelia | 1446223822 | ||
smallick is exhausted | 15:31 | ||
15:32
smallick left
|
|||
AlexDaniel | tyil: open a ticket for star | 15:33 | |
github.com/rakudo/star/issues | |||
tyil | AlexDaniel: ack | ||
15:36
kudzo left
15:37
issamemario joined
|
|||
Util | thundergnat++ | 15:37 | |
15:38
p6bannerbot sets mode: +v issamemario
15:39
issamemario left
|
|||
daxim | m: my Str $s = 'abc'; my @l = $s.comb.map(-> $g { /<$g>/ }); @l.perl.say | 15:42 | |
camelia | [/<$g>/, /<$g>/, /<$g>/] | ||
daxim | sena_kun, that doesn't work, either | 15:43 | |
sena_kun | hmm... | 15:45 | |
m: my Str $s = 'abc'; my @l = $s.comb.map(-> $g { /<$g>/ }); say 'a' ~~ @l[0]; say 'a' ~~ @l[1]; say 'b' ~~ @l[1]; | 15:46 | ||
camelia | 「a」 Nil 「b」 |
||
15:46
ufobat_ left
|
|||
daxim | wtf | 15:46 | |
sena_kun | daxim, is there something wrong with ^? | ||
daxim | yeah, the fucking stringification is wrong | 15:47 | |
sena_kun | let me try... | ||
m: my $ehehe = 'a'; /<$ehehe>/.perl; | |||
camelia | ( no output ) | ||
sena_kun | m: my $ehehe = 'a'; /<$ehehe>/.perl.say; | ||
camelia | /<$ehehe>/ | ||
sena_kun | I am not sure it is wrong. I mean, stringification is done using variable name. | 15:48 | |
in case with `<$g>`, variable $g is captured from outer env every time and it, indeed, has different value in those three cases, I think. | |||
daxim | that's useless. $g is assigned multiple times and long out of scope when I inspect the regex | 15:49 | |
15:50
smallick joined
|
|||
sena_kun | daxim, do you mean it has to be presented as `'a'`, `'b'` and so on? | 15:50 | |
instead of link to the rule. | |||
15:50
p6bannerbot sets mode: +v smallick
|
|||
sena_kun | or, rather, captured rule name. | 15:50 | |
daxim | guess what the other 8 programming languages I'm familiar with do | 15:51 | |
smallick | m: say /<$_>/ ~~ 'a' given 'a' | ||
camelia | Regex object coerced to string (please use .gist or .perl to do that) False in block at <tmp> line 1 |
||
sena_kun | m: say 'a' ~~ /<$_>/ given 'a'; | ||
camelia | 「a」 | ||
smallick | m: say /<$_>/ given 'foo' | 15:52 | |
camelia | /<$_>/ | ||
15:52
ufobat_ joined
|
|||
smallick | huh | 15:52 | |
15:53
p6bannerbot sets mode: +v ufobat_
|
|||
smallick | m: my $a = 'abcde'.comb; say $a.map({ /<$_>/ }) »~~» $a | 15:57 | |
camelia | The iterator of this Seq is already in use/consumed by another Seq (you might solve this by adding .cache on usages of the Seq, or by assigning the Seq into an array) in block <unit> at <tmp> line 1 |
||
sena_kun | daxim, to my understanding, such behavoir derives from Regex being a routine, to use it as a code block. I am not a core member though, just your average folk. :) You can likely open an issue though. | 15:58 | |
smallick | m: my @a = <a b c d e f>; say @a.map({ /<$_>/ }) »~~» @a | 15:59 | |
camelia | Regex object coerced to string (please use .gist or .perl to do that) (False False False False False False) in block <unit> at <tmp> line 1 Regex object coerced to string (please use .gist or .perl to do that) in block <unit> at <tmp> line… |
||
smallick | m: say s/<$_>/<$_>/ given 'foo' | 16:01 | |
camelia | Cannot modify an immutable Str+{Match::CachedCompiledRegex} (foo) in block <unit> at <tmp> line 1 |
||
smallick | m: say TR/<$_>/$_/ given 'foobar' | 16:02 | |
camelia | foobar | ||
smallick | hmm | 16:03 | |
16:05
ferreira1 joined
|
|||
smallick | m: say TR/b/abb/ given 'abc' | 16:06 | |
camelia | aac | ||
16:06
p6bannerbot sets mode: +v ferreira1
|
|||
smallick | say ~5 | 16:06 | |
evalable6 | 5 | 16:07 | |
smallick | say ~5, 10 | ||
evalable6 | 510 | ||
smallick | say 1/0 == 2/3 | 16:09 | |
evalable6 | False | ||
smallick | say 1/3 == 1/0 | ||
evalable6 | False | ||
smallick | say 1.gist | 16:10 | |
evalable6 | 1 | ||
smallick | m: .say | 16:11 | |
camelia | (Any) | ||
smallick | m: .print | ||
camelia | Use of uninitialized value of type Any in string context. Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. in block <unit> at <tmp> line 1 |
||
smallick | m: Mu.new.^name.say | ||
camelia | Mu | ||
smallick | 1.^name.say | 16:12 | |
evalable6 | Int | ||
smallick | say /a/.WHAT.perl | 16:13 | |
evalable6 | Regex | ||
smallick | dd dd | ||
m: say qx<ping 8.8.8.8>; | 16:17 | ||
camelia | ping: icmp open socket: Operation not permitted |
||
cpan-p6 | New module released to CPAN! Tomtit (0.0.29) by 03MELEZHIK | ||
smallick | m: say VM | ||
camelia | (VM) | ||
smallick | m: say $*VM; | ||
camelia | moar (2018.12.13.g.473324.ee.3) | ||
16:18
jme` left
|
|||
smallick | m: say WOW | 16:18 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared name: WOW used at line 1 |
||
smallick | bisect: say 1/0 == 1/3 | 16:19 | |
bisectable6 | smallick, On both starting points (old=2015.12 new=ec289a6) the exit code is 0 and the output is identical as well | ||
smallick, Output on both points: «False» | |||
smallick | e: | 16:20 | |
evalable6 | |||
smallick | e: say $*VM | ||
evalable6 | moar (2018.12.13.g.473324.ee.3) | ||
smallick | e: say qx<uname> | 16:21 | |
evalable6 | Linux |
||
smallick | m: say qx<uname> | ||
camelia | Linux |
||
smallick | m: say qx<uname -a> | ||
camelia | Linux camelia 4.4.165-81-default #1 SMP Mon Dec 3 07:47:23 UTC 2018 (0bfc9ed) x86_64 x86_64 x86_64 GNU/Linux |
||
smallick | r: say qx<ls> | 16:22 | |
camelia | "my file" Inline-Perl5 Perlito bin dalek-queue evalbot evalbot.log file.txt lib log mbox nqp-js p1 p2 p6eval-token perl5 precomp rakudo-j-1 rakudo-j-2 rakudo-j-inst rakudo-j-inst-1 rakudo… |
16:23 | |
smallick | camelia, help | ||
camelia | smallick: Usage: <(prof-m|rakudo-jvm|nqp-js|nqp-moarvm|nqp-jvm|debug-cat|p5-to-p6|star-m|rakudo-moar|rm|star|nqp-q|master|p56|r|j|rakudo|sm|rj|p6|nqp-mvm|nqp|r-j|nqp-m|perl6|r-m|m|r-jvm)(?^::\s(?!OUTPUT)) $perl6_program> | ||
smallick | m: say qx<pwd> | 16:24 | |
camelia | /home/camelia |
||
AlexDaniel | smallick: what are you trying to do? Maybe I can help :) | 16:25 | |
smallick | just seeing the system where expressions are evaluated | ||
is it a problem | 16:26 | ||
AlexDaniel | smallick: by the way, you can run some code in your browser: perl6.github.io/6pad/ | 16:27 | |
I think your browser version needs to be new enough for it to work, but maybe that's already not an issue | 16:28 | ||
smallick | it is my phone where i'm typing these | ||
a keypad one | |||
AlexDaniel | nice | ||
smallick: there are three bots here, actually. camelia evalable6 and perlbot | 16:29 | ||
perlbot | AlexDaniel: Stored smallick: there are three bots here, actually. camelia evalable6 and | ||
AlexDaniel | ?? | ||
anyway… | |||
smallick | yes | 16:30 | |
AlexDaniel | smallick: it's fine to explore the bots, but fwiw it's not fine to attempt to damage them in any way :) | ||
smallick | i am sorry | ||
AlexDaniel | smallick: camelia is very permissive and will even let you write to the filesystem. evalable6 is a bit more restricted, but will still allow you do things for your convenience | ||
IIRC perlbot is as secure as it can get, but then you can't do some things that you might want to do legitimately… | 16:31 | ||
smallick | i am just trying to learn it | 16:32 | |
with help from you | |||
i remembered perl one and saw how it works here | 16:33 | ||
AlexDaniel | perlbot: help | 16:34 | |
perlbot | AlexDaniel: Provides help text for a specific command. Try 'help echo'. See also the command 'plugins' to list all of the currently loaded plugins. | ||
AlexDaniel | hmmm what was the command… | ||
p6: say 42 | |||
camelia | 42 | ||
AlexDaniel | perlbot: say 42 | ||
eval: say 42 | |||
evalable6 | 42 | ||
AlexDaniel | rkeval: say 42 | 16:35 | |
perlbot | AlexDaniel: 42 | ||
AlexDaniel | ah, there it is | ||
smallick | is there an expr evaluator, tired to write say | 16:36 | |
if forgot to write say | |||
m: 42 | |||
camelia | WARNINGS for <tmp>: Useless use of constant integer 42 in sink context (line 1) |
||
smallick | m: ([*] 1..11) | 16:37 | |
camelia | ( no output ) | ||
16:37
sno left
|
|||
AlexDaniel | smallick: right, in command line if you run `perl6` without any arguments it goes into the REPL mode | 16:37 | |
16:37
pmurias left
|
|||
AlexDaniel | and there it prints the result of expressions nicely | 16:37 | |
bots don't have that, unfortunately | 16:38 | ||
say 42 | |||
evalable6 | 42 | ||
AlexDaniel | but you can drop `m:` sometimes :) | ||
16:38
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||
smallick | if i had computers | 16:38 | |
AlexDaniel | evalable6 won't respond if there's an error and m: was omitted, so it's not perfect | ||
16:39
zacts left
|
|||
smallick | i have this j2me phone as a computer | 16:41 | |
what is the perl6 compiler to jvm | 16:43 | ||
timotimo | rakudo | ||
you just have to build it with --backends=jvm or --backends=moar,jvm | |||
or maybe that's --backend= | |||
smallick | how much big it is, whole executable | 16:44 | |
after building | |||
timotimo | not sure, but i don't think it's small | ||
smallick | bigger than 1GB? | 16:46 | |
timotimo | don't think so | 16:47 | |
smallick | smaller than a gb | ||
timotimo | i'll go ahead and build it | ||
16:48
ufobat_ left
|
|||
smallick | tell me later, then. Good bye | 16:49 | |
16:49
smallick left
|
|||
timotimo | wow, the build is kind of slow | 16:53 | |
16:53
Sgeo_ joined
16:54
p6bannerbot sets mode: +v Sgeo_
16:56
Sgeo left
16:57
jmerelo joined
16:58
p6bannerbot sets mode: +v jmerelo,
abraxxa left
17:05
pmurias left
17:06
pmurias joined,
p6bannerbot sets mode: +v pmurias
17:09
kensanata left
17:17
reach_satori joined
|
|||
Xliff_ | will perl6 -e "use Module" precompile it? | 17:18 | |
It used to. | |||
Now I am not sure. | |||
17:18
p6bannerbot sets mode: +v reach_satori
17:21
molaf left
17:26
scimon left
|
|||
Geth | doc: 3a35ce0678 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/hashmap.pod6 fix typo |
17:29 | |
doc: 98fa7f92bf | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/hashmap.pod6 add missing comma |
17:38 | ||
17:44
dakkar left
17:51
w17t joined,
p6bannerbot sets mode: +v w17t
17:58
domidumont joined
17:59
p6bannerbot sets mode: +v domidumont
18:00
reach_satori left
18:01
domidumont1 left
18:05
jmerelo left
18:07
zakharyas left,
patrickb joined,
p6bannerbot sets mode: +v patrickb
18:11
jast left
18:13
jast joined,
p6bannerbot sets mode: +v jast
18:19
domidumont left
18:20
domidumont joined,
abraxxa joined,
p6bannerbot sets mode: +v domidumont
18:21
p6bannerbot sets mode: +v abraxxa
18:24
domidumont left,
domidumont joined,
abraxxa left
18:25
p6bannerbot sets mode: +v domidumont,
sauvin left
18:28
isomorphismes joined
18:29
p6bannerbot sets mode: +v isomorphismes
18:40
abraxxa joined
|
|||
cpan-p6 | New module released to CPAN! OO-Plugin (v0.0.4) by 03VRURG | 18:41 | |
18:41
p6bannerbot sets mode: +v abraxxa
|
|||
Geth | doc: b9d722734a | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/hashmap.pod6 add example of in-place editing of a hash key also shows how to delete a hash key which seems to be missing |
18:42 | |
tbrowder | idea for a useful prog: use AI tool to translate p5 to p6 | 18:45 | |
maybe other langs, too! | |||
El_Che | call it parrot | 18:46 | |
tbrowder | heh, heh! good one El_Che! to SNL you go... | ||
18:46
Cabanossi joined
|
|||
El_Che | :) | 18:47 | |
sena_kun | if only such a tool was possible at technology level humanity is at... | ||
18:47
p6bannerbot sets mode: +v Cabanossi
18:48
Cabanoss- left,
Sgeo__ joined
18:49
p6bannerbot sets mode: +v Sgeo__
|
|||
tbrowder | well, maybe it could be a first cut, easier than hand-transforming for lots of code. use lizmat's Butterfly code set as a start for training => expected results | 18:49 | |
18:51
Sgeo_ left
|
|||
AlexDaniel | sena_kun: if you drop the “A”, then it's possible, but slavery is not legal :) | 18:53 | |
sena_kun | the issue is that the thing currently called as "AI" is not really "intelligence", just a bunch of cool statistics tricks. Useful - sure, but a neural network doesn't understand a bit of what it is doing. I think, easy cases can be translated for sure, I mean, we already have translators(compilers and interpreters) from langauge A to language B, but I am not sure any reasonably complex pattern can be dealt with this way. Though I am not | ||
compiler implementor nor neural network researcher fwiw. Sounds like a top-notch PhD topic though. :) | |||
19:01
patrickz joined,
p6bannerbot sets mode: +v patrickz,
patrickb left
19:04
imcsk8 left
19:11
Cabanoss- joined
19:12
p6bannerbot sets mode: +v Cabanoss-
19:13
Cabanossi left,
imcsk8 joined
19:14
p6bannerbot sets mode: +v imcsk8
|
|||
isomorphismes | short of alias `zef about`='zef info`, is there a way of aliasing zef commands ? | 19:14 | |
19:20
zachk joined,
zachk left,
zachk joined,
p6bannerbot sets mode: +v zachk
|
|||
SmokeMachine | m: say (1,2,3,4,5).map: -> $a, $b? { |($a, ($_ * 2 with $b)) } | 19:26 | |
camelia | (1 4 3 8 5) | ||
19:27
robertle joined
19:28
p6bannerbot sets mode: +v robertle
19:29
reach_satori joined
19:30
p6bannerbot sets mode: +v reach_satori
19:33
Cabanossi joined
19:34
p6bannerbot sets mode: +v Cabanossi
19:35
abraxxa left
19:36
patrickz left
19:37
Cabanoss- left
|
|||
isomorphismes | short of alias `zef about`='zef info`, is there a way of aliasing zef commands ? | 19:54 | |
19:54
skids joined
|
|||
El_Che | write a small wrapper? | 19:55 | |
19:55
p6bannerbot sets mode: +v skids,
kst left
|
|||
skids | Yay, I finally have a substantial use-once-and-throw-away script to write at work. Guess what language I'm using> :-) | 19:56 | |
yoleaux | 28 Sep 2018 20:08Z <Zoffix> skids: just a minor comment: it's slightly annoying to come across several dozen merges during spec review because it takes a second to realize which changes you reviewed already in earlier commits. Unless it can't be merged to master yet or it's somethign controvercial, just commit directly instead of going through PRs. The commits are bot-announced and the spec is reviewed pre-release, so we don't | ||
28 Sep 2018 20:08Z <Zoffix> skids: really need any FYI-type notifications about new tests. | |||
Xliff_ | wow | ||
19:56
kst joined
19:57
xinming_ joined,
Xliff_ is now known as Xliff
|
|||
El_Che | blast from the past | 19:57 | |
19:57
p6bannerbot sets mode: +v kst,
p6bannerbot sets mode: +v xinming_
|
|||
skids | Yeah I've been a lame do nothin lately. | 19:58 | |
Xliff touches skids and his hand doesn't pass through! | |||
Xliff hides | |||
skids: Kidding aside. How have you been? | |||
skids | Meh, very tired all the time and have to work crowbarring utter crap into other utter crap at $DAYJOB. | 19:59 | |
19:59
xinming left
|
|||
skids | Anyway, I made a new-to-me-at-least idiom: gist.github.com/skids/7cc60e21ddcb...af236cc1d2 | 20:01 | |
20:01
oftl_ joined
20:02
p6bannerbot sets mode: +v oftl_
|
|||
Xliff | skids: That's cool. Could use a bind, though! :) | 20:02 | |
Depending on the situation. | 20:03 | ||
skids | Yeah I had a bind but I golfed it out :-) | 20:04 | |
20:06
rindolf left
20:13
rindolf joined,
p6bannerbot sets mode: +v rindolf
20:20
pecastro joined
20:21
p6bannerbot sets mode: +v pecastro
20:23
domidumont left
|
|||
pmurias | jnthn: I counted the precompile mode tests fails - 44 tests files (I skiped ones with use libs) fail due to bugs ignored by our regular test suite | 20:24 | |
Xliff | will perl6 -e "use Module" precompile it? | 20:30 | |
20:32
pmurias left
|
|||
sena_kun tries out... | 20:32 | ||
Xliff, yes. | 20:33 | ||
Xliff | OK, so say Module is not installed in system perl but lives under project/lib | ||
sena_kun | at least with: cat base.pm6 --> `BEGIN { say 'ehehe' }`. and then `perl6 -I. -e 'use base;'` results in ehehe, but next `perl6 -I. -e 'use base;'` has no ehehe. :) | 20:34 | |
20:34
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||
Xliff | When I do "perl6 -Ilib -e 'use Module'" I know it compiles. | 20:34 | |
However when I do "perl6 -Ilib -I../anotherproject/lib -e 'use Module'" Module is recompiled AGAIN. | 20:35 | ||
sena_kun | is there a way to use it using -e without -I? | ||
20:35
pmurias left
|
|||
Xliff | sena_kun: Yes. You can use -e without -I if Module is zef installed. | 20:35 | |
sena_kun | Xliff, that is odd. I am doing so quote often and don't have the issue. | ||
Xliff, oh, sorry. Of course, I know that installed module can be used without -I, I meant non-installed yet local one. | 20:36 | ||
Xliff | Oh. No. You are correct. | ||
As in "Yes, you cannot do -e without -I" | |||
In that case. | |||
For small projects you might not notice it. | 20:37 | ||
But for large ones (like mine) it's definitely noticable. | |||
sena_kun | Xliff, is Module from anotherproject lib? Is it being recompiled every time? | ||
Xliff | sena_kun: Yes. | ||
And no. Once it recompiles again it's fine. | 20:38 | ||
sena_kun | Xliff, so it is being precompiled twice? | ||
anyway, I think it has to be reported if so. | 20:39 | ||
Xliff | Yes. Once from when I compile it in project1/lib when in project/ and again in project2 when I "-I../project1/lib" from project2 | ||
20:39
pmurias joined,
p6bannerbot sets mode: +v pmurias
|
|||
sena_kun | worth a report, I think. at least a ticket is easier for core members to notice and likely respond with something better than I can. :) | 20:41 | |
Xliff | sena_kun: Fair enough. But I will need to gather more info for an effective ticket. | 20:44 | |
sena_kun | it is. I still can reproduce it though, for some reason. For example. inside of my tester directory I have `inner` one, then I can out of it do `perl -I.. -e 'use base'` and it still uses precom. | 20:45 | |
*precomp | |||
*can't reproduce | |||
Xliff | Yes. The reason I say that is coz noone has commented about: github.com/rakudo/rakudo/issues/2589 | ||
sena_kun: I think bug is triggered with more than one -I and if modules are coming from both dirs | 20:46 | ||
sena_kun | Xliff, it might be. A golf is welcome, anyway. re ticket: well, sadly number of people qualified enough to help is not so big. :( | 20:47 | |
Xliff | Ah. | 20:48 | |
20:55
molaf joined,
p6bannerbot sets mode: +v molaf
|
|||
rindolf | hi all | 21:08 | |
skids | o/ | ||
rindolf | zef install App::Mi6 is taking a long time on fedora 29 | 21:09 | |
and moar takes 23% OF my ram | 21:15 | ||
and still runs now | 21:16 | ||
Geth | ecosystem: 1ec4d82b30 | (Jonathan Stowe)++ | META.list Move more modules to CPAN |
21:32 | |
21:32
nst^ left,
lizmat joined,
p6bannerbot sets mode: +v lizmat
|
|||
cpan-p6 | New module released to CPAN! Audio-Icecast (0.0.3) by 03JSTOWE | 21:37 | |
Kaiepi | telnet is fucking hard to write | 21:39 | |
robertle | Kaiepi: you mean the telnet protocol? I had to do that once to, and it was shocking! | 21:41 | |
telnet is a much more complex protocol than one would think | |||
Kaiepi | yeah i'm writing a module for it | ||
robertle | the option negotiation on connection establishment alone... | ||
Kaiepi | i finished that | ||
it's the extensions that's the hard part | |||
21:41
TreyHarris left
|
|||
tadzik | huh | 21:45 | |
21:45
pmurias left
|
|||
tadzik | having used it here or there it sounds like something that should/could be pretty trivial | 21:45 | |
lizmat | .oO( tormenting the developers for the ease of the user ) |
21:47 | |
where have I heard that before :-) | |||
21:50
sno joined,
p6bannerbot sets mode: +v sno
21:51
Manifest0 left
|
|||
zachk | at a repl is there a way to see what methods are defined (maybe with signatures as well) for a class or an instance of a class? | 21:51 | |
moritz | zachk: $obj.^methods | ||
zachk | ty | ||
21:51
Manifest0 joined
|
|||
moritz | docs.perl6.org/routine/methods | 21:52 | |
21:52
p6bannerbot sets mode: +v Manifest0,
Sgeo_ joined
21:53
p6bannerbot sets mode: +v Sgeo_
21:54
TreyHarris joined,
p6bannerbot sets mode: +v TreyHarris
21:55
Sgeo__ left
22:02
pmurias joined,
p6bannerbot sets mode: +v pmurias
22:11
robertle left
22:17
jme` joined
22:18
pmurias left,
p6bannerbot sets mode: +v jme`
22:19
pmurias joined,
p6bannerbot sets mode: +v pmurias
22:20
kurahaupo left,
kurahaupo joined,
kurahaupo left,
kurahaupo joined
22:21
p6bannerbot sets mode: +v kurahaupo
22:27
rindolf left
22:30
pmurias left
22:44
ferreira1 left
22:51
jme` left
22:52
skids left
23:35
kurahaupo left,
kurahaupo joined
23:36
kurahaupo left,
kurahaupo joined
23:37
p6bannerbot sets mode: +v kurahaupo
23:41
Manifest0 left,
dct joined,
p6bannerbot sets mode: +v dct
23:42
Manifest0 joined,
p6bannerbot sets mode: +v Manifest0
23:47
Manifest0 left,
Manifest0 joined
23:48
p6bannerbot sets mode: +v Manifest0
23:51
pecastro left
|