»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
lucasb | some builtins use "proto f($)", and this emits this error with Mu | 00:00 | |
m: quielty say Mu.Numeric # I can't call this | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: quielty used at line 1 |
||
lucasb | m: quietly say Mu.Numeric # I *can* call this | 00:01 | |
camelia | 0 | ||
lucasb | m: +Mu # but can't call this | ||
camelia | WARNINGS for <tmp>: Useless use of "+" in expression "+Mu" in sink context (line 1) Type check failed in binding to parameter '<anon>'; expected Any but got Mu (Mu) in block <unit> at <tmp> line 1 |
||
00:03
comborico1611 left,
kurahaupo_ joined
|
|||
lucasb | My point is... if builtin protos used the signature "proto foo(Mu) {*}", then one would get the nice message "Cannot resolve..." | 00:03 | |
but since it uses "proto foo($) {*}", the ugly error "Type check failed in binding to parameter" happens | 00:04 | ||
00:04
espadrine_ left
|
|||
geekosaur | do note that Mu has slightly special semantics there | 00:05 | |
MasterDuke | i think using Mu would throw things off with juctions | ||
geekosaur | ^ | ||
basically if you explciitly declare something as Mu then ti suppresses autothreading junctions | |||
lucasb | ah, right, I was expecting Junction interaction trouble | 00:06 | |
timotimo | i would say it the other way around | ||
MasterDuke | m: multi f($a) { say $a }; f("a"|"b") | ||
camelia | a b |
||
00:06
kurahaupo left
|
|||
MasterDuke | m: multi f(Mu $a) { say $a }; f("a"|"b") | 00:06 | |
camelia | any(a, b) | ||
timotimo | the fact that everything takes Any by default, not Mu, means that we get autothreading when binding fails because a non-Mu-or-Junction typed argument is responsible for bind failure | 00:07 | |
well, parameters | |||
00:08
mcmillhj joined
|
|||
geekosaur | yeh, but that's not the useful version when talking about Mu for general typechecking purposes | 00:08 | |
i.e. to get a better error message | 00:09 | ||
00:12
mcmillhj left
00:13
w_richard_w joined
|
|||
lucasb | m: proto f(|) {}; multi f($x) { say "<$x>" }; f(1|2|3) | 00:15 | |
camelia | ( no output ) | ||
lucasb | m: proto f(|) {*}; multi f($x) { say "<$x>" }; f(1|2|3) # ok, gets autothreading | ||
camelia | <1> <2> <3> |
||
lucasb | m: proto f(|) {*}; multi f($x) { say "<$x>" }; f(Mu) # and also gets nice "Cannot resolve..." message | 00:16 | |
camelia | Cannot resolve caller f(Mu); none of these signatures match: ($x) in block <unit> at <tmp> line 1 |
||
MasterDuke | thundergnat: fyi, i'm pretty sure you don't need the .Str's on the numbers in Rational.Str | 00:17 | |
m: use nqp; my int $a = 12342334423; my $b; for ^100_000 { $b = nqp::chars($a.Str) }; say $b; say now - INIT now | 00:18 | ||
camelia | 11 0.682129 |
||
MasterDuke | m: use nqp; my int $a = 12342334423; my $b; for ^100_000 { $b = nqp::chars($a) }; say $b; say now - INIT now | ||
camelia | 11 0.04109253 |
||
00:18
zachk left
|
|||
thundergnat | MasterDuke: You may be right, I just followed syntax I saw elsewhere as I have no clue what I am g=doing when it comes to nqp | 00:19 | |
And it looks like it may be worthwhile dropping it. | |||
00:20
lichtkind left
|
|||
MasterDuke | i think i'm to blame. pretty sure i gave you a thrown-together example that had that | 00:20 | |
thundergnat | I'll fix the pull request. | 00:21 | |
00:21
skids joined
|
|||
lucasb | quietly say (Mu ~ Mu).perl # "" | 00:21 | |
quietly say (Mu + Mu).perl # Type check failed in binding to parameter | |||
evalable6 | "" | ||
00:21
mcmillhj joined
|
|||
lucasb | proto sub infix:<~>(|) {*} | 00:22 | |
proto sub infix:<+>($?, $?) is pure {*} | |||
00:23
raschipi_ joined
|
|||
lucasb | ^^ the protos overly specify their arguments, that's why infix:<~> is more permissive than infix:<+>, right? | 00:23 | |
so my concrete question is: shouldn't builtin multis have more relaxed proto signatures? | |||
s/multis/protos/ | 00:24 | ||
00:24
raschipi left
00:25
raschipi_ is now known as raschipi,
mcmillhj left
00:29
lucasb left
00:32
pseudonym_ joined
00:37
pseudonym_ left,
mcmillhj joined
00:39
[particle] joined
|
|||
thundergnat | MasterDuke: Hmm. If I remove the .Str in the nqp::chars() ops, I get test failures. Won't even pass sanity tests, let alone spec tests. | 00:40 | |
MasterDuke | huh | ||
thundergnat | I put them back in and it passes again. Looks like they might be necessary. | 00:41 | |
00:42
Zoffix left,
mcmillhj left
|
|||
thundergnat | Probably because I can't guarantee that the numbers will be ints, in fact it is likely that they could be Ints so I can't constrain them. | 00:43 | |
MasterDuke | heh, was just thinking the same thing | ||
lookatme | :) morning | ||
00:44
mcmillhj_ left
|
|||
MasterDuke | thundergnat: what about using a prefix ~ ? | 00:44 | |
thundergnat | I'll give it a try. | ||
00:54
mcmillhj joined
|
|||
MasterDuke | thundergnat: so far the only i've found faster than .Str is `nqp::tostr_I(nqp::decont($a))`, and that only by a tiny bit | 00:55 | |
which is pretty much what Int.Str is anyway | 00:56 | ||
thundergnat | I got a little sidetracked, I was setting up some testing scripts and found some Rat that aren't returning strings I expected. I trying to figure out if my parameters are wrong or my expectations. | 00:57 | |
Long story short: don't merge that PR yet... | 00:58 | ||
00:59
mcmillhj left
01:05
markong left
01:14
MasterDuke_ joined
01:17
MasterDuke left
01:22
mcmillhj joined
01:27
mcmillhj left
01:30
mcmillhj joined
01:45
ilbot3 left
|
|||
lookatme | Hi | 01:54 | |
01:56
ilbot3 joined,
ChanServ sets mode: +v ilbot3
|
|||
raschipi | hello | 01:59 | |
lookatme | If I have a C function like this `void write_arg(int *arg) { }`, how do we create a Pointer point to something of Perl 6 | 02:00 | |
I just know this way ` my $a := CArray[int32].new; $a[0] = 1; my $arg = nativecast(Pointer[int32], $a)` | 02:02 | ||
wonder if there has any other convenient way to do it ? | |||
raschipi | No idea, sory, never used it. You should try stackoverflow.com, people usually answer very quick there. | 02:03 | |
lookatme | m: use NativeCall; my $a := CArray[int32].new; $a[0] = 1; my $arg = nativecast(Pointer[int32], $a); dd $arg; | ||
camelia | NativeCall::Types::Pointer[int32] $arg = NativeCall::Types::Pointer[int32].new(98213776) | ||
lookatme | I think this question is `quick` enough :-) | ||
02:07
leah2 left
|
|||
lookatme | and .. seems like I forget my SO account and password :( | 02:07 | |
02:09
zakharyas joined
02:10
leah2 joined,
itaipu left
02:17
mcmillhj_ joined,
mcmillhj left
02:20
epony left
02:22
mcmillhj_ left
02:27
raschipi left
02:43
pilne left
02:44
melezhik left
02:46
ufobat_ joined
02:50
ufobat left
02:55
aindilis left
03:01
aindilis joined,
mcmillhj joined
03:06
mcmillhj left
|
|||
ktown | Zoffix: nice plate I will watch for you on the QEW | 03:09 | |
03:13
atroxaper joined
03:14
kurahaupo_ is now known as kurahaupo
03:35
mcmillhj joined
03:38
xinming left
03:39
mcmillhj left
03:40
xinming joined
03:55
epony joined
03:58
mcmillhj joined
04:02
mcmillhj left
04:09
molaf joined
04:12
mcmillhj joined
04:17
mcmillhj left,
w_richard_w left,
w_richard_w joined
04:18
molaf left
04:35
xinming left
04:36
xinming joined
04:37
mahafyi joined
04:38
eliasr left
04:42
mcmillhj joined
04:46
mcmillhj left
04:50
curan joined
04:53
w_richard_w left
04:55
mcmillhj joined
05:00
mcmillhj left
05:02
xtreak joined,
lindylex joined
05:04
dustinm` left
|
|||
Geth | doc: cb8229ba6e | (brian d foy)++ (committed using GitHub Web editor) | doc/Type/Str.pod6 Fix a pod directive in .comb |
05:06 | |
synopsebot | Link: doc.perl6.org/type/Str | ||
doc: 98ed216de3 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Type/Str.pod6 Merge pull request #2029 from briandfoy/patch-1 Fix a pod directive in .comb Thanks! |
|||
05:09
wamba joined
|
|||
lindylex | Hello all. I am trying to pass a value to a methid of a class and not sure why it is not working pastebin.com/NuigWFdd | 05:10 | |
moritz | lindylex: :$myValue declares a named parameter, so you have pass it as myValue => 42 | 05:12 | |
lindylex: if you don't want it to be named, remove the leading : | |||
05:12
wamba left,
shareable6 left
|
|||
moritz | DoComputations.addValue( :myValue(12) ) | 05:12 | |
or | |||
DoComputations.addValue: :myValue(12); | |||
or | |||
DoComputations.addValue: myValue => 12 | 05:13 | ||
lindylex | ok one sec let me see if I get what you are saying. I do not want it as a named. That was my initial plan. | ||
05:14
wamba joined
|
|||
moritz | then method addValue($myValue) { ... } | 05:16 | |
and | |||
DoComputations.addValue(42) | |||
05:16
HaraldJoerg joined,
dustinm` joined
|
|||
lindylex | I get this as the error : pastebin.com/X4ACdyth | 05:16 | |
moritz : thanks I got it to work. I though I did this at first. | 05:17 | ||
It look liked the way I have done it in other languages but for some reason I could not see the error. Thanks the way you shared work. As I said I though I tried that first. | 05:18 | ||
05:21
vivus-ignis joined
05:22
espadrine_ joined
05:27
mcmillhj joined
05:32
mcmillhj left
05:33
sauvin joined
05:35
vivus-ignis is now known as ignis__away
05:38
w_richard_w joined
05:39
ignis__away is now known as vivus-ignis
05:45
mcmillhj joined
05:50
mcmillhj left
05:51
jmerelo joined
|
|||
moritz | my pleasure | 05:54 | |
jmerelo | moritz: we have stackoverflow-synchronized :-) | 05:59 | |
Geth | doc: ecfcf1d8dc | (JJ Merelo)++ | doc/Language/objects.pod6 Adds the transitive property to ^roles Seen in stackoverflow.com/questions/504021...-type-does |
06:00 | |
synopsebot | Link: doc.perl6.org/language/objects | ||
06:01
vivus-ignis is now known as ignis__away
06:08
AlexDaniel left,
ignis__away is now known as vivus-ignis
06:09
shareable6 joined,
ChanServ sets mode: +v shareable6
06:10
vivus-ignis left
06:12
mahafyi_ joined
06:13
mahafyi left,
mahafyi_ is now known as mahafyi
06:16
epony left,
epony joined
06:17
mcmillhj joined
06:18
domidumont joined,
epony left,
epony joined
06:20
robertle joined
06:21
mcmillhj left
|
|||
El_Che | do lines on errors refering the the hashed names of precompiled libs, mean something? | 06:23 | |
===> Installing: Linenoise:ver<0.1.1>:auth<Rob Hoelz> | |||
Use of Nil in string context | 06:24 | ||
in block at home#sources/0BDF8C54D33921FEA066491D8D13C96A7CB144B9 (Linenoise) line 15 | |||
If I want to debug the error, do I know on which pm to look and what line? | |||
06:24
domidumont left
|
|||
El_Che | and if the errors is someone elses, the is no way to have a look in my own installation, I guess? :( | 06:25 | |
06:25
domidumont joined
|
|||
El_Che | I hope perl6 is one day fast enough that it doesn't need that indirection | 06:26 | |
06:26
wamba left
06:29
mahafyi left
06:30
lindylex left,
jmerelo left,
mcmillhj joined
06:32
shareable6 left
06:34
mcmillhj left
06:35
abraxxa left,
abraxxa joined
06:37
espadrine_ left
06:38
rindolf joined
06:44
imcsk8 left
06:46
skids left
06:47
psychoslave joined
06:51
imcsk8 joined
07:01
mcmillhj joined,
wamba joined
07:06
mcmillhj left
|
|||
perlawhirl | El_Che: You can look for the file by that name. Alternatively, just look at the source of Linenoise.pm6 on github and check line 15 | 07:19 | |
which is: my constant LIBLINENOISE = %?RESOURCES<libraries/linenoise>.Str; | |||
i'm guessing it can't find the linenoise lib on your machine? | |||
07:20
curan left
07:21
curan joined
|
|||
perlawhirl | tbh, if you're installing it for the REPL, use Readline if possible, as it has better unicode support | 07:22 | |
07:25
darutoko joined
07:27
softmoth left
07:29
xtreak left,
shareable6 joined
07:32
xtreak joined,
mcmillhj joined
07:37
mcmillhj left
07:46
xtreak left
07:48
jmerelo joined
07:51
isBEKaml joined
|
|||
isBEKaml | OHHAI, is there a rakudo build failure at the moment? I find that I cannot build rakudo on HEAD over some failure in CORE.setting | 07:52 | |
Stage mast : Arg count 0 doesn't equal required operand count 1 for op 'getrusage' | |||
Is this known? | |||
jmerelo | isBEKaml: environment and versions? | 07:54 | |
isBEKaml: it's probably better anyway if you file a rakudo issue... | 07:55 | ||
07:56
xtreak joined
08:00
xtreak left,
xtreak joined
08:02
athenot_ joined
08:03
athenot left
08:07
mcmillhj joined
08:12
mcmillhj left
08:13
lizmat joined
08:21
SteffanW joined
08:25
xtreak left
08:36
llfourn left
08:39
TEttinger left
08:40
mcmillhj joined
08:41
sauvin left,
sauvin joined
08:43
sauvin left,
sauvin joined,
sauvin left
08:45
mcmillhj left,
sauvin joined,
sauvin left
|
|||
isBEKaml | jmerelo: Thanks, the build was on the latest HEAD on rakudo git | 08:45 | |
git rev-parse HEAD | |||
4fca9474362f3362603ea79dd35fa0c7d3a1ef8d | |||
uname gives me this: Linux azazel 4.4.118 #2 SMP Sun Feb 25 14:30:46 CST 2018 x86_64 Intel(R) Core(TM) i3 CPU M 380 @ 2.53GHz GenuineIntel GNU/Linux | 08:46 | ||
08:46
sauvin joined
|
|||
isBEKaml | It's probably something else if you have travis CI nightly builds working fine - Will look into it some more before filing a bug | 08:46 | |
08:46
sauvin left
08:53
xtreak joined
09:04
wamba left
09:09
zakharyas left
09:24
mcmillhj joined
09:29
mcmillhj left
09:38
mcmillhj joined
09:43
mcmillhj left
09:53
w_richard_w left
10:02
mcmillhj joined
10:06
scimon joined
10:07
mcmillhj left
10:15
enheh left
10:20
wamba joined
|
|||
Geth | doc/master: 7 commits pushed by (Luca Ferrari)++
|
10:22 | |
10:26
psychoslave left,
psychoslave joined
10:29
eliasr joined
10:30
markong joined,
psychoslave left
10:31
psychoslave joined,
FROGGS joined
10:35
aindilis left
10:36
w_richard_w joined
|
|||
MasterDuke_ | isBEKaml: that commit is from october 2017, which is right around when the default branch was switched from nom to master | 10:45 | |
11:02
mcmillhj joined
|
|||
isBEKaml | MasterDuke_: perfect, thanks for that. I totally missed that the branch was switched over and was still on nom | 11:04 | |
11:07
mcmillhj left
|
|||
MasterDuke_ | np | 11:07 | |
11:11
w_richard_w left
11:14
curan left
11:19
Beginner joined
11:23
wamba left
|
|||
El_Che | perlawhirl: yes, both Linenoise and Readline are broken on recent distros. I filed a bug report on both (and create an installeble fork for Readline that installs on dists using readline 7) | 11:25 | |
(1 line pathc) | |||
11:27
athenot_ left
11:30
Beginner left
11:32
aindilis joined
11:40
itaipu joined,
ExtraCrispy joined
|
|||
Geth | doc: 98449d0c5e | (Elizabeth Mattijsen)++ | doc/Language/5to6-nutshell.pod6 Mention Slang::Tuxic if you want foo ("bar") to work |
11:52 | |
synopsebot | Link: doc.perl6.org/language/5to6-nutshell | ||
robertle | does anyone have a quality example of a module documented by pod6? | 11:54 | |
Geth | doc: 1d80fac5e8 | (Elizabeth Mattijsen)++ | doc/Language/5to6-nutshell.pod6 Spaces *are* allowed around infix:<.> nowadays |
11:57 | |
11:57
enheh joined
11:58
shareable6 left
12:00
xtreak left
12:05
jmerelo left
12:09
atroxaper left
12:11
abraxxa left
12:12
athenot joined
12:20
rindolf left
12:25
rindolf joined
12:41
mcmillhj joined
|
|||
buggable | New CPAN upload: P5ref-0.0.4.tar.gz by ELIZABETH modules.perl6.org/dist/P5ref:cpan:ELIZABETH | 12:42 | |
robertle | wq | 12:43 | |
12:43
robertle left
12:46
kurahaupo left
12:47
kurahaupo joined
12:55
shareable6 joined
12:57
lucasb joined
12:58
AlexDaniel joined
13:08
robertle joined
13:09
shareable6 left
13:28
isBEKaml left
13:38
mahafyi joined
13:39
molaf joined
13:56
kiop joined
13:57
ChoHag joined
14:01
scimon left,
scimon joined,
ufobat_ left
14:05
shareable6 joined,
ChanServ sets mode: +v shareable6
14:21
raynold left,
FROGGS left
14:25
SteffanW left,
skids joined
14:30
stmuk_ joined
14:31
stmuk left
|
|||
jkramer | Is there a way to create a range with whatever like this, but working: | 14:34 | |
m: my @foo = <foo bar baz>; say @foo.keys.map(*..@foo.elems) | |||
camelia | Cannot resolve caller map(Seq: Range); none of these signatures match: ($: Hash \h, *%_) (\SELF: █; :$label, :$item, *%_) in block <unit> at <tmp> line 1 |
||
jkramer | So it does this, just with whatever: | 14:35 | |
m: my @foo = <foo bar baz>; say @foo.keys.map({$_..@foo.elems}) | |||
camelia | (0..3 1..3 2..3) | ||
Herby_ | o/ | 14:36 | |
14:40
Zoffix joined
|
|||
Zoffix | jkramer: when whatever star is a term on it's own, it's just a Whatever object, not a closure. | 14:40 | |
So you're simply creating a Range object there, with Whatever as the starting end point | 14:41 | ||
m: my @foo = <foo bar baz>; say @foo.keys.map: *.self .. +@foo | |||
camelia | (0..3 1..3 2..3) | ||
Zoffix | And here, you get a closure, 'cause it's not a term by itself. | ||
AFAIK the ops that get curried over and those that aren't aren't documented yet. It's D#2017 | 14:42 | ||
synopsebot | D#2017 [open]: github.com/perl6/doc/issues/2017 [docs] Docs on Whatever curry could be clearer / don't cover everything | ||
jkramer | Zoffix: Ah, thanks! | ||
Zoffix | m: my @foo = <foo bar baz>; say @foo.keys.map: +* .. +@foo # shorter | ||
camelia | (0..3 1..3 2..3) | ||
jkramer | Oh even better :) | 14:43 | |
Zoffix | m: my @foo = <foo bar baz>; say @foo.keys».&[..](+@foo) | 14:44 | |
camelia | (0..3 1..3 2..3) | ||
Zoffix | m: my @foo = <foo bar baz>; say 0..+@foo, {.min+1 .. +@foo} …^ *.min ≥ @foo | 14:46 | |
camelia | (0..3 1..3 2..3) | ||
14:46
molaf left
|
|||
Zoffix | m: my @foo = <foo bar baz>; say ^@foo «..» +@foo | 14:46 | |
camelia | (0..3 1..3 2..3) | ||
Zoffix | That's the shortest one :) | ||
m: say ^$_ «..» +$_ with <foo bar baz> | 14:48 | ||
camelia | (0..3 1..3 2..3) | ||
Herby_ | Is there a release date for the Comma IDE yet? I see on their website they are aiming for this month | 14:51 | |
Zoffix | "It's ready when it's ready" | 14:52 | |
Herby_ | gotcha | ||
14:52
scimon left
|
|||
Herby_ | Zoffix: I saw an article of yours from last year where you were talking about writing Rakudo books | 14:53 | |
Zoffix | Well, I just made that up. I've not heard of any release dates. | ||
Herby_ | is that still on the horizon? | ||
14:53
scimon joined
|
|||
Zoffix | Herby_: yeah, I still plan to write something and have already produced some content that will be in the book in some form. It's kind'f a negative result of my quitting drinking: I no longer write as much :) | 14:55 | |
14:56
scimon left
|
|||
Zoffix | Herby_: and I might deviate from the 3..5 books I originally planned and instead write a book that dispells the myth of Perl 6 being "very big" and stuff. 'cause IMO it really is a myth caused by us providing tools in core, rather than in some 3rd party library. | 14:57 | |
14:58
domidumont left
|
|||
Zoffix | I mean. It will teach Perl 6, with the goal to teach it just as any other "not big" language, rather than "holy shit, there's 50 ways of doing this and here they all are. Learn them STAT" | 14:58 | |
Herby_ | Yeah, I think that would be good | 14:59 | |
15:00
athenot left,
psychoslave left
15:01
athenot joined
15:20
robertle left
|
|||
timotimo | www.vim.org/vim-8.1-released.php o_O | 15:30 | |
15:30
jmerelo joined
15:34
isBEKaml joined
|
|||
geekosaur | nvi has had that for how long now? *eyeroll* | 15:37 | |
timotimo | emacs has had this for at least 30 years i'm sure | 15:38 | |
geekosaur | wasn;t even going to touch that one. vim is more or less the definition of emacs envy | ||
[Coke] calls Zoffix's plates with NYS KHAAAAAN | |||
timotimo | isn't it good that a fork of the thing is prototyping stuff and that's coming back to the original for the benefit of everybody? | ||
15:47
kybr joined,
kurahaupo left
|
|||
mst | I've never really understood why you'd want a terminal in your editor rather than using a terminal manager of some sort to launch one of each | 15:48 | |
15:48
kurahaupo joined
|
|||
isBEKaml | Hmm, the terminal in IntelliJ is much more tolerable than the bare cmd | 15:49 | |
But sure, I won't need a terminal in an editor when I'm on Linux | 15:51 | ||
geekosaur | if you're on windows, cmd window is fairly lane | ||
lame | |||
15:51
softmoth joined
|
|||
geekosaur | a terminal integrated into your editor/IDE/whatever and with smart editing features derived therefrom is a win | 15:51 | |
15:51
Herby_ left
|
|||
geekosaur | conversely it's kinda painful to make an xterm or other terminal emulator *really* behave like your editor, beyond simple line editiing | 15:52 | |
15:52
Herby_ joined,
ChoHag left
|
|||
Zoffix | [Coke]: that reference is lost on me. Something about StarTrek? :) | 15:53 | |
16:00
aindilis left
|
|||
Herby_ | gist.github.com/sylints/52081eb2f2...a8d9ad7b4b | 16:01 | |
maybe I'm half asleep but I'm not sure why this is not working | |||
I zef installed Concurrent::Trie | |||
but when I run that script, i'm being told it cant find Concurrent::Trie | |||
16:05
aindilis joined
|
|||
El_Che | Zoffix: I don't thing it's a myth | 16:05 | |
think | |||
Zoffix | Then after I write my book, you can write yours :P | 16:07 | |
"Perl 6 is pretty damn huge" | 16:08 | ||
El_Che | a small language, that is not very expressive, like go you'll pick in a few days. The included libraries (http, encryption, etc) you'll pick up by reading the doc, they don't add expressive power | ||
jmerelo | Zoffix: And hairy. | ||
El_Che | it's the same as a class you wrote yourself | ||
in perl 6 you have all these little shortcuts | 16:09 | ||
jmerelo | Herby_: it looks pretty OK as long as Concurrent::Trie is installed. If you've switched versions, that might be it... | ||
El_Che | sometimes with small differences | ||
e.g. on how you write a pair | |||
Herby_ | jmerelo: I haven't switched anything that I'm aware of. I just installed the Trie module | ||
El_Che | you need to know all 6 (?) ways to read someone elses code | ||
once you paid the price, the expressivity is something you don't want to give up | 16:10 | ||
jmerelo | Herby_: maybe not... perl6 -M Concurrent::Trie -e "my $trie = Concurrent::Trie.new;" returns the same thing... | ||
Zoffix | El_Che: there's more in sizes than "small language" and "big language". I never said Perl 6 was a small language and your comparison with Go is unfair. | 16:12 | |
jmerelo | Herby_: it does not work... jnthn , you there? | ||
El_Che | why? it's an extreme example | ||
Zoffix | El_Che: and you're making the same mistake Zefram did in his talk where he trashes Perl 6 for being too big. Your Go docs won't cover the dozens of libraries you'd be using to get similar features to what's provided by core Perl 6. Just because you know Go the language doesn't mean you automatically know all those libraries. | ||
jmerelo | Herby_: there's something weird here: github.com/JJ/p6-concurrent-trie/b...6.json#L10 | 16:13 | |
(already forked and working on it...) | |||
Zoffix | El_Che: if the myth is "Perl 6 is very big" you can't dispell the myth by saying "It's not very small" | ||
Herby_ | jmerelo: I just spotted that too. thanks for taking a look at it | ||
jnthn | jmerelo: Yes, what's up? | ||
16:13
Kaiepi left
|
|||
Zoffix | jnthn: s/dispell/prove/; | 16:13 | |
s/jnthn//; | 16:14 | ||
El_Che | I don't see big as a problem | ||
jmerelo | jnthn: check out Herby_'s code above. | ||
Herby_ | gist.github.com/sylints/52081eb2f2...a8d9ad7b4b | ||
Zoffix | El_Che: what is this conversation about exactly? | ||
El_Che | it's not about libraries | ||
jnthn | jmerelo: Ah, yeah, the META.json looksbusted :) | ||
El_Che | (sorry bad train wifi) | ||
(cell wifi) | |||
Zoffix: that I don't understand why you say Perl 6 is not big | |||
perl5 is also big in has less expressivity | 16:15 | ||
jmerelo | jnthn: If you don't have time to work on it now, just let me know. Thanks! | ||
El_Che | nothing wrong with big languages, it's a choice the language designer makes | ||
16:15
Zoffix left
16:17
telex left
|
|||
jnthn | jmerelo: Fixed the META6.json | 16:17 | |
jmerelo | jnthn++ | ||
jnthn | Can't remember if it's distributed by CPAN or by GitHub | 16:18 | |
geekosaur | El_Che, there's an argument that "big" means "stuff wired into core" as opposed to "stuff bundled with" | ||
16:18
telex joined,
ChoHag joined
|
|||
timotimo | jnthn: it's on cpan | 16:18 | |
geekosaur | we bundle a bunch of stuff, but avoid hardwiring things into e.g. the parser | ||
16:18
raschipi joined
|
|||
geekosaur | p6 isn;t big language, it's big batteries included | 16:18 | |
timotimo | jnthn: before you upload the next version, maybe consider adding some tags to the meta6json? :) | 16:19 | |
Algorithm::Trie::libdatrie for example has tags "text" and "trie" | |||
and something for "threadsafe" or something | 16:20 | ||
El_Che | geekosaur: yes, but by big I also understand expressivity. You need to understand different ways to do the same thing (something where no libs are needed in perl6 or other languages) | 16:21 | |
I gave the pair example | |||
geekosaur | I don;t think fo that as big | ||
El_Che | you can like it or hate, but you need to deal with it when you read someone else code | ||
geekosaur | I mean, by that standard Tcl is enormous | ||
El_Che | do you push to an array as a method or function? | ||
etc | |||
geekosaur: perl6 is not the only big language. perl5 is also big in my book | 16:22 | ||
geekosaur | it's flexible. we flex it a bit. this isn't so much big, as youung: provide the pieces, let the community decide what it wants | ||
then deprecate unused ones later | |||
El_Che | I don't see big as bad | 16:23 | |
geekosaur | otherwise youre casting Python "Guido decides how you code" | ||
p5 I see as big because there's so much hardcoded unix not just in the ecosystem but in the parser. which is why it's always been a mess on windows | |||
El_Che | I am not proposing to make of perl6 a small language | 16:24 | |
Herby_ | jmerelo and jnthn: thanks for the quick fix :) | ||
geekosaur | but it soulds like your real disagreement is ytou think we should be python There Is Only One Way, Follow Guido | ||
and, no. | |||
jmerelo | Herby_: a pleasure. :-) | ||
geekosaur | provide the tools, let the community decide which ones it wants to use, deprecate or module the rest | ||
El_Che | python is not my cup of tea | ||
geekosaur | but you don;t like multiple ways to do things? | 16:25 | |
El_Che | I don't mind that | ||
(but in the pair case is too much) | |||
geekosaur | or at least you have yourself convinced this is a permanent problem instead of a necessary growing pain | ||
El_Che | you're missing my argument | ||
I am not saying that big or small is better | 16:26 | ||
I am saying that some languages are small and some are big because they were ceonceived that way | |||
and in my eyes, perl 6 was conceived as a big languages, very expressive, lots of batteries | 16:27 | ||
that's why I like perl 6, but I know there is a price to pay for that when you learn the language | |||
16:28
stmuk joined
|
|||
El_Che | the other extreme, go, that I also like I use, you pick it up really quick but you pay the price later when you're repeating yourself all over the place | 16:28 | |
geekosaur | I… you have an odd notion of designed | ||
you consider the core and the periphery to be inseperable, apparently | 16:29 | ||
16:29
stmuk_ left
|
|||
El_Che | having several ways to create hashes, pairs, etc seems core to me | 16:29 | |
geekosaur | we have the potential for lots of pluggables, we toss a decent selection oinb. this is your bug | ||
er, your big | |||
El_Che | yes, indeed | 16:30 | |
16:30
comborico1611 joined
|
|||
geekosaur | I'm not so sure of that, the core provides one mechanism, you can think foi the rest as slangs/"preprocessors" | 16:30 | |
Geth | doc: b18bddba29 | (JJ Merelo)++ | doc/Language/contexts.pod6 Adds @zoffix's example to sink context |
||
synopsebot | Link: doc.perl6.org/language/contexts | ||
geekosaur | my idea of "multiple eways to make a pair" includes "they aren;t the same type" | 16:31 | |
which is not true of p6 | |||
outer syntax is flexible and extensible | |||
(it is in a sense true of python, which is one of the things I dislike about it: lists and tuples are almost but not quite the same thing) | 16:32 | ||
El_Che | it certainly is, but once out of the bag, I don't see things changing. Only truly broken things will be changed. | ||
HaraldJoerg | To add: Having several ways to quote stuff, all in the core: 'foo' or q!foo! Q:q!foo! or Q:single (foo) ... I doubt that any of those will be deprecated | ||
geekosaur | I am rapidly landing on "agree to disagree, if you truly are bothered by this, there are other languages" | ||
El_Che | you miss my point: I am not bothered at all | 16:33 | |
I am just saying Perl 6 is big | |||
and big is not a bad thing | |||
HaraldJoerg | I am with El_Che that things like this will make reading other people's code difficult to read | 16:34 | |
El_Che | it's what it is, you win some, you lose some | ||
geekosaur | also if things are designed to be orthogonal,"big" in one dimension is small in another | ||
El_Che | many of us are perl 5 programmers | ||
we know how much expressiveness we get | |||
and we know we need to be careful not to be too smart and make the code unreadable | |||
geekosaur | and my problem with :difficult to read" is there's an example of trying to simplify that away | ||
it's called java | |||
and it led to massive boilerplate. this is easier? | 16:35 | ||
El_Che | it depends | ||
for the poor sod writing the code no | |||
for the manager looking for cheap people that can pick it up fast? sure | |||
it's in the eye of the beholder | |||
geekosaur | for me reading it, I'm swimming in a pig pool looking for the diamond that fell into it | 16:36 | |
El_Che | fix that | ||
geekosaur | I did. I use languages that don't drown me in noise | ||
you think 4 levels of factory to make up for lack of expressiveness is a readability win, you can have it | |||
raschipi | Is Python smaller or bigger than Perl 6 in your view, El_Che? | 16:37 | |
El_Che | geekosaur: for the record I never go to love python and did java in the past (but not anymore) | ||
raschipi: I don't know enough python to answer that | |||
raschipi | And Java? | ||
El_Che | when I did java (6) I found it a small lang with a big stdlib | 16:38 | |
I stick with perl5, 6 and go nowadays | |||
I didn't find Java complex, but recently I helped a collegaue debug Java Spring code | 16:39 | ||
omg, complexity overdose | |||
raschipi | It's like Perl5 lacking parameters, which is extra syntax in Perl 6. It's harder to understand functions in Perl 5 because you need to know how things are being done. | 16:44 | |
El_Che | true | 16:45 | |
16:45
stee3 joined
|
|||
raschipi | Pushing things from syntax or core to a standard library or to the programmer doesn't make them any smaller. | 16:46 | |
El_Che | but in this specific case it's concentrated notation that eliminates a lot of boilerplat | ||
e | |||
raschipi: that's not what happens in other languages | 16:47 | ||
you don't look in the stdlib or third party to have different ways to defines hashes/map in go or java | |||
raschipi | Size here being the amount of stuff you need to hold in your head to understand the language. | ||
El_Che | you will look for a replacement for the builtin cmd handler in go because it's crap | 16:48 | |
jnthn | timotimo:Good point, added some | ||
16:49
stee left
|
|||
comborico1611 | raschipi: That is a good definition of "size" in regard to programming. | 16:49 | |
El_Che | raschipi: yyou liberate space in your head by the things that are builtin and feel natural | ||
you loose space for the extra things you need to know but you won't use because it's not your style | 16:50 | ||
e,g, :1st in my case | |||
comborico1611 | El_Che: Good point. | ||
16:50
kiop left
|
|||
geekosaur | problem there is you do use them, when they are natural: adverbs | 16:51 | |
and having them be the same mechanic underneath is a win | |||
El_Che | geekosaur: I understand lot of people love it | ||
more power to them | 16:52 | ||
so I learnt it for when I read code | |||
jnthn | Herby_ jmerelo New version just uploaded to CPAN. Hope that helps. :) | ||
raschipi | Exactly, :1st isn't a floating construct, it's used in, for example, m:i/a b c/ | ||
Try to do that using i => True syntax. | 16:53 | ||
El_Che | sure, that make sense | ||
for a regular hash, less so | 16:54 | ||
:42foo, :43bar | |||
jnthn afk | |||
raschipi | It's just made as a general construct. | ||
El_Che | I understand that | ||
so, you need to understand all the general constructs that can be used in a lot of places | 16:55 | ||
raschipi | m: my sub func (:$no) {say "NO!" if $no }; func():no | ||
camelia | NO! | ||
raschipi | Better than having to understand special contructs. | ||
El_Che | raschipi: I use it i signatures | 16:56 | |
geekosaur | ^ so it's better to have magic syntax that works only here and nowhere else? | ||
MasterDuke_ | huh, i haven't seen that before | ||
16:56
MasterDuke_ is now known as MasterDuke
|
|||
El_Che | :$var felt more natural to me than :42var | 16:56 | |
train almost there. | 16:57 | ||
my point is not that they are bad or too many | |||
only that there is extra complexity | 16:58 | ||
you need to know them | |||
you can't not ignore them | |||
and that makes it "big" | |||
Geth | doc: adc5f09c12 | (JJ Merelo)++ | doc/Language/traps.pod6 Adds documentation on map "sinkage" This closes #1718 but see my comment. |
||
synopsebot | Link: doc.perl6.org/language/traps | ||
Herby_ | jnthn: thanks! | ||
El_Che | got to go | ||
thx for the info | |||
interesting discussion | 16:59 | ||
(and I am the guy explaining perl6 at work, figure that :) ) | |||
17:01
andrzejku left
|
|||
raschipi | There's no problem at all with not understanding all of Perl6. There's no one that understands all of it anyway. Not even Larry. | 17:02 | |
comborico1611 | El_Che: I think that is fair conclusion. | ||
buggable | New CPAN upload: Concurrent-Trie-1.1.tar.gz by JNTHN modules.perl6.org/dist/Concurrent::...cpan:JNTHN | ||
17:02
shareable6 left
|
|||
jmerelo | jnthn: sure it does. Thanks! | 17:04 | |
17:05
ufobat_ joined
17:06
g- left
|
|||
Geth | doc: 3e05b4165c | (JJ Merelo)++ | doc/Language/traps.pod6 Correcting POD thanks to @AlexDaniel for pointing it out |
17:06 | |
17:11
Ven`` joined
|
|||
geekosaur | I would say that reusing stuff that way is precisely what contains the complexity, and thinking p6 is "big" is missing the compaction from that reuse. which … yes, entitely possible, but also entirely missing the point of p6's design | 17:11 | |
17:11
Ven`` left
|
|||
geekosaur | so thinking that makes p6 big is not understanding p6 | 17:11 | |
17:12
g- joined
|
|||
Geth | doc: 97bf51cfe2 | (JJ Merelo)++ | 2 files Adding some documentation Reviewing if the merging indicated in #1822 is possible, but well, it is not, because they target a different set of files. It might still be interesting to unify all these tests, and create a set of extensions as well as regexes or tests they should meet. But not for the time being. So it closes #1822. |
17:15 | |
17:25
Zoffix joined
17:26
Zoffix left
17:31
domidumont joined
17:34
skids left
|
|||
Geth | doc: 8a00bc15bc | (JJ Merelo)++ | htmlify.p6 Adds a CATCH to catch possible htmlify.p6 errors This would close #1932, and also refs #1823, which might or might not be done eventually. |
17:38 | |
17:41
espadrine_ joined
|
|||
Geth | doc: a9ea5277dc | (JJ Merelo)++ | htmlify.p6 Changed disambiguation files to surround the name with «» This would close #2030, although I'm not sure what disambiguation files are for, since they appear not to be linked from anywhere... |
17:54 | |
doc: JJ self-assigned Which phasers are compatible with "will trait"? github.com/perl6/doc/issues/1553 fdeaa1e0a2 | (JJ Merelo)++ | doc/Language/phasers.pod6 Looking mainly at the roast test: github.com/perl6/roast/blob/fca87f...ons/will.t Some not implemented here, but at least an example of those phasers excluded could be added. Not sure the issue is current, anyway, since it said which phasers could be used this way. Closes #1553 anyway. |
17:56 | ||
18:00
shareable6 joined
|
|||
synopsebot | Link: doc.perl6.org/language/phasers | ||
doc: 6027c8a5c9 | (JJ Merelo)++ | doc/Language/concurrency.pod6 Explains you shouldn't use last in whenever That would close #1551. Please reopen if you don't feel happy about it. |
18:07 | ||
synopsebot | Link: doc.perl6.org/language/concurrency | ||
18:10
mcmillhj left,
khaled joined
|
|||
khaled | hi | 18:10 | |
18:11
Kaiepi joined
|
|||
moritz | ho | 18:12 | |
jmerelo | huh? | 18:13 | |
18:14
mcmillhj joined
|
|||
Geth | doc: b876c85fc7 | (JJ Merelo)++ | doc/Language/contexts.pod6 Adds indexing for sinking Which had already been documented in #732. Closes #1309. |
18:14 | |
synopsebot | Link: doc.perl6.org/language/contexts | ||
moritz | ha! | 18:16 | |
jmerelo | he++ | ||
jmerelo loling all by himself. | |||
jmerelo closing shop for today. | 18:18 | ||
18:19
jmerelo left
18:24
MasterDuke_ joined
18:26
MasterDuke left
18:27
khaled left
|
|||
Geth | doc: ElenaMerelo++ created pull request #2031: Minor changes |
18:29 | |
18:30
MasterDuke_ is now known as MasterDuke
18:31
mahafyi left
18:34
pilne joined,
isBEKaml left
18:36
shareable6 left
18:39
mspo joined
|
|||
mspo | moritz: hey saw your name on pt-table-sync release notes | 18:39 | |
moritz | mspo: oh, there's a new release? that's great :-) | 18:42 | |
mspo: I just contributed a small patch that $work needed | |||
mspo | moritz: I (unfortunately) end up using pt-table-sync every now and then :) | ||
moritz: specifically on hosts with different binlog formats, even | 18:43 | ||
moritz | mspo: does this help you then? or are using it with one of the sync options that needs identical binlog formats? | 18:44 | |
mspo | moritz: I don't know I didn't look at the patch :) | 18:45 | |
but probably | |||
18:51
sjoshi joined,
darutoko left
18:55
skids joined
18:57
aindilis left
18:58
aindilis joined
19:00
stmuk_ joined
19:01
aindilis left,
psychoslave joined
19:04
stmuk left
19:09
mcmillhj left,
domidumont left
19:12
ChoHag left
19:14
robertle joined
19:17
dct joined
19:18
aindilis joined,
ChoHag joined
19:20
mcmillhj joined
19:21
mspo left
19:25
raschipi left
19:28
mcmillhj left
19:32
Tison joined,
wamba joined,
shareable6 joined
19:33
sjoshi left
|
|||
Tison | . | 19:33 | |
19:33
cognominal joined
19:39
mcmillhj joined,
Tison left
19:43
zachk joined,
mcmillhj left
19:48
pmurias joined
19:51
mcmillhj joined
|
|||
buggable | New CPAN upload: P5__DATA__-0.0.1.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/...0.1.tar.gz | 19:52 | |
lizmat | FROGGS++ # helping out | 19:54 | |
sjn: ^^^ | |||
19:55
athenot left,
mcmillhj left
20:00
cognominal left
20:02
mcmillhj joined
20:05
isBEKaml joined
20:06
cozachk joined,
zachk left
20:07
cozachk is now known as zachk,
zachk left,
zachk joined
20:08
rindolf left
20:09
andrzejku joined
20:12
Herby_ left
20:13
rindolf joined
20:14
andrzejku_ joined
20:16
andrzejku left
20:19
andrzejku_ left
|
|||
buggable | New CPAN upload: perl6-cache-async-0.1.2.tar.gz by ROBERTLE cpan.metacpan.org/authors/id/R/RO/...1.2.tar.gz | 20:22 | |
20:27
Herby_ joined,
isBEKaml left,
mcmillhj left,
|oLa| joined
20:32
psychoslave left
20:35
mcmillhj joined,
mcmillhj left
20:43
mcmillhj joined
20:48
mcmillhj left
20:51
itaipu left
20:54
slayergames joined
20:56
softmoth left
|
|||
Juerd | polyfloyd.net/post/compile-time-pr...njections/ # Does Perl 6 have a type or other parameter constraint that only allows compile time string literals? | 21:03 | |
21:04
mcmillhj joined
21:05
HaraldJoerg left
21:09
mcmillhj left,
espadrine_ left
|
|||
lizmat | Juerd: I came up with: sub a(Str:D \item where -> \value { value.VAR.^name ne "Scalar" } ) { }; a "foo" | 21:10 | |
Juerd | It'll take me a while to parse that :) | 21:11 | |
lizmat | Juerd: or with nqp: sub a(Str:D \item where -> \value { use nqp; !nqp::iscont(value) } ) { }; a my $ = "foo" | ||
basically, alias the parameter and see if it is a container or not | 21:12 | ||
if it's not, then it's a literal value | |||
21:12
athenot joined
|
|||
Juerd | But that wouldn't block "WHERE foo = $foo" | 21:12 | |
The goal is to reject anything that had anything interpolated or concatenated | 21:13 | ||
lizmat | well, then you would have to do something at compile time | 21:14 | |
hmmm.... no, I wouldn't know of a way just yet the | |||
n | |||
21:21
TEttinger joined,
espadrine_ joined
|
|||
slayergames | how does Iterator not extend Mu? | 21:22 | |
masak | m: say Iterator ~~ Mu | ||
camelia | True | ||
slayergames | oh | 21:23 | |
it doesn't say so in the docs | |||
is ~~ also "extends check" besides being regex matching? | |||
21:26
mcmillhj joined
|
|||
MasterDuke | slayergames: it's "smartmatching", it does a lot | 21:26 | |
21:28
slayergames left
21:30
mcmillhj left
|
|||
buggable | New CPAN upload: P5defined-0.0.2.tar.gz by ELIZABETH modules.perl6.org/dist/P5defined:cpan:ELIZABETH | 21:32 | |
21:32
mcmillhj joined
21:35
mcmillhj_ joined
21:37
mcmillhj left,
softmoth joined
21:47
mcmillhj joined
21:52
mcmillhj left
21:56
Khisanth left
|
|||
comborico1611 | I'm hearing rumors that emacs 26 might be coming out this weekend. | 22:00 | |
El_Che | Too late, the new vim is already out | 22:03 | |
yesterday actuanlly | |||
22:04
mcmillhj joined
|
|||
comborico1611 | heh | 22:05 | |
El_Che | it's like when you have two messianic religions and one of them already welcomed they mesiah the day before :) | 22:06 | |
22:09
mcmillhj left
|
|||
geekosaur | but neither one accepts the other's messiah, so. | 22:10 | |
(meanwhile, they;re off having the rapture and the rest of us can get some work done :p ) | |||
El_Che | haha | ||
22:12
Khisanth joined
22:16
slayergames joined
|
|||
slayergames | how can you have a range with step? | 22:16 | |
22:19
SCHAPiE left,
obra joined
22:20
mcmillhj joined
|
|||
lucasb | I don't think you can. But you can have a sequence with your desired step | 22:20 | |
m: say .min, .min+3 ... .max given 1..10 | 22:21 | ||
camelia | (1 4 7 10) | ||
lucasb | hopefully someone else will have a better example | ||
22:22
robertle left
|
|||
El_Che | m: (2,4 ... 20).say | 22:23 | |
camelia | (2 4 6 8 10 12 14 16 18 20) | ||
22:24
mcmillhj left
22:25
mcmillhj_ left,
SCHAPiE joined
|
|||
Herby_ | squashable6: help | 22:26 | |
squashable6 | Herby_, Available commands: status, log, quiet, loud # See wiki for more examples: github.com/perl6/whateverable/wiki/Squashable | ||
Herby_ | squashable: status | ||
squashable6 | Herby_, Next SQUASHathon in 13 days and ≈11 hours (2018-06-02 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
Herby_ | squashable6: log | ||
squashable6 | Herby_, Nothing there yet | ||
AlexDaniel | Herby_: maybe I can help? What are you searching for? | 22:27 | |
Herby_ | AlexDaniel: o/ | ||
I was looking through the whateverable issues: #314 | |||
was trying to see what exactly wasn't working | |||
22:31
mcmillhj joined
|
|||
AlexDaniel | Herby_: Ah, 314 | 22:34 | |
didn't know there was a ticket | |||
it was fixed in github.com/perl6/whateverable/comm...32213de194 | |||
22:36
softmoth left,
wamba left
|
|||
Herby_ | awesome. one ticket down :) | 22:36 | |
22:36
mcmillhj left
|
|||
AlexDaniel | Herby_: still needs tests I think, but Squashable has no tests at all right now | 22:37 | |
not sure if it's worth it | 22:38 | ||
22:39
ufobat_ left
22:51
obra left
|
|||
slayergames | what is the benefit of using special sigils for arrays? (@) | 22:53 | |
El_Che | Each sigil, therefore, carries a set of useful default behaviors for data that is to be considered a single item ($), something to index in to positionally (@), something to index in to with a key (%), and something that can be called (&). | 22:55 | |
(from jnthn answer on SO) | |||
Syntactic disambiguation (you can call a variable whatever you want, even if there happens to be a keyword with that name) | |||
Readability (the data in the program stands out thanks to the sigil) | |||
22:55
Zoffix joined
|
|||
Zoffix | slayergames: this article explains it well: perl6advent.wordpress.com/2017/12/02/ | 22:56 | |
El_Che | slayergames: stackoverflow.com/questions/503997...-rebinding (the fist answer, ignore the binding part) | ||
AlexDaniel | there are some good points on docs.perl6.org/language/faq#Why_si...hout_them? but I actually expected it to provide more detailed justifications | ||
22:56
cognominal joined
22:58
mcmillhj joined
22:59
athenot_ joined,
athenot left
|
|||
Herby_ | Looking at the performance section: docs.perl6.org/language/performance | 23:01 | |
MasterDuke++ for recently updating it | |||
It reads that code that gets JIT'd is a good thing | |||
is there anything out there that speaks to what kind of code/structure etc... you want to aim for in an effort to have the VM jit it? | 23:02 | ||
not sure if that makes sense | |||
23:02
pmurias left
23:03
mcmillhj left,
athenot joined
23:04
athenot_ left,
llfourn joined
23:05
Khisanth left
|
|||
MasterDuke | hm, that's a good question | 23:05 | |
but i think the jit has pretty good coverage now, so most things do end up getting jitted | |||
Herby_ | gotcha | 23:07 | |
23:08
lucasb left
23:09
wamba joined
23:10
mcmillhj joined,
cognominal left
23:11
cognominal joined
|
|||
MasterDuke | but there probably could be some suggestions there. like breaking a large routine with branching it based on the types of its arguments into smaller multis | 23:11 | |
Zoffix | slayergames: as for your earlier question. A Range object doesn't have any steps, only end points and info on whether either of them is excluded. If you meant you want a sequence of numbers for A to B, increasing by an arbitrary number of steps, you can use the sequence operator `…`. But if you do have a Range object and you want to iterate while skipping some items, you could use the .toggle method or .kv + | ||
grep(indeces you want) + map(value) | |||
MasterDuke | hm, could you use .rotor for that also? | 23:13 | |
Zoffix | Actually, .toggle is kinda sucky and long | ||
m: say (1..20).toggle: {++$ %% 2} xx * | 23:14 | ||
camelia | (3 6 9 12 15 18) | ||
AlexDaniel | m: say (2..50)[0,2…∞] | ||
camelia | (2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50) | ||
Zoffix | I was hoping this would `state` the anon var, but it's a separate block each time | ||
[] caches | |||
m: say (1..20).toggle: * %% 2 xx * | |||
camelia | (2 4 6 8 10 12 14 16 18 20) | ||
AlexDaniel | sorry, caches what? | 23:15 | |
23:15
mcmillhj left
|
|||
Zoffix | m: say (1..20).pairs.grep(*.key !%% 2)».value | 23:15 | |
camelia | (2 4 6 8 10 12 14 16 18 20) | ||
Zoffix | AlexDaniel: nm | ||
23:18
Khisanth joined
|
|||
MasterDuke | m: say (1..20).rotor(1 => 1).flat | 23:18 | |
camelia | (1 3 5 7 9 11 13 15 17 19) | ||
Zoffix | cool | ||
23:20
cognominal left
23:22
slayergames left,
markong left
23:24
athenot left
23:25
athenot_ joined
23:27
mcmillhj joined
23:30
rindolf left,
Zoffix left
23:32
mcmillhj left
23:33
athenot joined,
athenot_ left
23:38
athenot left
23:39
cognominal joined
23:45
espadrine_ left
23:46
mcmillhj joined
23:48
cognominal left
23:49
cognominal joined
23:50
zachk left,
mcmillhj left
23:56
shareable6 left
|