»ö« 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. |
|||
ZoffixLappy | m: class Foo { my $rovers = set <curiosity opportunity spirit>; my subset RoverName of Str where * ∈ $rovers; has RoverName $.r; }; Foo.new: r => 'curiosity' | 00:10 | |
camelia | rakudo-moar 617bb4: OUTPUT«Type check failed in assignment to $!r; expected Foo::RoverName but got Str ("curiosity") in block <unit> at /tmp/92u4P22RLy line 1» | 00:11 | |
ZoffixLappy | Why does this fail? | ||
WhateverCode doesn't close over $rovers I guess | 00:12 | ||
Hm, and even if I use a { $_ ∈ $rovers } with my Subset::Helpers sub that takes it as &code, it tells me $rovers is an Any :/ | 00:14 | ||
00:14
sue joined
|
|||
psch | m: class Foo { constant $rovers = set <curiosity opportunity spirit>; subset RoverName of Str where * ∈ |$rovers; has RoverName $.r; }; Foo.new: r => 'curiosity' | 00:14 | |
camelia | ( no output ) | ||
psch | ZoffixLappy: subsets are compile time | ||
ZoffixLappy: which means, during "subset RoverName ..." the name is known, but it doesn't have a value yet | 00:15 | ||
where "the name" is $rovers | 00:16 | ||
m: class Foo { my $rovers; BEGIN { $rovers = set <curiosity opportunity spirit> }; subset RoverName of Str where * ∈ |$rovers; has RoverName $.r; }; Foo.new: r => 'curiosity' # alternatively | 00:17 | ||
camelia | ( no output ) | ||
ZoffixLappy | psch, thanks. Now I understand. | 00:18 | |
psch | also please note that there's an extraneous | in my examples... :) | ||
ZoffixLappy | psch++ | ||
Noted :) | |||
00:24
rindolf left
|
|||
psch | heh | 00:26 | |
psch has a plan | |||
it's terrible | |||
but: i have confirmed that 2015.11 doesn't have the NC bug on r-j | 00:27 | ||
v6.c does | |||
00:27
skids1 left,
johndau joined
|
|||
psch | i also know that cffa68807e6390d195f6d0f373c8c79b15fb9a61 has the fix for an unrelated build error for r-j | 00:27 | |
so i plan to rebase that fix back to before 2015.11 and bisect then | 00:28 | ||
it'll probably go up in smoke in a lot of ways | |||
ZoffixLappy | \o/ | ||
00:29
Herby_ joined
00:30
johndau left
|
|||
psch | yeah, obviously it doesn't work | 00:31 | |
00:31
johndau joined
|
|||
psch | i'll first have to find the earliest place i can appliy cffa688 | 00:31 | |
or, maybe the latest | |||
00:32
johndau left
|
|||
psch stashes that for later, mentally | 00:32 | ||
like, after sleeping, which sounds like a good idea about now... o/ | |||
Herby_ | m: my $string = 'bobo'; say $string.comb(/<[aeiou]>/).elems; | ||
camelia | rakudo-moar 617bb4: OUTPUT«2» | ||
00:33
johndau joined
|
|||
Herby_ | m: my $string = 'vowels'; say $string.comb(/<[aeiou]>/).elems; | 00:33 | |
camelia | rakudo-moar 617bb4: OUTPUT«2» | ||
Herby_ | m: my $string = 'mississippi'; say $string.comb(/<[aeiou]>/).elems; | ||
camelia | rakudo-moar 617bb4: OUTPUT«4» | ||
Herby_ | m: my $string = 'mississippi'; say $string.comb(/\w/).elems; | 00:34 | |
camelia | rakudo-moar 617bb4: OUTPUT«11» | ||
00:36
teatime joined
00:41
clkao left
00:43
pierrot left
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: 48b16bf | (Tom Browder)++ | templates/root/index.html.ep: add a blurb on the Test module |
00:43 | |
href="https://modules.perl6.org:">modules.perl6.org: e8f4fee | (Zoffix Znet)++ | templates/root/index.html.ep: Merge pull request #56 from tbrowder/master add a blurb on the Test module |
|||
00:43
Spot__ left
|
|||
ZoffixLappy | OTOH, that commit probably should link to /testing in docs instead of the source and include NativeCall too | 00:45 | |
timotimo | Xliff: oh, i think you might have to pass a CPointer to array of array of num to make things work | ||
because you said the C library allocates it for you, right? | |||
ZoffixLappy | gs | 00:54 | |
Herby_ | m: "count the words".comb(/ /).elems.say; | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dT_Zo4r9MpNull regex not allowedat /tmp/dT_Zo4r9Mp:1------> 3"count the words".comb(/ /7⏏5).elems.say;» | ||
ZoffixLappy | oops, sorry. | ||
Herby_, whitespace is insignificant. Also, there's .words method | 00:55 | ||
Herby_ | m: "count the words".comb(/\s/).elems.say | ||
camelia | rakudo-moar 617bb4: OUTPUT«2» | ||
Herby_ | words method you say? | ||
ZoffixLappy | Yup :) | ||
00:55
sue left
|
|||
ZoffixLappy | camelia also responds to /msg, if you wish to play with her in private. | 00:55 | |
.oO( that sounded awfully dirty ) |
|||
Herby_ | okie dokie, i'll give that a shot. thanks | 00:56 | |
00:56
torbjorn left,
pochi left,
torbjorn joined
00:57
perlawhirl joined
|
|||
perlawhirl | Herby_: "count the words".words.elems or coece to numerical with prefix:<+>, ie +"count the words".words | 00:59 | |
timotimo | i wonder why we don't have precircumfix operator category :P | ||
00:59
pochi joined
|
|||
Herby_ | perlawhirl: thanks. the use of prefixes like that is still kind of foreign to me | 01:00 | |
01:01
Spot__ joined
|
|||
perlawhirl | Herby_: personally I perfer .elems anyway, because it's more explicit | 01:01 | |
01:03
leont left
|
|||
Xliff | timotimo, Yeah. The lib allocates for me. | 01:06 | |
I will try that. Cheers. | |||
01:07
vendethiel joined
|
|||
Xliff | timotimo, so how do I pre-allocate the pointer? | 01:07 | |
Or should I just pass a scalar? | |||
skink | Pointer[CArray[CArray[num32]]] | 01:08 | |
That's just silly :D | |||
timotimo | actually, you can just pass it an int64 :P | 01:09 | |
but other than that, i'd build a CArray to receive it, give it a single slot to put stuff into | |||
actually ... maybe "is rw" will do the extra pointer for you | |||
Xliff | Hmmm... | 01:10 | |
Worth a try. | |||
Pointer[CArray[CArray[num32]]] segfaulted. | |||
01:12
Herby_ left
|
|||
Xliff | Now getting "CArray of CArray passed non-CArray object" | 01:12 | |
m: say (0.0).WHAT | 01:15 | ||
camelia | rakudo-moar 617bb4: OUTPUT«(Rat)» | ||
timotimo | cell, you can't create a Pointer out of thin air | 01:16 | |
you need the storage for that, so that's why i told you to build it with a CArray with a single slot | |||
Xliff | m: my Num $b = 0.0; say $b.WHAT | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Stsqbz9pIvCannot assign a literal of type Rat (0e0) to a variable of type Num. You can declare the variable to be of type Real, or try to coerce the value with 0e0.Num or Num(0e0), or just write the value as…» | ||
01:16
geekosaur left,
vendethiel left,
geekosaur joined
|
|||
Xliff | OK. Now $appp[^5] is defined. But the values are 0. | 01:19 | |
Progress!! ^_^ | |||
01:19
molaf_ joined
01:20
molaf left
|
|||
Xliff | Well, DUH! That's what "CArray[num32].new(Num(0.0));" does. | 01:21 | |
Still, it looks like no matter how $appp is created, if it is passed to the C-lib, the data that should be in $appp.... isn't. | 01:23 | ||
01:25
Sgeo_ joined
01:29
Sgeo left
01:40
kid51 joined
01:41
clkao joined
01:43
Actualeyes joined
01:44
Herby_ joined
|
|||
timotimo | if you want to write a num, you just need an "e" in there | 01:45 | |
Xliff | Single dimensional array passed as parameter to C lib not returning values. | ||
timotimo | m: say 1e0.WHAT | ||
camelia | rakudo-moar 617bb4: OUTPUT«(Num)» | ||
Xliff | k | ||
timotimo | can you paste your code along with the library i'd need? | 01:46 | |
Xliff | Yeah. I'm gonna gist this, tonight. | ||
I'll get yoleaux to pass on the link. I'm kinda blurry eyed, now. | |||
teatime | m: 0e0.WHAT | ||
camelia | ( no output ) | ||
Xliff | Been looking at aspects of this thing all weekend. | 01:47 | |
teatime | m: say 0e0.WHAT | ||
camelia | rakudo-moar 617bb4: OUTPUT«(Num)» | ||
timotimo | oh my :S | ||
sorry to hear it | 01:48 | ||
i need to go to bed really soon, too | |||
Xliff | Yeah. C code, here. | 01:50 | |
gist.github.com/Xliff/11acc06d8e4c...5bbfe47329 | |||
timotimo | will the p6 part go into the same gist as a second file? | ||
Xliff | Updated with P6 part. Same link. | 01:54 | |
No. I usually do everything in one .md file for the highlighting. | |||
ZoffixLappy | Any idea why this code results in -> ;; $_? is raw, (code blocks?) pushed into my <photos> array? gist.github.com/zoffixznet/759afef...bed14ffde0 | ||
m: my @a; @a.push: { foo => 'bar', ber => 'boor' }; say @a.perl; # this example seems to work fine | |||
camelia | rakudo-moar 617bb4: OUTPUT«[{:ber("boor"), :foo("bar")},]» | ||
timotimo | because you refer to $_ iside it | 01:55 | |
inside* | |||
ZoffixLappy | :/ | ||
How do I fix it? | |||
timotimo | give the variable a name | ||
alternatively, you could use $/ and the shortcut syntax that goes with that | 01:56 | ||
m: my @res; for ^5 { @res.push: { a => $_, b => $_ + 2 }; }; say @res | |||
camelia | rakudo-moar 617bb4: OUTPUT«[-> ;; $_? is raw { #`(Block|62241488) ... } -> ;; $_? is raw { #`(Block|62241560) ... } -> ;; $_? is raw { #`(Block|62241632) ... } -> ;; $_? is raw { #`(Block|62241704) ... } -> ;; $_? is raw { #`(Block|62241776) ... }]» | ||
ZoffixLappy | Works. Thanks, timotimo++ | ||
timotimo | m: my @res; for ^5 -> $foo { @res.push: { a => $foo, b => $foo + 2 }; }; say @res | ||
camelia | rakudo-moar 617bb4: OUTPUT«[{a => 0, b => 2} {a => 1, b => 3} {a => 2, b => 4} {a => 3, b => 5} {a => 4, b => 6}]» | ||
ZoffixLappy | Weirdest wat I've encountered so far. | ||
m: my @res; for ^5 { @res.push: %( a => $_, b => $_ + 2 ); }; say @res | 01:57 | ||
camelia | rakudo-moar 617bb4: OUTPUT«[{a => 0, b => 2} {a => 1, b => 3} {a => 2, b => 4} {a => 3, b => 5} {a => 4, b => 6}]» | ||
ZoffixLappy | Guess ^ that is also an option | ||
timotimo | yes | ||
you can also force interpretation as a hash by prefixing the initial { with a : | 01:58 | ||
that'll give you an object hash, but that shouldn't be a problem | |||
Xliff | timotimo: Other thing I may want to try is to see what happens when I return the allocated pointers, rather than using a rw param. | ||
01:59
Herby_ left
|
|||
timotimo | i didn't know you had the freedom to choose that | 02:00 | |
02:00
skids joined
|
|||
Xliff | timotimo, for the use-case, I don't | 02:00 | |
It would just be an experiment. | |||
If it works, I'd have to add a lib that would wrap the calls that pass data this way. | 02:01 | ||
And then point P6 to those routines | |||
Obviously, I don't want to do that. But it's an option. | |||
Of course, I'd then have to bundle that lib. PITA. | 02:02 | ||
timotimo | it shouldn't be needed, we should be able to figure this out | 02:03 | |
skink | I'm trying to figure out what's going on in the previous gist tbh | 02:07 | |
With the char array | |||
timotimo | where is that gist? | 02:11 | |
02:13
ZoffixLappy left
|
|||
skink | gist.github.com/Xliff/53f4c7e86c2e...89cbf5d87a | 02:13 | |
timotimo | ah | 02:15 | |
"going on"? | |||
02:15
khw left
|
|||
Xliff | Oh. I forgot to update that with sortiz's better implementation of as_blob. | 02:17 | |
skink | Well a char[282] would just be Buf/CArray[281] = 0 no? | ||
Xliff | Done. | ||
timotimo | can't just put that into a CStruct, though | 02:18 | |
Xliff | Can't pass it as a sized-C array since, again, the allocation is performed by libogg. | ||
skink | agh | ||
Xliff | And yes, inside a C-struct. Embedded. | ||
skink, now you know my pain. | 02:19 | ||
s/my/some of my/ | |||
Attempt at caffeine revival failed. Throwing ResourceExhaustionFatigue exception. | 02:20 | ||
(Did I write a catch handler for that?!? Hmmmm.....zzzzzz....) | 02:21 | ||
skink | Is there some nicer lib using libogg that you can bind to instead? :) | 02:22 | |
dalek | href="https://modules.perl6.org:">modules.perl6.org: d2aa124 | (Zoffix Znet)++ | templates/root/index.html.ep: Make the standard module blurb more useful Link to docs, not source, and mention NativeCall too. |
02:25 | |
Xliff | skink: Donno. May look. | 02:27 | |
Still. Most of the things I am running into are standard practices for C libs. If NativeCall is going to bind to them, these are issues that will need to be dealt with. | 02:28 | ||
NativeCall not being able to handle/represent a pre-allocated array is a big issue. | 02:29 | ||
skink | There is VorbisFile, which claims to be a higher-level and more convenient API | 02:30 | |
Xliff | Thanks. I'll look into that one. | ||
skink | In which I do not see any big ol' char arrays | ||
www.xiph.org/vorbis/doc/vorbisfile/ | |||
Xliff | Look for many *'s in a row. | ||
Coz I've got a working solution for char arrays, even if it is ugly. | |||
Now it's passing arrays via rw params that seem to be an issue. | 02:31 | ||
Probably mine, but still an issue. | |||
s/Probably/Most likely/ | |||
skink | Deepest I see is... char **user_comments | 02:32 | |
OH GOD NO | |||
float ***pcm_channels | |||
Xliff | HAHAHAHA! | 02:33 | |
Can't get away from 'em. | |||
teatime | heh, there's a whole joke about 'three star programmers' | ||
ZoffixWin | I found a bug: | 02:35 | |
m: say 40+2 | |||
camelia | rakudo-moar 617bb4: OUTPUT«42» | ||
Xliff | May have to try and get jnthn++ to help. | ||
ZoffixWin muffles a snicker | |||
Xliff | when he has the time.... <- there's a joke in there. | 02:36 | |
teatime | ZoffixWin: nice one | ||
02:36
AlexDaniel joined,
vendethiel joined
|
|||
Xliff | ZoffixWin, zero width character detected. | 02:36 | |
Level up your trolling skills, my son. | |||
AlexDaniel | m: sub f(Any:D :$x where * %% 2) {}; f(x => 42) | ||
camelia | ( no output ) | ||
ZoffixWin | Xliff, zero width? | 02:37 | |
m: ' '.uniname.say | |||
camelia | rakudo-moar 617bb4: OUTPUT«OGHAM SPACE MARK» | ||
Xliff | It comes up as a box with 0's on my end. | ||
Which means "that character has no visible representation, that I know of.... and it's looking at me funny" | |||
02:37
Herby_ joined
02:38
noganex joined
|
|||
Xliff | ' ' <- MAKE IT STOP! | 02:38 | |
AlexDaniel | psch: ↑ that's how you can use * if you want | ||
psch: I assume that it is equivalent | |||
psch: but the error message is a bit more precise in this case | |||
m: sub f(Any:D :$x where * %% 2) {}; f(x => Any) | |||
camelia | rakudo-moar 617bb4: OUTPUT«Parameter '$x' requires an instance of type Any, but a type object was passed. Did you forget a .new? in sub f at /tmp/zZosqHlcLU line 1 in block <unit> at /tmp/zZosqHlcLU line 1» | 02:39 | |
AlexDaniel | m: sub f(:$x where .defined && $_ %% 2) {}; f(x => Any) | ||
camelia | rakudo-moar 617bb4: OUTPUT«Constraint type check failed for parameter '$x' in sub f at /tmp/uodlt2nboH line 1 in block <unit> at /tmp/uodlt2nboH line 1» | ||
Herby_ | I want to create a class called journalEntry. When I create a journalEntry object, I want it to have an attribute of the current date/time | ||
Xliff | skink, FWIW VorbisFile may bne the next thing I try and tackle, but as you've seen... the whole "float ***" issue needs to be handled. | ||
Herby_ | how do I do that? I'm looking at perl6intro and getting a bit lost | ||
02:39
avenj joined,
avenj left,
avenj joined
02:40
noganex_ left
|
|||
Xliff | Herby_, class A { has DateTime $.dt; sub new { $.dt = DateTime.now } } | 02:40 | |
AlexDaniel | m: class Test { has $.x = now; }; say Test.new.x; say Test.new.x | ||
camelia | rakudo-moar 617bb4: OUTPUT«Instant:1460947277.894294Instant:1460947277.897476» | ||
Xliff | Or that. | ||
Herby_ | great, I'll poke around both those. thanks! | 02:41 | |
ZoffixWin | Xliff, that char looks like a minus: i.imgur.com/P4XBBWN.png | ||
Xliff | AlexDaniel's is better. | ||
ZoffixWin | And yeah, I also get box with zeros in HexChat ~_~ | ||
Xliff | LOL! | ||
Thanks for the screenie. | |||
AlexDaniel | .u | ||
yoleaux | U+1680 OGHAM SPACE MARK [Zs] ( ) | 02:42 | |
AlexDaniel | ZoffixWin: so it's not a bug | ||
teatime | ZoffixWin: it worked on me. I just see a minus-hyphen :( | ||
ZoffixWin | AlexDaniel, no :) | ||
AlexDaniel | ZoffixWin: by the way | ||
.u minus | |||
yoleaux | U+002D HYPHEN-MINUS [Pd] (-) | ||
U+00B1 PLUS-MINUS SIGN [Sm] (±) | |||
U+02D7 MODIFIER LETTER MINUS SIGN [Sk] (˗) | |||
skink | It's late. I read that as DAMN SPACE MARK | ||
AlexDaniel | m: say -42 | ||
camelia | rakudo-moar 617bb4: OUTPUT«-42» | ||
teatime | AlexDaniel: there are sooo many dash-like chars it's ridiculous | ||
AlexDaniel | no wait | ||
Xliff | m: say -42 | 02:43 | |
camelia | rakudo-moar 617bb4: OUTPUT«-42» | ||
AlexDaniel | I swear that there is a character that is supported | ||
Xliff | m: say −42 | ||
camelia | rakudo-moar 617bb4: OUTPUT«-42» | ||
AlexDaniel | m: say −42 | 02:44 | |
camelia | rakudo-moar 617bb4: OUTPUT«-42» | ||
AlexDaniel | .u − | ||
Xliff | m: say ±42 | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat /tmp/4Wb8zh6TAO:1------> 3say7⏏5 ±42Bogus postfixat /tmp/4Wb8zh6TAO:1------> 3say 7⏏5±42 expecting any of: infix infix stopper p…» | ||
yoleaux | U+2212 MINUS SIGN [Sm] (−) | ||
AlexDaniel | this one ↑ | ||
ZoffixWin | m: say −42 | ||
camelia | rakudo-moar 617bb4: OUTPUT«-42» | ||
Xliff | Just used that one. | ||
ZoffixWin | .u plus sign | ||
yoleaux | U+002B PLUS SIGN [Sm] (+) | ||
02:44
tardisx left
|
|||
ZoffixWin | .u wide plus sign | 02:44 | |
yoleaux | No characters found | ||
ZoffixWin | Hm | ||
Herby_ | AlexDaniel: how do I convert that timestamp to something readable? | ||
AlexDaniel | yeah, it's funny. plus sign is ascii, minus sign is no | ||
Herby_ | like date/time | 02:45 | |
ZoffixWin | heh | ||
AlexDaniel | not* | ||
Xliff | m: say ⁒42 | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat /tmp/KeJtP6vEuz:1------> 3say7⏏5 ⁒42Bogus postfixat /tmp/KeJtP6vEuz:1------> 3say 7⏏5⁒42 expecting any of: infix infix stopper …» | ||
teatime | AlexDaniel: Because ASCII - is overloaded and has lots of different meanings that benefit from disambiguation; + not so much. | ||
ZoffixWin | m: say 2+-42 | 02:46 | |
camelia | rakudo-moar 617bb4: OUTPUT«-40» | ||
ZoffixWin | :o colour me impressed | ||
Xliff | Herby_, $.dt.Str | ||
AlexDaniel | m: say now.DateTime | ||
camelia | rakudo-moar 617bb4: OUTPUT«2016-04-18T02:46:14.255263Z» | ||
Xliff | Or that | ||
Herby_ | m: class Test { has $.x = now; }; say Test.new.x; say Test.new.x.Str | ||
camelia | rakudo-moar 617bb4: OUTPUT«Instant:1460947633.070974Instant:1460947633.074330» | ||
Herby_ | thx | 02:47 | |
AlexDaniel | teatime: sure, I'm not saying that it is wrong. Perfectly made sense back then | ||
ZoffixWin | m: class Test { has $.x = now; }; say Test.new.x; say Test.new.x.DateTime | ||
camelia | rakudo-moar 617bb4: OUTPUT«Instant:1460947674.9950982016-04-18T02:47:18.998232Z» | ||
AlexDaniel | another interesting observation is that a lot of people are using ’ for apostrophe, which is a bit wrong. | 02:48 | |
Xliff | Herby_, if you need more options... github.com/supernovus/perl6-datetime-format | ||
AlexDaniel | .u ' | ||
yoleaux | U+0027 APOSTROPHE [Po] (') | ||
AlexDaniel | .u ’ | ||
yoleaux | U+2019 RIGHT SINGLE QUOTATION MARK [Pf] (’) | ||
Herby_ | Xliff: I'll give it a read, thanks | ||
Xliff | Always one of the first things I install when I rebuild rakudo. | ||
AlexDaniel | m: say DateTime.now(formatter => { sprintf "%02d:%02d",.hour,.minute }); | ||
camelia | rakudo-moar 617bb4: OUTPUT«04:48» | ||
AlexDaniel | Herby_: perhaps see doc.perl6.org/type/DateTime | 02:49 | |
Herby_ | will do | ||
teatime | AlexDaniel: there are enough semantic errors / weirdness in the names of unicode chars that I don't really consider them authoritative. | 02:50 | |
AlexDaniel | teatime: what do you consider authoritative then? :) | ||
teatime: like, there has to be something | |||
teatime | AlexDaniel: I have read some arguments on that particular question that go both ways though | ||
AlexDaniel | teatime: common sense? Popularity? | ||
teatime | perhaps. | 02:51 | |
AlexDaniel | m: say −-−-42 | 02:52 | |
camelia | rakudo-moar 617bb4: OUTPUT«42» | ||
02:53
tardisx joined
|
|||
AlexDaniel | m: say ‘−-−-42’.uninames | 02:53 | |
camelia | rakudo-moar 617bb4: OUTPUT«(MINUS SIGN HYPHEN-MINUS MINUS SIGN HYPHEN-MINUS DIGIT FOUR DIGIT TWO)» | ||
AlexDaniel | all we need is a hyphen-plus | ||
for completeness… :D | |||
teatime | one that troubled me for a while until I just gave in to the sensible thing, is not wanting to use ≅ because I'd rather see the ≈ glyph for approximately equal to | ||
.u ≅ | |||
yoleaux | U+2245 APPROXIMATELY EQUAL TO [Sm] (≅) | ||
teatime | .u ≈ | 02:54 | |
yoleaux | U+2248 ALMOST EQUAL TO [Sm] (≈) | ||
AlexDaniel | teatime: the problem with this one was that ≈ looks a bit too similar to ~~ | ||
02:54
tardisx left
|
|||
teatime | hmm? | 02:54 | |
I wasn't talking about in the context of Perl6 :0 | 02:55 | ||
er :) | |||
AlexDaniel | ahhh | ||
.u ≈ | |||
yoleaux | U+2248 ALMOST EQUAL TO [Sm] (≈) | ||
teatime | can I take from that then, that perl6 recognizes ≅ as an operator? | ||
AlexDaniel | teatime: it does | ||
teatime | hehe | ||
naturally | |||
AlexDaniel | m: 42.399999999999999999999999999e0 ≅ 43.4e0 | 02:56 | |
camelia | ( no output ) | ||
AlexDaniel | m: say 42.399999999999999999999999999e0 ≅ 43.4e0 | ||
camelia | rakudo-moar 617bb4: OUTPUT«False» | ||
AlexDaniel | m: say 42.3999999999999999999999999999999999999999999999e0 ≅ 43.4e0 | ||
camelia | rakudo-moar 617bb4: OUTPUT«False» | ||
AlexDaniel | ah | ||
m: say 42.3999999999999999999999999999999999999999999999e0 ≅ 42.4e0 | |||
camelia | rakudo-moar 617bb4: OUTPUT«True» | ||
AlexDaniel | m: say 42.39999999999999999999999999e0 ≅ 42.4e0 | ||
camelia | rakudo-moar 617bb4: OUTPUT«True» | ||
AlexDaniel | m: say 42.3999999999999999e0 ≅ 42.4e0 | ||
camelia | rakudo-moar 617bb4: OUTPUT«True» | ||
AlexDaniel | m: say 42.39999e0 ≅ 42.4e0 | ||
camelia | rakudo-moar 617bb4: OUTPUT«False» | ||
AlexDaniel | teatime: anyway, that's for comparing Nums | ||
teatime | yeah I knew there was a approx eq operator | 02:57 | |
just didn't realize it had unicode | |||
seems like the unicode operator docs could use an update | |||
but maybe I just overlooked it | |||
AlexDaniel | teatime: doc.perl6.org/language/unicode_texas | ||
02:57
vendethiel left
|
|||
AlexDaniel | what I still cannot accept is this | 02:58 | |
m: 2¯³ | |||
camelia | ( no output ) | ||
AlexDaniel | m: say 2¯³ | ||
camelia | rakudo-moar 617bb4: OUTPUT«0.125» | ||
AlexDaniel | .u ¯ | 02:59 | |
yoleaux | U+00AF MACRON [Sk] (¯) | ||
teatime | yeah weird, esp. since ⁻ exists | ||
0xAF is probably easier to get to in default KB layouts tho | |||
.u ⁻ | 03:00 | ||
yoleaux | U+207B SUPERSCRIPT MINUS [Sm] (⁻) | ||
03:00
tardisx joined
|
|||
AlexDaniel | teatime: yeah… somebody said “hey, there's a superscript minus, here it is: ¯” and that's how we got it | 03:00 | |
teatime | too late to fix now? | 03:01 | |
AlexDaniel | because on some configs ^ + - is macron or something | ||
teatime: no it wasn't too late back then, but TimToady decided that it's ok, so let be it | |||
teatime | heh... I have congnitive dissonance when I think I think of TimToady as 'Tim' | 03:02 | |
03:07
skink left
03:16
Herby_ left,
Amnez777 left
03:23
pecastro joined
03:26
pecastro left
03:29
cibs_ left
03:30
cibs joined
03:32
kid51 left
|
|||
MadcapJake | I am getting stumped by this segmentation fault. It happens right here: github.com/MadcapJake/p6-MyHTML/bl...ee.pm6#L34 and I have no idea why. Anyone able to take a look? | 03:45 | |
Xliff | &lib? | 03:47 | |
MadcapJake | That's this: github.com/MadcapJake/p6-MyHTML/bl...ML/Lib.pm6 | ||
03:49
pecastro joined
|
|||
Xliff | Gotcha. | 03:49 | |
Hrm. | 03:52 | ||
Where is the use of the \ sigil documented? | |||
MadcapJake | doc.perl6.org/language/variables#Si..._variables | 03:53 | |
Xliff | Yeah. Reading that now. | ||
MadcapJake | In this case, it was a shot in the dark. didn't seem to make a difference | ||
Xliff | Wouldn't you need a container to hold the return value of myhtml_tree_create() ? | 03:54 | |
Or is the context-less binding assignment the wholepoint? | 03:55 | ||
MadcapJake | no it just returns a pointer | ||
it's immutable when sigilless | 03:56 | ||
m: my \i = 10; i = 12; | |||
camelia | rakudo-moar 617bb4: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/I7Xm0LGK22 line 1» | ||
Xliff | "Tree is repr('CStruct');" but I don't see any struct members. | ||
Right. I get that it's immutable. | |||
MadcapJake | well I wouldn't need a container for it then because I only assign it once. | 03:57 | |
Xliff | Is there a .h file for /usr/local/lib/libmyhtml.so? | 03:58 | |
MadcapJake | yeah the CStruct thing was also a shot in the dark, it was a CPointer and still gave the same error. Thought it *really is* a struct | ||
github.com/lexborisov/myhtml/blob/...html/api.h | |||
I copied the doxygen over | |||
Xliff | Yeah. I've had better luck with CStructs that actually have a definition than with CPointers. | ||
I think you will need to add this to your Tree class, at the very least. | 04:03 | ||
github.com/lexborisov/myhtml/blob/...ree.h#L160 | |||
Along with all of the dependent types. | 04:04 | ||
04:04
bent__ joined
04:05
bent__ left
|
|||
Xliff | I have had no luck trying to get naked pointers to do anything but segfault with NativeCall. | 04:05 | |
MadcapJake | hmm alright I'll give it a shot. Thanks! | ||
Xliff | No worries. Good luck! | ||
MadcapJake, gptrixie is your friend. | 04:06 | ||
A lot of editing, though. | |||
I would just translate the types and put them in their own unit module. You've already done everything else, looks like. | |||
And gptrixie output is.... rough... | 04:07 | ||
04:11
perlawhirl left,
Cabanossi left
04:14
Cabanossi joined
04:17
dj_goku left
04:19
tardisx left
04:22
Amnez777 joined,
tardisx joined
|
|||
MadcapJake | what's the difference between a C struct field that has the type «enum foo» versus one that has type «foo_enum_type» backed by a typedef? | 04:26 | |
Xliff | .u exclamation | 04:27 | |
yoleaux | U+0021 EXCLAMATION MARK [Po] (!) | ||
U+00A1 INVERTED EXCLAMATION MARK [Po] (¡) | 04:28 | ||
U+01C3 LATIN LETTER RETROFLEX CLICK [Lo] (ǃ) | |||
Xliff | ¡WHOOP! | ||
Got it! | |||
TEttinger | .u LETTER | ||
yoleaux | U+0041 LATIN CAPITAL LETTER A [Lu] (A) | ||
U+0042 LATIN CAPITAL LETTER B [Lu] (B) | |||
U+0043 LATIN CAPITAL LETTER C [Lu] (C) | |||
MadcapJake | o_O | ||
TEttinger | phew | ||
teatime | well they're both really ints of some width. typedef just makes an alias for a type. | 04:29 | |
Xliff | MadcapJake, I don't think there's much of a difference, since the typedefs look to just be constant declarations of the struct class. | ||
teatime | so I guess it's the same as the same situation w/ a struct or union. | ||
MadcapJake | strange that this struct contains both | ||
Xliff | MadcapJake, linky? | ||
MadcapJake | that struct at L160 you linked above | ||
the enums and the encodings are both structs, one just has a typedef the other not | 04:30 | ||
github.com/lexborisov/myhtml/blob/...#L208-L219 | |||
Xliff | Updating gist. Now getting expected values from NativeCall "func(float ***bastard)" !!! | 04:31 | |
teatime | maybe they typedef things that are part of the public api | ||
or typedef things that are supposed to be black boxes to the user of the public api. | |||
also I thought _t names were reserved for the stdlib :/ | 04:32 | ||
MadcapJake | myhtml binding backtrace www.irccloud.com/pastebin/cX4D9TD8/ | 04:33 | |
That's with an added struct: github.com/MadcapJake/p6-MyHTML/co...aa865f19ad | 04:36 | ||
two structs actually | |||
Xliff | W00 H0000! gist.github.com/Xliff/11acc06d8e4c...5bbfe47329 | ||
.tell timotimo gist.github.com/Xliff/11acc06d8e4c...5bbfe47329 | |||
yoleaux | Xliff: I'll pass your message to timotimo. | ||
Xliff | I'm sure there's probably a more elegant way to do it, but the key is passing a Pointer, and then nativecast to arrays with the binding assignment operator. | 04:37 | |
I had to dig through almost all of nom/t/04-nativecall to figure it out. | |||
04:38
skids left
04:42
sue_ joined
04:43
pecastro left
|
|||
Xliff | MadcapJake, did you build libmyhtml with or without POSIX threads? | 04:53 | |
MadcapJake | without | ||
Xliff | And the code you were running that generated the SEGV? | 04:54 | |
MadcapJake | yeah it was eg/attributes-high.pl6 | ||
Xliff | kk | 04:55 | |
04:57
xiaomiao left
04:59
astj_ joined,
astj left
05:00
BenGoldberg left
|
|||
Xliff | Afraid you may need struct definition for MyHTML as well. | 05:01 | |
05:01
sillytime is now known as nchambers
05:02
xiaomiao joined
|
|||
Xliff | Yikes! | 05:07 | |
Trixie puked on myhtml.h | |||
05:17
uuu_john left
05:18
sue_ left
|
|||
MadcapJake | tried adding MyHTML struct fields to no avail | 05:19 | |
05:26
pierrot joined
|
|||
Xliff | ==11657== Invalid read of size 4 | 05:29 | |
==11657== at 0x7EE20CE: myhtml_tag_init (in /usr/local/lib/libmyhtml.so) | |||
==11657== by 0x7EE0A88: myhtml_tree_init (in /usr/local/lib/libmyhtml.so) | |||
So something is funky. | |||
05:31
aleogen joined
|
|||
AlexDaniel | .u ꘏ | 05:32 | |
yoleaux | U+A60F VAI QUESTION MARK [Po] (꘏) | ||
Xliff | Hummm..... | 05:33 | |
$ perl6 -Ilib eg/attributes-high.pl6 | |||
Still ain't back yet. | |||
AlexDaniel | m: say ꘤꘢ + ꘦꘩ | ||
camelia | rakudo-moar 617bb4: OUTPUT«111» | ||
AlexDaniel | Vai is cool | 05:34 | |
.u꘍ | |||
.u ꘍ | |||
yoleaux | U+A60D VAI COMMA [Po] (꘍) | ||
AlexDaniel | .u ꘎ | ||
yoleaux | U+A60E VAI FULL STOP [Po] (꘎) | ||
aleogen | what are these squares? What did I break this time? | 05:35 | |
meh | |||
must be something wrong with termcap/utf-8 | |||
AlexDaniel | aleogen: most likely you just don't have enough fonts | ||
aleogen | which do I need? | 05:36 | |
AlexDaniel | aleogen: it's hard to tell. At some point I installed unifont and was amazed by how every square turned into something renderable | 05:38 | |
aleogen: but it is a bitmap font, so it is ugly | |||
these symbols above are rendered on my system with some proper font, but I have no idea how can I know which font is that | 05:39 | ||
aleogen | depending on xorg, which I'm not currently running | ||
(x11-fonts rather) | |||
Let me see if I can get that to work somehow | 05:40 | ||
Xliff | www.evertype.com/fonts/vai/ ?? | ||
AlexDaniel | Xliff: not sure if there's any reason to do that unless you plan to type in vai :) | 05:41 | |
Xliff: but getting some fonts that cover big chunks of unicode is a good idea | 05:42 | ||
aleogen: perhaps you can just install .ttf from here unifoundry.com/unifont.html | |||
aleogen | AlexDaniel: svnweb.freebsd.org/ports/head/x11-...nifont-ttf | ||
Xliff | *gasp* | 05:43 | |
Unifont 12 megs??? | |||
aleogen | ttf, yes | ||
TEttinger | it's even more in the hex format | ||
... I think | |||
aleogen | come one, you can get 512GB of low-profile usb storage for like, $30 | 05:44 | |
on* | |||
TEttinger | haha, I was way off | ||
it's way smaller | |||
aleogen | there's also svnweb.freebsd.org/ports/head/x11-...nu-unifont | ||
much much smaller | |||
05:45
CIAvash joined
|
|||
Xliff | aleogen, Just because you can do it doesn't mean you should. | 05:46 | |
TEttinger | I use Unifont for IRC | ||
AlexDaniel | aleogen: ah, found it! | ||
www.gnu.org/software/freefont/ | |||
TEttinger | using it now. because I was sick of a random unicode character throwing off alignment | ||
AlexDaniel | I bet that this one renders vai on my system | ||
Xliff | 😆 | ||
AlexDaniel | TEttinger: this is so annoying | ||
TEttinger | vai? | ||
AlexDaniel | m: say ꘤꘢ + ꘦꘩ | 05:47 | |
camelia | rakudo-moar 617bb4: OUTPUT«111» | ||
TEttinger | no wai | ||
AlexDaniel | aleogen: so I guess that you should install both freefont and unifont to be happy :) | 05:48 | |
Xliff | ⊙ ⊙ | ||
TEttinger | m: 1 + ℎ | ||
aleogen | AlexDaniel: i'm actually curious about psf unifont | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U3WJv7dfMyUndeclared routine: ℎ used at line 1» | ||
Xliff | Lemme restart to see if I can see these. | ||
TEttinger | aw it's planck's constant! | ||
05:48
Xliff left
|
|||
aleogen | yeah, same. sec | 05:48 | |
05:48
aleogen left
05:49
Xliff joined
|
|||
Xliff | YES!!! | 05:49 | |
TEttinger | m: Ⅿ + Ⅿ | ||
camelia | rakudo-moar 617bb4: OUTPUT«WARNINGS for /tmp/sNXo282EZw:Useless use of "+" in expression "Ⅿ + Ⅿ" in sink context (line 1)» | ||
TEttinger | m: say Ⅿ + Ⅿ | ||
camelia | rakudo-moar 617bb4: OUTPUT«2000» | ||
TEttinger | nice | ||
05:49
aleogen joined
|
|||
AlexDaniel | TEttinger: it looks like we have no planck constant at all. Not even in modules | 05:50 | |
aleogen | alright, let me have it guys | ||
TEttinger | m: say 無量大數 + 無量大數 | 05:51 | |
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/L8mUX4xW1fUndeclared routine: 無量大數 used at line 1» | ||
aleogen | much much much better | ||
TEttinger | m: say 울 + 울 | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DqWIUdrJ8GUndeclared routine: 울 used at line 1» | ||
TEttinger | m: say 쉰 + 쉰 | 05:52 | |
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1GRCvfBvtAUndeclared routine: 쉰 used at line 1» | ||
aleogen | though I cannot tell what is supposed to be after line 1 | ||
TEttinger | NL ? | ||
newline visual control | |||
aleogen | 1» | ||
TEttinger | yep | ||
AlexDaniel | here it renders as N above L | ||
aleogen | 1 <something something> >> \n | ||
TEttinger | it's a visual way to print \n without printing a newline | ||
or print a substitute for it | 05:53 | ||
05:53
dolmen joined
|
|||
aleogen | the return symbol is much more helpful I think | 05:53 | |
AlexDaniel | return symbol? What symbol is that? | ||
TEttinger | m: say ℯ + ℯ | 05:54 | |
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hg6nfXbRJYUndeclared routine: ℯ used at line 1» | ||
TEttinger | aw | ||
aleogen | oh wait, it's 〃 3003 ditt? | ||
or something similar? | |||
TEttinger | m: say Ⅿ⁄Ⅿ | 05:55 | |
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hjsdQemRkiBogus postfixat /tmp/hjsdQemRki:1------> 3say Ⅿ7⏏5⁄Ⅿ expecting any of: infix infix stopper postfix statement end statement …» | ||
TEttinger | hm | ||
aleogen | AlexDaniel: I was thinking ⏎ 23 | ||
TEttinger | that's unicode 0x2044 that I used, the fraction slash | ||
www.fileformat.info/info/unicode/ch.../index.htm | 05:56 | ||
m: say Ⅿ/Ⅿ | 05:57 | ||
camelia | rakudo-moar 617bb4: OUTPUT«1» | ||
TEttinger | nice | ||
aleogen | wow this is breaking my terminal | 05:58 | |
U+21B5, U+23CE, U+240D, those all seem to make much more sense than.. Oh | 06:01 | ||
U+2424 isn't displaying properly. No wonder. | |||
Xliff | m: say ꘡꘠ + ꘤꘥ | 06:02 | |
camelia | rakudo-moar 617bb4: OUTPUT«55» | ||
Xliff | HAHAHAHAHA! | ||
aleogen | back to blocks ;_; | ||
Xliff | :( | ||
aleogen wonders if #perl6 is messing around now | 06:03 | ||
Xliff | .u return | ||
moritz | aleogen: just get a UTF-8 capable terminal :-) | ||
yoleaux | U+000D CARRIAGE RETURN (CR) [Cc] (␍) | ||
U+23CE RETURN SYMBOL [So] (⏎) | |||
U+240D SYMBOL FOR CARRIAGE RETURN [So] (␍) | |||
aleogen | moritz: my terminal is fully utf-8 capable | 06:04 | |
Xliff | ⏎ | ||
AlexDaniel | Xliff: what's so funny? | ||
Xliff | Not so intuitive, that one. | ||
AlexDaniel, rakudo arithmetic works with Vai numbers. | |||
moritz | aleogen: then how can it mess with your terminal? | ||
Xliff | m: say ꘡ | ||
aleogen | moritz: that's what I'm trying to figure out | ||
camelia | rakudo-moar 617bb4: OUTPUT«1» | ||
Xliff | m: say ꘡꘠꘠ | 06:05 | |
camelia | rakudo-moar 617bb4: OUTPUT«100» | ||
AlexDaniel | Xliff: it works with anything that has a defined numeric value | ||
Xliff: like roman numerals | |||
Xliff | :D | ||
AlexDaniel | which is weird but why not :) | ||
Xliff | I love it. | 06:06 | |
Oh, the possibilities! | |||
AlexDaniel | Xliff: well, I just have to note that possibilities are not endless | ||
for example, this works ↓ | |||
m: say Ⅷ | 06:07 | ||
camelia | rakudo-moar 617bb4: OUTPUT«8» | ||
aleogen | moritz: does urxvt support unicode? :o | ||
AlexDaniel | m: sayⅩⅧ # but this doesn't | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat /tmp/E40EBFRA1u:1------> 3say7⏏5ⅩⅧ # but this doesn'tBogus postfixat /tmp/E40EBFRA1u:1------> 3say7⏏5ⅩⅧ # but this doesn't expecting any of: i…» | ||
Xliff | m: say ⅢⅣⅤ; | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ro8BYhFpXqBogus postfixat /tmp/ro8BYhFpXq:1------> 3say Ⅲ7⏏5ⅣⅤ; expecting any of: infix infix stopper postfix statement end statement…» | ||
Xliff | m: say Ⅳ; | 06:08 | |
camelia | rakudo-moar 617bb4: OUTPUT«4» | ||
Xliff | LOL | ||
Roman numeral rules are in effect! | |||
AlexDaniel | Xliff: because it is a different numeral system and rakudo is not supposed to support that | ||
Xliff | m: say ⅹⅰⅰ | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Oc34tl7kcNBogus postfixat /tmp/Oc34tl7kcN:1------> 3say ⅹ7⏏5ⅰⅰ expecting any of: infix infix stopper postfix statement end statement …» | ||
AlexDaniel | but there's github.com/drforr/perl6-slang-roman if you want that | ||
Xliff | m: say ⅩⅠⅠⅠ | 06:09 | |
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fpty9rzxY3Bogus postfixat /tmp/fpty9rzxY3:1------> 3say Ⅹ7⏏5ⅠⅠⅠ expecting any of: infix infix stopper postfix statement end stateme…» | ||
aleogen | is there a way to print out a fonttable for the fonts I've currently installed? | 06:10 | |
06:11
jack_rabbit joined
06:13
aleogen left,
_mg_ joined,
aleogen joined
|
|||
Xliff | aleogen, www.babelstone.co.uk/Software/BabelMap.html | 06:15 | |
aleogen | em: | ||
Xliff: err, within freebsd, inside a virtual terminal | 06:16 | ||
Xliff | aleogen, O. Sorry. | ||
aleogen | say ⅩⅠⅠⅠ | 06:17 | |
em: say ⅩⅠⅠⅠ | |||
m: say ⅩⅠⅠⅠ | 06:18 | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/suTM5JzWXDBogus postfixat /tmp/suTM5JzWXD:1------> 3say Ⅹ7⏏5ⅠⅠⅠ expecting any of: infix infix stopper postfix statement end stateme…» | ||
TEttinger | aleogen: anything that can pull apart a cmap section of a TTF can do it | 06:21 | |
I don't know much that does that, I found cmaptofile a while back | |||
aleogen | m: my @res; for ^5 { @res.push: %( a => $_, b => $_ + 2 ); }; say @res | ||
camelia | rakudo-moar 617bb4: OUTPUT«[{a => 0, b => 2} {a => 1, b => 3} {a => 2, b => 4} {a => 3, b => 5} {a => 4, b => 6}]» | ||
TEttinger | www.jongware.com/binaries/ I have only used the cmaptofile101.zip download | 06:22 | |
this was the only result I got | |||
interestingly, google finds the IRC logs where i linked the version from my dropbox because jongware was down | |||
aleogen | haha, very practical | 06:23 | |
okay, I need more stuff that might not display properly. | |||
TEttinger | of course, cpan search.cpan.org/~mhosken/Font-TTF-1...TF/Cmap.pm | ||
aleogen | TEttinger: lol, I was right on that page :p | 06:24 | |
06:26
aindilis joined
|
|||
TEttinger | I haven't tried, but "dumpfont -t cmap whatever.ttf" using this may work scripts.sil.org/cms/scripts/page.ph...=FontUtils | 06:26 | |
aleogen | do you have anyhting more that could possibly break my terminal? | 06:30 | |
I'd like to see if this is all fixed up yet | |||
06:30
dwarring left
|
|||
moritz | .u poop | 06:31 | |
yoleaux | No characters found | ||
aleogen | .u 20C4 | ||
yoleaux | No characters found | ||
aleogen | .u a | ||
yoleaux | U+0061 LATIN SMALL LETTER A [Ll] (a) | ||
moritz | m: say "\x[20C4]" | 06:32 | |
camelia | rakudo-moar 617bb4: OUTPUT«» | ||
moritz | m: say "\x[20C4]".uniname | ||
camelia | rakudo-moar 617bb4: OUTPUT«<reserved>» | ||
moritz | .u LTR | ||
yoleaux | No characters found | ||
aleogen | .u 用 | ||
yoleaux | No characters found | ||
moritz | .u RTL | ||
yoleaux | No characters found | ||
moritz | .u right-to-left | ||
yoleaux | U+200F RIGHT-TO-LEFT MARK [Cf] (<control>) | ||
U+202B RIGHT-TO-LEFT EMBEDDING [Cf] (<control>) | |||
U+202E RIGHT-TO-LEFT OVERRIDE [Cf] (<control>) | |||
moritz | m: say chr 0x202E # specifically for aleogen | 06:33 | |
camelia | rakudo-moar 617bb4: OUTPUT«» | ||
aleogen | works | ||
just very small | |||
\o/ | |||
06:36
dolmen left
06:45
firstdayonthejob left
06:46
Actualeyes left
06:47
domidumont joined
06:49
Actualeyes joined
06:50
domidumont left
06:51
domidumont joined,
RabidGravy joined
|
|||
Xliff | \o RabidGravy | 06:52 | |
masak | mornin', #perl6 | ||
ufobat_ | morning :-) | 06:56 | |
06:56
ufobat_ is now known as ufobat
|
|||
masak | another glorious day in the Perl 6 factory! | 06:58 | |
07:02
wamba joined
|
|||
Xliff | Hrm. | 07:03 | |
MadcapJake, still here? | |||
ufobat, masak -- \o | |||
07:03
zakharyas joined
|
|||
Xliff | masak: Fixed mah stuff! | 07:04 | |
gist.github.com/Xliff/11acc06d8e4c...5bbfe47329 | |||
ufobat | masak: groups.google.com/forum/#!msg/mojo...PSssUCWjkJ - the non blocking psgi && mojo thing.. and i am not perfectly sure but it seems to me that github.com/supernovus/perl6-http-e...y.pm6#L184 is also not doing nonblocking IO | 07:06 | |
masak | Xliff: congratulations! | ||
ufobat: I didn't get down to that layer myself, but I sort of suspected it wouldn't. :) | 07:07 | ||
ufobat: I'm willing to end up with a short-term workaround/hack to make things work, and then later we can switch things over to doing it the nice, correct way | |||
but "make it work" first | |||
07:08
abraxxa joined
|
|||
masak wonders idly if supernovus++ would accept a repository-wide patch to make his whitespace and curly braces a bit more standard... | 07:08 | ||
ufobat | i agree, | 07:10 | |
07:13
pmurias joined
|
|||
pmurias | hi | 07:14 | |
masak | hi pmurias | ||
07:27
leont joined
07:32
leont left
07:33
leont joined
07:36
pdcawley joined
|
|||
AlexDaniel | masak: I didn't really understand what is your issue exactly, but what about web sockets? | 07:50 | |
masak: there's a web socket module in perl 6 modules directory, and it actually works, I've tried it | |||
masak | worth looking into | 07:51 | |
especially if it Just Works | |||
SSE are basically a simpler version of web sockets | |||
because web sockets are bidirectional and SSE is unidirectional | 07:52 | ||
AlexDaniel | there's a chat example that almost works | 07:53 | |
ah no, it just works, because I've fixed it | |||
without “almost” | |||
Xliff | LOL | 07:54 | |
AlexDaniel, What was broken? | |||
AlexDaniel | Xliff: github.com/tokuhirom/p6-WebSocket/...cce2450ca4 | ||
Xliff: it was just slightly outdated | |||
07:54
rindolf joined
|
|||
AlexDaniel | oops, I mean, it was just a bit old | 07:54 | |
masak | if Web Sockets just work for me, I might forget about SSE, yes | 07:55 | |
07:55
Guest55473 is now known as matt_
|
|||
RabidGravy | masak, so you didn't see the gist I posted with a working SSE example the other day? | 07:56 | |
AlexDaniel | masak: but SSE are not supported on Edge! :D | ||
in Edge* ? | |||
RabidGravy | but see also github.com/jonathanstowe/Lumberjac...bSocket.pm | 07:57 | |
that works really well | |||
AlexDaniel | RabidGravy: what is Lumberjack? | 07:58 | |
RabidGravy | a sketch for a logging framework | ||
AlexDaniel | hmm | ||
RabidGravy | it's probably too slow for big time use right now | ||
Xliff | What is this? Signature? "-> $ws {" | 08:00 | |
RabidGravy | but the log "dashboard" using websockets works nicely | ||
AlexDaniel | m: -> $arg { say $arg}(42) | ||
camelia | rakudo-moar 617bb4: OUTPUT«42» | ||
RabidGravy | Xliff, a "pointy block" | ||
Xliff | Makes the code look odd | 08:01 | |
AlexDaniel | Xliff: that's just another way to create a function | ||
Xliff googles. | |||
arnsholt | Note that it's a block, not a function | ||
They're pretty similar, but not quite the same | |||
AlexDaniel | m: my $x = -> $arg { say $arg}; say WHAT $x | 08:02 | |
camelia | rakudo-moar 617bb4: OUTPUT«(Block)» | ||
AlexDaniel | my $x = anon sub test($arg) { say $arg}; say WHAT $x | ||
m: my $x = anon sub test($arg) { say $arg}; say WHAT $x | |||
camelia | rakudo-moar 617bb4: OUTPUT«(Sub)» | ||
AlexDaniel | arnsholt: indeed. What's the difference? | ||
08:02
brrt joined
|
|||
arnsholt | return, mostly | 08:03 | |
return in a block returns from the enclosing sub, not the block | 08:04 | ||
RabidGravy | a sub has a bit of extra baggage around dispatching, multis etc | ||
08:04
tardisx left
|
|||
masak | RabidGravy: no, I missed your SSE example. url? :) | 08:05 | |
AlexDaniel: I'm filled with a great huge lack of giving a damn that it doesn't work in Edge. | |||
08:05
jnthn_ is now known as jnthn
|
|||
RabidGravy | masak, gist.github.com/jonathanstowe/cf91...37f7137427 - that definitely works (inasmuch as I tested it with a node.js client) | 08:05 | |
brrt | good * #perl6 | 08:06 | |
pmurias | when doing TDD is it resonable to commit first the test and in a subsequent commit the implementation? | ||
leont | Awesome. Running perl-gdb-m causes $*EXECUTABLE to be perl6-gdb-m too, so my entire program gets confused | ||
masak | RabidGravy: cool! I can use that! thanks! | 08:07 | |
RabidGravy | I don't know how well that plays with higher level abstractions | ||
leont | (because it starts other perl processes) | ||
brrt | pmurias: yes | 08:08 | |
08:09
araujo joined
08:13
darutoko joined
|
|||
leont | It rather confused my TAP parser :-p | 08:17 | |
moritz | leont: it's called "deep debugging" :-) | ||
or was it "debugging in depth"? :-) | 08:18 | ||
leont | TAP is supposed to ignore unknown lines (a rather interesting feature), but I had just built-in some debugging for unknown lines :-p | ||
08:21
dakkar joined
|
|||
moritz | leont: well, I susppose that even when that's not a problem, it might be a problem that the subprocesses don't run | 08:23 | |
08:23
vytas joined
|
|||
Xliff | Aaannd. Vorbis read test is complete. | 08:27 | |
Now the write tests... *sigh* | |||
Any reason why perl6 would spawn multiple processes? | 08:28 | ||
And what should I look out for if I may have inadvertently introduced such an issue? | |||
moritz | Xliff: iirc for precompilation | 08:29 | |
Xliff | Ah. | ||
And would there be any reason as to why precomp would need to open > 10 instances? | 08:30 | ||
Or >5, really. | |||
08:33
Vlavv_ left
08:38
leont left
08:40
tardisx joined
|
|||
Xliff | Let's try another tack. What would be the best way to look for a precompilation loop? | 08:40 | |
08:42
tardisx left
|
|||
moritz | there's got to be some logic right now that determines which modules need which others, and which of those can be precompiled | 08:43 | |
that's where loop detection should go, IMHO | |||
maybe nine_++ has a good idea? | |||
Xliff | Because I think I am running into that. | ||
Probably because of the weird way I tried to hack something that MadcapJake was working on. | 08:44 | ||
nine_ | I don't think we currently have a protection from recursive use statements. So if A uses B and B uses A, you'd get an endless loop trying to precompile those dependencies and that will look like a very deep perl6 process tree. | 08:48 | |
When starting from a clean slate, you'll see one perl6 process per dependency tree layer. So A uses B uses C uses D will give you 4 perl6 processes, at least until D is compiled. | 08:49 | ||
Xliff | Crap. | 08:52 | |
I think that's exactly what has happened. | |||
RabidGravy | is there a builtin way of extracting the bits of an integer like: | 09:02 | |
m: sub bits(Int $bits, Int $i where { $_ < 2**$bits }) { my @bits; for ^$bits -> $j { my $k = ( $bits - 1) - $j; @bits[$k] = ($i +& ( 1 +< $j)) ?? 1 !! 0; } @bits; }; say bits(8, 177) | 09:03 | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/THQJ2u6klLStrange text after block (missing semicolon or comma?)at /tmp/THQJ2u6klL:1------> 3ts[$k] = ($i +& ( 1 +< $j)) ?? 1 !! 0; }7⏏5 @bits; }; say bits(8, 177)» | ||
RabidGravy | m: sub bits(Int $bits, Int $i where { $_ < 2**$bits }) { my @bits; for ^$bits -> $j { my $k = ( $bits - 1) - $j; @bits[$k] = ($i +& ( 1 +< $j)) ?? 1 !! 0; }; @bits; }; say bits(8, 177) | ||
camelia | rakudo-moar 617bb4: OUTPUT«[1 0 1 1 0 0 0 1]» | ||
RabidGravy | rather | ||
09:04
domidumont left,
azawawi joined
|
|||
azawawi | hi | 09:04 | |
09:05
domidumont joined
|
|||
azawawi is working on ci.appveyor.com/project/azawawi/rakudo (i.e. Windows Rakudo CI testing) | 09:05 | ||
RabidGravy | cool | 09:06 | |
Xliff | m: given "177" { say "$_ => ", :10($_).base(2) } | 09:07 | |
camelia | rakudo-moar 617bb4: OUTPUT«177 => 10110001» | ||
09:07
Amnez777 left
|
|||
Xliff | m: say 177.base(2) | 09:07 | |
camelia | rakudo-moar 617bb4: OUTPUT«10110001» | ||
Xliff | m: say 177.base(2).split | 09:08 | |
camelia | rakudo-moar 617bb4: OUTPUT«Cannot call split(Str: ); none of these signatures match: (Cool $: Regex:D $pat, $limit = Inf;; :$all, *%_) (Cool $: Cool:D $pat, $limit = Inf;; :$all, *%_) (Str:D $: Regex:D $pat, $parts = *;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *…» | ||
Xliff | m: say split 177.base(2) | ||
camelia | rakudo-moar 617bb4: OUTPUT«Too few positionals passed; expected at least 2 arguments but got only 1 in block <unit> at /tmp/Qr2LdQmw4G line 1» | ||
Xliff | m: say split //, 177.base(2) | ||
camelia | rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/usfVYY2pjENull regex not allowedat /tmp/usfVYY2pjE:1------> 3say split //7⏏5, 177.base(2)» | ||
moritz | m: say 177.base(2).comb | ||
camelia | rakudo-moar 617bb4: OUTPUT«(1 0 1 1 0 0 0 1)» | ||
ufobat | azawawi, and the windows rakudo testing already "fixed" a bug in bailador ;) | 09:09 | |
Xliff | moritz, Or that | ||
psch | m: my @a = (sprintf "%08b", 53).comb; say @a | 09:10 | |
camelia | rakudo-moar 617bb4: OUTPUT«[0 0 1 1 0 1 0 1]» | ||
AlexDaniel | yeah ↑ | ||
psch | .base(2).comb doesn't give 0 padding, which is apparently desired | ||
moritz | m: say 53.fmt('%b') | 09:11 | |
camelia | rakudo-moar 617bb4: OUTPUT«110101» | ||
Xliff | OK. I need to get some sleep. G'night #perl6-- o7 | 09:13 | |
09:13
Xliff is now known as Xliff_ZZZzzzz
|
|||
grondilu | m: say 53.polymod(2 xx *) | 09:13 | |
camelia | rakudo-moar 617bb4: OUTPUT«(1 0 1 0 1 1)» | ||
09:14
|Tux| joined,
Amnez777 joined
|
|||
RabidGravy | yes, front padding is desired | 09:22 | |
09:27
RadioFaceIRC joined
|
|||
azawawi | any update on rakudo* 2016.04? | 09:39 | |
09:40
johndau left
09:42
nowan_ left
09:45
nowan joined
|
|||
azawawi | moritz: ping | 09:49 | |
moritz | azawawi: pong | 09:50 | |
azawawi | moritz: any feedback for ci.appveyor.com/project/azawawi/ra...uild/1.0.9 ? | ||
moritz | azawawi: what's that? | 09:51 | |
azawawi | moritz: windows appveyor ci github.com/azawawi/rakudo/blob/nom/appveyor.yml for rakudo :) | 09:52 | |
moritz | azawawi: that's nice. But why does ci.appveyor.com/project/azawawi/ra...b0vpshnj9l fail a test and still say "Build success"? | ||
azawawi | moritz: will fix :) | 09:54 | |
moritz: the problem with testing this is that you change something and you wait... | 09:56 | ||
moritz: AppVeyor is new and slow atm in the VM booting sequence | |||
10:00
ocbtec joined
10:12
Vlavv_ joined
10:20
brrt left
|
|||
gregf_ | m: say sprintf("%b",177) | 10:21 | |
camelia | rakudo-moar 617bb4: OUTPUT«10110001» | ||
gregf_ | oops, that was a while back :| | ||
RabidGravy | indeed, I was of course aware of all the options, apart from grondilu's which is cool, but went with my original as the stringifcation and split options seem even more hacky and slow than what I had | 10:24 | |
Xliff_ZZZzzzz | RabidGravy, bits() is a mouthful though. | 10:28 | |
:) | |||
Oh! I'm supposed to be sleeping still... Oops! | |||
RabidGravy | anyway the reason I want to do this is that I want to simulate a hardware device involving an ADC, a clock input and a shift register before I actually make it | 10:31 | |
or if you'd rather a "binary sample and hold" | |||
(I've actually got a bunch of sample and hold amplifier chips somewhere but don't know where I put them :) | 10:34 | ||
10:48
TEttinger left
11:06
eyck_ left,
ilogger2_ joined,
bitmap joined
11:07
colomon joined,
remmie joined
11:08
cgfbee joined,
shadowpaste joined
11:09
M-Illandan joined
|
|||
Xliff_ZZZzzzz | RabidGravy, Ooh! Device simulation? That's pretty cool. | 11:11 | |
11:12
Possum joined,
kent\n joined,
dg joined
11:16
teatime joined
|
|||
azawawi | github.com/rakudo/rakudo/pull/746 # Your feedback is appreciated | 11:16 | |
ci.appveyor.com/project/azawawi/ra...uild/1.0.1 # Current windows 7 build | 11:17 | ||
11:17
_mg_ joined
|
|||
moritz | azawawi: fwiw much of the rakudo development discussion has moved to #p6dev | 11:27 | |
anyway, azawawi++ | |||
11:31
retupmoc_ joined
11:38
kid51 joined
11:57
colomon left
12:00
avar joined
12:05
kid511 joined
12:06
kid51 left
12:11
kaare_ joined
12:17
uruwi joined
12:39
Vlavv_ joined
12:42
perlpilot_ joined
12:44
perlpilot_ is now known as perlpilot
|
|||
brrt | wow... the level of respect in these slides is staggeringly, mindbogglingly low low: www.alexstjohn.com/WP/download/Recr...Giants.pdf | 12:45 | |
moritz | I hope this is satire. It just has to be. | 12:52 | |
brrt | i'm not entirely sure... | 12:53 | |
by the same author: venturebeat.com/2016/04/16/game-dev...-attitude/ | 12:54 | ||
moritz | ok, I hope I never meet this person IRL | 12:55 | |
nine_ | Apparently I'm not a real engineer and I don't even seem to want to recruit real engineers (tm) :) So I'm just happy to ignore this mountain of arrogance. | 12:59 | |
brrt | and sexism.... and misanthropy in general | 13:00 | |
13:01
pecastro joined
|
|||
Xliff | Dear god, that is disgusting. | 13:01 | |
13:01
cdg joined
|
|||
Xliff | If I ever work as a game developer (and I doubt I have the skills for it), I will only work for myself. | 13:01 | |
nine_ | I think those just follow from the arrogance. It's the "I'm a god and I want only gods so they have to be exactly like me" fallacy. | 13:02 | |
Xliff | nine_++ | ||
brrt | yeah, that is probably true | ||
13:02
colomon joined
|
|||
brrt | ok, i'm going to do something useful, like read papers :-) | 13:02 | |
nine_ | brrt++ | 13:03 | |
13:03
pecastro left
|
|||
gregf_ | 'any CS degree has a job*' - *wonders* | 13:05 | |
Xliff | m: say "Hey there!".encode('UTF-8').list | ||
camelia | rakudo-moar 1aabef: OUTPUT«(72 101 121 32 116 104 101 114 101 33)» | ||
13:06
domidumont joined
13:07
pecastro joined
|
|||
Xliff | m: say "Hey there!".encode('UTF-8').list.WHAT | 13:08 | |
camelia | rakudo-moar 1aabef: OUTPUT«(Seq)» | ||
13:09
vendethiel joined
|
|||
Xliff | Doesn't Seq unbox to an array? | 13:09 | |
m: say "Hey there!".encode('UTF-8').elems | 13:10 | ||
camelia | rakudo-moar 1aabef: OUTPUT«10» | ||
13:10
skids joined,
araujo joined
|
|||
moritz | Xliff: Seq doesn't unbox at all, afaict | 13:10 | |
13:11
Amnez777 joined
|
|||
Xliff | m: say "Hey there!".encode('UTF-8').ords | 13:12 | |
camelia | rakudo-moar 1aabef: OUTPUT«Method 'ords' not found for invocant of class 'utf8' in block <unit> at /tmp/G2IoYLwGpv line 1» | ||
13:12
araujo left
|
|||
Xliff | m: say "Hey there!".ords | 13:12 | |
camelia | rakudo-moar 1aabef: OUTPUT«(72 101 121 32 116 104 101 114 101 33)» | ||
13:12
araujo joined
|
|||
Xliff | Where is there a breakdown of class utf8? | 13:12 | |
13:13
domidumont left
|
|||
timotimo | utf8 is an unmodifiable Buf[uint8] | 13:13 | |
yoleaux | 04:36Z <Xliff> timotimo: gist.github.com/Xliff/11acc06d8e4c...5bbfe47329 | ||
timotimo | basically | ||
Xliff | timotimo, Thanks. | 13:14 | |
timotimo, yeah. Fixed it! Boo yah! | |||
timotimo | yeah, yay | ||
Xliff | \o/ | ||
Might need help updating the docs with this info. | 13:15 | ||
Just point me in the right direction. | |||
timotimo | the info about utf8? | ||
RabidGravy | there gist.github.com/jonathanstowe/0354...44c2b2e4fe | 13:16 | |
timotimo | RabidGravy: it really unnerves me that you have the long-form for those arguments | 13:17 | |
Xliff | timotimo, no. The info about handling multi-dimensional arrays passed from C libs. | ||
timotimo | isn't it totally more readable to have :61data-one, :127-data-two? :D | ||
uh | |||
RabidGravy | no | ||
timotimo | i actually don't really know | ||
it's so much more readable that i even accidentally typo'd an extra - in there | |||
RabidGravy | infact I don't think that's readable or clear at all | 13:18 | |
Xliff | That is not more readable. That's moving in the opposite direction. | 13:19 | |
Where does Buf.list come from? I'm not seeing that in the method lists on docs.perl6.org | |||
m: say "Hey there!".encode('UTF-8').subbuf(0).WHAT | 13:20 | ||
camelia | rakudo-moar 1aabef: OUTPUT«(utf8)» | ||
Xliff | m: say "Hey there!".encode('UTF-8').subbuf(0) | 13:21 | |
camelia | rakudo-moar 1aabef: OUTPUT«utf8:0x<48 65 79 20 74 68 65 72 65 21>» | ||
sjn | \o | ||
sjn just read pmichaud++ 's post to the p6-doc list, where he says that "CORE" has a special meaning in Perl 6... | 13:22 | ||
what's he talking about? | |||
moritz | m: say CORE::.keys[^10] | ||
camelia | rakudo-moar 1aabef: OUTPUT«(SIGSEGV WhateverCode Slip &callframe Pair SIGHUP &flat &RETURN-LIST utf8 &infix:<∖>)» | ||
moritz | sjn: CORE is the pseudo namespace for built-ins that can be used without "use"ing a module | 13:23 | |
sjn | ah, a little like UNIVERSAL in Perl 5? | ||
moritz | sjn: a little, yes | 13:24 | |
sjn: but CORE is more like a named outer scope, not a package that you can use to call methods on stuff, for example | |||
13:24
uruwi left
|
|||
nine_ | More like CORE in Perl 5 ;) | 13:24 | |
nine@sunshine:~> perl -E 'CORE::say("hello")' | |||
hello | |||
Xliff | m: use NativeCall; my $a = CArray[uint8].new( "Hey there1".encode('UTF-8').list) | 13:25 | |
camelia | ( no output ) | ||
sjn | right | ||
Xliff | m: use NativeCall; my CArray[uint8] $a = CArray[uint8].new("Hey there!".encode('UTF-8').list) | 13:26 | |
camelia | ( no output ) | ||
Xliff | Huh! No warnings there. | ||
sjn | Steve Mynott (dunno his nick?) asked for a Perl 6 glossary. Is there one? | ||
Xliff | When I try that from the code I am working on, I get: "Type check failed in assignment to $chs; expected NativeCall::Types::CArray[uint8] but got NativeCall::Types::CA..." | 13:27 | |
nine_ | S99 | ||
sjn sees doc.perl6.org/language/glossary | |||
moritz | sjn: that's stmuk here | ||
sjn: and yes, both that and S99 | |||
sjn | ah, ok | ||
cool | |||
moritz | I think S99 has more content | ||
Xliff | I'm assuming that what's getting cut off is "CALL-ME" but I am not sure. How can I get the full error message? | ||
sjn | hm | ||
RabidGravy | Xliff, no it's CArray[uint].new | 13:29 | |
you have a too specific type constraint, relax it to being just CArray | |||
it's a known issue | |||
Xliff | Got it. Thanks. | ||
RabidGravy | it used to work, then stopped working in some places around November for some reason | 13:30 | |
13:30
tokomer joined
|
|||
stmuk | sjn: I meant specifically one for perl 5 terms (like "core module") to perl 6 terms | 13:32 | |
sjn | yeah, I was looking for a similar term a while back, and assumed Perl 5's notion of a "Core module" would also work here | 13:33 | |
stmuk | yes me too .. I'd never heard of "standard module") | 13:34 | |
moritz | I'm not sure I agree with pmichaud++'s nomenclature | 13:35 | |
sjn | There's definitely a need for having clear terminology about that, but as for the "standard module" suggestion, I'm less sure | ||
stmuk | I did wonder .. there is a difference betwen CORE and core | ||
13:37
uruwi joined
|
|||
sjn | and then there's Rakudo Star, and it's notion of "standard modules" | 13:37 | |
jnthn | "Compiler-bundled module" is clear I guess | ||
13:37
vendethiel left
|
|||
moritz | and quite a mouth full :-) | 13:38 | |
13:38
spider-mario joined
|
|||
jnthn | Agree fully with avoiding "core" though | 13:38 | |
stmuk | there are only currently two such modules anyway! Unless doc and panda/zef are ever added | 13:40 | |
sjn | suggestions: "default|included|kernel|predefined|kit|initial modules" | ||
"central modules" | 13:41 | ||
"main modules" | |||
pmurias | sjn: what are those names for? | ||
sjn | pmurias: alternative to "core modules" (in the Perl 5 sense of "core") | 13:42 | |
pmurias | do we have any "core modules" in Perl 6? | ||
Juerd | I like terms like 'included' and 'bundled' | 13:43 | |
moritz | pmurias: Test, NativeCall | ||
Juerd | Also, 'standard', as in 'standard library'. | ||
timotimo | "dead batteries included"? :) | ||
stmuk | :) | ||
sjn | hehe "battery modules" :) | 13:44 | |
stmuk | we incude one AA and one AAA sized battery | ||
sjn | modules that are batter-like | ||
13:49
Praise joined,
Praise left,
Praise joined
|
|||
timotimo | "An exception is Microsoft Visual C++ for x86, which makes long double a synonym for double.", oh, wow. | 13:49 | |
brrt | like all batteries, the power is related to their surface area, and their energy by their volume? | ||
timotimo | whoa, quadruple precision | 13:50 | |
13:52
mcsnolte joined
|
|||
pmurias | sjn: I'm not sure trying to impose any sort of officalness on the modules bundled with Rakudo Star is a good idea | 13:55 | |
timotimo | agreed | 13:56 | |
stmuk | probably the only "official" R* module is p6doc | 13:57 | |
13:57
abraxxa joined
|
|||
stmuk | this is all very confusing for "ousiders" BTW | 13:58 | |
^ outsiders | |||
grondilu | m: use MONKEY-SEE-NO-EVAL; EVAL 'my class Foo {}'; Foo.new | 13:59 | |
camelia | rakudo-moar 1aabef: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RS1wbbncw1Undeclared name: Foo used at line 1» | ||
pmurias | stmuk: aren't battery included distributions also done for other dynamic languages? | ||
14:00
colomon left
|
|||
MadcapJake | Anyone able to help with a NativeCall problem I'm having? This: github.com/MadcapJake/p6-MyHTML/bl...e.pm6#L103 keeps causing a seg fault and I can't figure out why. | 14:00 | |
pmurias looks | 14:01 | ||
stmuk | pmurias: no there is usually just one release with one name with a well designed standard library not multiple distributions | ||
grondilu | m: use MONKEY-SEE-NO-EVAL; EVAL 'my class Foo is export {}'; Foo.new | ||
camelia | rakudo-moar 1aabef: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QyTG5H05mnUndeclared name: Foo used at line 1» | ||
14:01
hotel joined
|
|||
grondilu | m: use MONKEY-SEE-NO-EVAL; EVAL 'class Foo is export {}'; Foo.new | 14:01 | |
camelia | rakudo-moar 1aabef: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wZ9FtF3F6OUndeclared name: Foo used at line 1» | ||
14:02
mohae joined
|
|||
hotel | what does it mean if I get `Could not load oplib `nqp_dyncall_ops'` when running perl6 p.pl6? | 14:02 | |
MadcapJake | hotel: I think you're on an old version of rakudo | 14:06 | |
hotel | hm | ||
pmurias | stmuk: there won't be a standard library for Perl 6, as having "core modules" in Perl 5 is regarded as a bad idea | ||
14:06
colomon joined
|
|||
MadcapJake | the only ref to nqp_dyncall_ops in perl6/nqp is from a parrot makefile | 14:06 | |
hotel | yeah that's what I'm seeing | ||
14:06
abraxxa left
|
|||
stmuk | pmurias: yes I know | 14:06 | |
MadcapJake | and currently the only stable distribution is rakudo on moarvm | ||
hotel | would the rakudo version in the apt repository be out of date? | ||
MadcapJake | hotel: yes :) | ||
hotel | oh | ||
welp | |||
MadcapJake | I think there's a debian unstable that's up-to-date somewhere | 14:07 | |
pmurias | stmuk: maybe the Rakudo* website could be more clear about what it is | ||
14:07
pdcawley joined
|
|||
Xliff | gist.github.com/Xliff/b079adbbb9e4...a4f5681cb8 <- Any thoughts | 14:07 | |
MadcapJake, yes. I am still up working on this. | 14:08 | ||
jnap_ | pmurias: you think there might at least be optional bundles or something. The Pythonistas I work with all tell me one of the things they love about python is the strength of the core setup | ||
Xliff | I swapped the original SEGV for an exception and thought I was making progress, but that left $!tree unset so a later BOOOM! was inevitable. | ||
jnap_ | and one thing they say they hate about Perl is you have to install a ton of stuff to get a useful install :) | ||
MadcapJake | Xliff: wow thanks! So are you having any luck? | ||
Xliff | Back to square one, unfortunately. | ||
I'm wondering if the comments in the TreeStruct definition are causing problems. | 14:09 | ||
Either that or a missing attribute. | |||
14:09
abraxxa joined
|
|||
MadcapJake | hotel: your best bet is rakudobrew or downloading Rakudo Star and using ye olde autotools | 14:09 | |
hotel | I think I tried doing the rakudobrew thing before, and then I was informed that something was on apt or something | 14:10 | |
Woodi | making distros is free for everyone who want to do it :) and maintain it few years for free :) | ||
hotel | *shrug* guess I'll redo it | ||
MadcapJake | hotel: unfortunately ubuntu packaging is like a turtle stuck in molasses | 14:11 | |
Woodi | hmm... however "making distro" can be regressed into text file with recomended modules :) | ||
hotel | ha | ||
MadcapJake | their unreleased xenial version is the most up-to-date and it's still pre christmas... | ||
hotel | well in that case I won't tell you that I'm actually using ubuntu on windows | ||
MadcapJake | launchpad.net/ubuntu/+source/rakudo | ||
hotel | oops | 14:12 | |
ufobat | ive got a question regarding the META.json. if i create 2 namespaces within one file (like a role and a class) i list both namespace with the same file, right? | ||
14:12
sue joined
|
|||
MadcapJake | Ahh well hotel, you should just use the msi package, wouldn't that work? (haven't looked at the U on W thingy yet) | 14:12 | |
ugexe | having a list of recomended modules thus far has only resulted in constant 'i cant get anythign installed because XXX fails', where XXX is something new each month | ||
hotel | I want to use shiny tools wherever possible | ||
so yes, technically I could use the msi | 14:13 | ||
but I enjoy making life difficult :) | |||
MadcapJake | hotel: I know the feeling :) | ||
Woodi | ugexe: this is point when "maintain text file" comes into play ;) | ||
ugexe | Woodi: yes, just like maintaining star | ||
which suffers from exactly this | |||
once `emulates` and `supercedes` works then things will be easier as they imply their interface only, not implementation | 14:14 | ||
MadcapJake | Xliff: it's strange because I was able to get this working in my early pre-modularized version. I think I will try to separate out all the nativecall subs and export them so I can see if at least using the bare subs still works. | ||
Xliff | kk | 14:15 | |
I've cloned your repository so if you make any progress I will re-clone and merge. | |||
Assuming I haven't figured it out by then. | |||
If I do, I will clean up and make a PR> | |||
MadcapJake | ok cool! thanks for the help! | ||
Xliff | Anytime. | ||
MadcapJake | Xliff++ | 14:16 | |
Woodi | ugexe: just Perl6 module ecosystem isn't yet "operational" :) | 14:17 | |
14:17
colomon left,
tharkun joined
|
|||
pmurias | is there a NativeCall reference somewhere? | 14:17 | |
ugexe | Its operational depending on which authors modules you use | ||
14:18
colomon joined
|
|||
stmuk | pmurias: docs.perl6.org/language/nativecall | 14:19 | |
pmurias | MadcapJake: one suspect thing is that myhtml_tree_create returns a pointer | 14:20 | |
MadcapJake | pmurias: ah as in Pointer[Tree] | 14:21 | |
pmurias | MadcapJake: you should try that | 14:22 | |
14:23
domidumont joined
|
|||
MadcapJake | I get: "An exception occurred while parameterizing Pointer" | 14:23 | |
hotel | so if I run a command like rakudobrew build moar, and it seems to work the whole way through, but right at the end there's a message saying that make failed, does that mean the whole thing is broken? | ||
14:25
uruwi left,
colomon left
|
|||
ugexe | maybe not nqp or moarvm. but rakudo itself is probably in a broken state | 14:26 | |
hotel | oh cool | ||
ugexe | if you remake it moarvm and nqp will be skipped if they built ok | 14:27 | |
14:27
skaji joined
14:28
colomon joined
|
|||
hotel | is there supposed to be a version set right after building? | 14:29 | |
ugexe | can you clarify what you mean by that? do you mean `perl -v` has output, or rakudo setting the version of moar/nqp it needs before trying to build them? | 14:30 | |
hotel | welp, looks like broken things are, in fact, broken | ||
rakudobrew build panda | |||
gives me rakudobrew: No version set. | |||
[Coke] | ... if "build moar" failed, don't expect panda to work. | 14:31 | |
hotel | well yeah | ||
[Coke] | can you show us how it failed? | ||
hotel | sure | ||
ugexe | ah, im not sure what it means from rakudobrew. my guess is it has no versions of perl6 stored in its lookup since it failed | ||
hotel | well then i run rakudobrew switch moar-nom | ||
and building panda still fails | |||
ugexe | you have to rakudobrew rehash first most likely | ||
14:32
vendethiel joined
|
|||
hotel | here's the moar build fail gist.github.com/HotelCalifornia/71...1cb6148aa0 | 14:32 | |
pmurias | MadcapJake: how do I run the code to get the segfault? | 14:33 | |
ugexe | ah im not sure how well it works from root | ||
MadcapJake | pmurias: «perl6 eg/attributes-high.pl6» | ||
hotel | u on w only runs on root lol | ||
stmuk | hotel: are you using selinux or something? "cannot enable executable stack" sounds like a security setting | 14:34 | |
hotel | it's ubuntu on windows | ||
that is a very real possibility | |||
[Coke] | You are the first person to try this, no doubt. | ||
timotimo | www.reddit.com/r/perl6/comments/4f...ot_debian/ - this also had to circumvent executable stack | 14:35 | |
hotel | i figured | ||
timotimo | so there's the flag that can set the "noexecstack" feature | ||
stmuk | I saw something similar on alpine linux | ||
14:36
sue left
|
|||
timotimo | iiuc we need execstack for dyncall or something? | 14:36 | |
hotel | where do those flags go? | ||
>primarily a windows user | |||
MadcapJake | So I had no luck with Pointer[SomeCStructClass] | 14:37 | |
timotimo | in bash you can export LDFLAGS=... before you run Configure.pl and such | 14:38 | |
at least that's what i expect | |||
hotel | thanks | ||
Xliff | MadcapJake, switching back to: sub myhtml_tree_init( | ||
TreeStruct, | |||
Native_MyHTML | |||
) is native(&lib) returns int32 {*} | |||
ugexe | fwiw install on a windows host isnt too difficult from my experience | 14:39 | |
MadcapJake | Xliff: that's what it currently looks like but really the two arguments are pointers to cstructs | ||
(for some reason, when I switch back to pointers, I'm getting a strange "Native call expected return type with CStruct representation, but got a CPointer" error, when that function has always returned an int32...) | 14:40 | ||
14:40
uruwi joined
|
|||
hotel | I know it's not difficult to install on the windows side... i just don't want to :L | 14:40 | |
timotimo | you're free to try it out :) | 14:41 | |
pmurias | MadcapJake: where are the docs for myhtml? on the github page? | 14:42 | |
hotel | and it seems the underlying problem is that nothing can find the command `perl6` | ||
MadcapJake | pmurias: github.com/lexborisov/myhtml | ||
14:42
telex joined
|
|||
timotimo | rakudobrew should have told you to put something in your $PATH, did you make sure it got in there? | 14:42 | |
like, echo $PATH or so? | |||
ugexe | its failing before finishing | 14:43 | |
hotel | the thing is in my path | ||
and in fact it's there twice | |||
wait | |||
~ is an alias for /root/? | 14:44 | ||
ilmari | ~ is expanded by the shell to the current users's home directory | ||
timotimo | ugexe: you don't know that, after fixing the noexecstack, who knows what exactly fails now | ||
Xliff | MadcapJake, Yeah. I went the Pointer[CStruct] route, but all that does is cause an exception. | ||
timotimo | sometimes, ~ in path won't get expanded | ||
ilmari | it only gets expanded at the start of a word and if followed by space or / | 14:45 | |
Xliff | I have run into this issue in another form, earlier. I just can't remember what I did to solve it. *sigh* | ||
hotel | \/root/.rakudobrew/bin:/root/perl5/perlbrew/bin:/usr/games:/root/.rakudobrew/bin <- relevant part of path | ||
14:46
domidumont left
|
|||
MadcapJake | Xliff: yeah I can't get Pointer[CStruct] to work anywhere but I'm wondering if that's because it's within the class body? | 14:47 | |
ilmari | pubs.opengroup.org/onlinepubs/96999...g_18_06_01 | 14:48 | |
hotel | oh-ho | ||
this time, it seems to be working | |||
14:49
Vlavv_ left
|
|||
hotel | jk | 14:50 | |
but now there's a different error | |||
gist.github.com/HotelCalifornia/11...9e86f8da12 | 14:51 | ||
Xliff | MadcapJake, ....cooould be. | 14:55 | |
timotimo | can you attach strace to that command? | ||
Xliff | MadcapJake, try moving it out? | 14:56 | |
MadcapJake | I'm moving all native subs to one file Raw.pm6 | ||
hotel | lol -> Cloning into 'moar--stacktrace'... | 14:57 | |
Xliff | I recompiled libmyhtml.so with debugging. | ||
Crashing here, now... | |||
0xb5309e35 in mchar_async_node_add (mchar_async=0x0) at utils/mchar_async.c:210 | |||
210 mcsync_lock(mchar_async->mcsync); | |||
I will gist the whole backtrace. One sec. | |||
hotel | forgot the -- | 14:58 | |
Xliff | gist.github.com/Xliff/edd2bd3e70c4...2a716dc25f | ||
RabidGravy | just in case you can't play along at home the output of gist.github.com/jonathanstowe/0354...44c2b2e4fe is streaming at rabidgravy.com:8000/stream :) | ||
timotimo | hotel: you may want to stop using rakudobrew and start manually fiddling around in the build directory | 14:59 | |
hotel | what would I even do? | ||
Xliff | so why is mchar_async NULL? | ||
timotimo | you cd into the folder that has rakudo in it | 15:00 | |
hotel | well yeah | ||
Xliff | MadcapJake, that is below rakudo and into libmyhtml.so | ||
timotimo | then you execute "strace -o logfile.txt ./perl6-m tools/build/... ..." | ||
RabidGravy | so now to build it in hardware | ||
Xliff | MadcapJake, FWIW this seems to work: | ||
sub myhtml_tree_init( | |||
Pointer[TreeStruct], | |||
Native_MyHTML | |||
) is native(&lib) returns int32 {*} | |||
15:01
Vlavv_ joined,
sena_kun joined
|
|||
hotel | timotimo gist.github.com/HotelCalifornia/1b...07447b97d1 | 15:02 | |
sena_kun | Is IO::Spec OS-independent and it doesn't matter which one(Unix/else) I will use? | 15:03 | |
timotimo | >:( | ||
how are you supposed to debug stuff on "ubuntu on linux" if you can't strace? | |||
hotel shrugs | |||
and it's ubuntu on windows lol | 15:04 | ||
timotimo | i suppose there's probably some alternative tool that does the same thing for UoW | ||
Xliff | MadcapJake, gist.github.com/Xliff/b079adbbb9e4...a4f5681cb8 | ||
hotel | according to apt, strace is already the newest version | ||
timotimo | drmemory.org/strace_for_windows.html - ? | 15:05 | |
hotel | ^^ | ||
Xliff | It still throws a SEGV, but that is in libmyhtml, now. Still not sure if there is something funky in the initialization, though. | ||
sena_kun | I can use methods from IO::Spec::Win32 on gentoo linux, for example, but is it really sane/normal to use any of classes then? | ||
MadcapJake | Xliff: well that's a good start! Thanks! I'll finish moving this all out and then give it another go. | 15:06 | |
RabidGravy | sena_kun, use $*SPEC | ||
Xliff | MadcapJake, kk. | 15:07 | |
sena_kun | RabidGravy, thanks. | ||
RabidGravy | it should always give you the most appropriate | ||
timotimo | hotel: my ideas end here :) | ||
hotel | well, thanks for helping | ||
timotimo | you can put lots of debug prints into the install-core-dist.pl file | 15:08 | |
and narrow down the failing piece of code a bit more | |||
stmuk | strace is an evil hax0r tool not required in the "enterprise" :) | ||
Xliff | stmuk: I ♥ strace. As long as you don't tell the CTOs it's being used, we're all fine. | 15:10 | |
hotel | well according to the error, make failed at rakudobrew line 58 | ||
Xliff | What they don't know won't hurt them. | ||
timotimo | you're looking at the wrong line there | ||
hotel | hm | ||
oh? | |||
timotimo | see, it just executes "configure + make install" in the shell | ||
hotel | oh | ||
that's /helpful/ | |||
timotimo | the --make-install flag tells configure.pl to execute "make install" when it finishes configuring stuff | 15:11 | |
you're looking at the proper error above that | |||
"failed to write string to stream: bad file descriptor" | |||
hotel | oh good point | ||
timotimo | is your hard drive 100% full perhaps? | ||
sata cable cut? | 15:12 | ||
hotel | laptop | ||
timotimo | *shrugs* | ||
15:12
luis joined
|
|||
timotimo | the problem could be *anything* | 15:12 | |
hotel | puu.sh/omTGg/bedbeeb29b.png | ||
cool puu.sh/omTLM/ae4098c20d.png | 15:14 | ||
15:14
ptolemarch joined
|
|||
timotimo | yeah, those are binary files | 15:14 | |
you can dump them to a readable format with "moar --dump foobar.moarvm" | |||
hotel | moar --dump test.moarvm | 15:15 | |
Unhandled exception: Could not map file 'test.moarvm' into memory: FIXME | |||
15:15
vendethiel left
|
|||
hotel | i don't even anymore | 15:15 | |
RabidGravy | not enough memory | 15:16 | |
hotel | hm | ||
maybe windows isn't giving bash enough memory | 15:17 | ||
jnthn | Mapbe they didn't properly implement mmap yet :D | ||
hotel | another very real possibility | ||
the annoying thing is that i could install perl5 the first try no problems | 15:18 | ||
Xliff | MadcapJake, I think I found it. My version has two MyHTML classes. | 15:19 | |
They need to be merged with MyHTML set to repr('CStruct'), not repr('CPointer') | |||
jnthn | hotel: They probably tested that. :) | 15:20 | |
hotel | yeo | ||
jnthn | Since it's probably a dependency. | ||
hotel | yep*** | ||
Xliff | MadcapJake, need a recharge though. Back in a while... | ||
hotel | more things should uses perl6 :< | ||
jnthn | (For a bunch of stuff) | ||
MadcapJake | ok | ||
jnthn | hotel: It'll happen, with time... :) | ||
hotel | i discovered this language 4 days ago and have decided that it is good. | 15:21 | |
p6: 'many frustrated'.say | 15:23 | ||
camelia | rakudo-moar 1aabef: OUTPUT«many frustrated» | ||
15:23
tokomer left
15:25
pmurias joined
|
|||
hotel | guess it's about time to get that oil change. bbl | 15:27 | |
15:27
hotel left
|
|||
timotimo | i'm not sure an oil change will make perl6 build on ubuntu-on-windows | 15:27 | |
RabidGravy | it might | 15:28 | |
timotimo | anything is possible with windows | ||
pmurias | Xliff, MadcapJake: it seems that there is a null passed as myhtml to the tree creating function | 15:29 | |
I'm figuring it out | |||
RabidGravy | I did once use coLinux for a bit, which is basically a special Linux kernel running as a windows service | ||
it actually worked reasonably well | |||
pmurias | is there an easy way to get the numeric value of a CPointer? | 15:32 | |
RabidGravy | I thought it numified like that | 15:33 | |
but I may well be wrong | |||
timotimo | isn't that the .WHERE or .WHICH of it? | 15:34 | |
probably .WHICH, not .WHERE | |||
m: use NativeCall; say Pointer[int8].new(0).WHICH | 15:35 | ||
camelia | rakudo-moar 1aabef: OUTPUT«NativeCall::Types::Pointer|63732288» | ||
timotimo | m: use NativeCall; say Pointer[int8].new(0).WHERE | ||
camelia | rakudo-moar 1aabef: OUTPUT«140365074797464» | ||
timotimo | m: use NativeCall; say Pointer[int8].new(0).Int | ||
camelia | rakudo-moar 1aabef: OUTPUT«0» | ||
timotimo | m: use NativeCall; say Pointer[int8].new(0).dereference | ||
camelia | rakudo-moar 1aabef: OUTPUT«Method 'dereference' not found for invocant of class 'NativeCall::Types::Pointer' in block <unit> at /tmp/bxIUJuy8_k line 1» | ||
timotimo | m: use NativeCall; say Pointer[int8].new(0).deref | ||
camelia | rakudo-moar 1aabef: OUTPUT«Internal error: unhandled target type in sub nativecast at sources/51E302443A2C8FF185ABC10CA1E5520EFEE885A1 (NativeCall::Types) line 5 in method deref at sources/51E302443A2C8FF185ABC10CA1E5520EFEE885A1 (NativeCall::Types) line 35 in block <uni…» | ||
timotimo | huh? | ||
i was hoping it'd segfault to verify it's "the null pointer" | |||
ilmari | timotimo: isnt' that a pointer to a uint8 with the value 0? | 15:36 | |
pmurias | MadcapJake: found the bug | ||
ilmari | s/uint/int/ | ||
pmurias | MadcapJake: the problem was that MyHTML was returned from BUILD | 15:37 | |
15:37
Actualeyes joined
|
|||
sena_kun | I really can't change a $*SPEC.path, yes? | 15:37 | |
pmurias | MadcapJake: instead of from new | 15:38 | |
timotimo | ilmari: is it, though? i don't think you get a pointer *and* a memory location to point to just by running Pointer.new | ||
MadcapJake | pmurias: oh so I shouldn't use submethod BUILD with these repr classes | 15:41 | |
15:42
leont joined
|
|||
pmurias | MadcapJake: made a pull request | 15:42 | |
MadcapJake: BUILD was being called, it's just that it's return value doesn't end up the return value of new | 15:43 | ||
jnthn | pmurias: BUILD never does that | 15:44 | |
The return value of BUILD is irrelephant. | |||
Xliff | pmurias, found it already | ||
I just haven't had a chance to get it all cleaned up. | |||
Also found why $!tree was NULL. | 15:45 | ||
And there was a parse multi that wasn't passing it to one of the myhtml_parse_* functions | 15:46 | ||
But I need to apply these to a clean clone. | |||
pmurias | jnthn: yes, the code assumed that the value of BUILD was used and as such segfaulted | 15:47 | |
15:47
ptolemarch left
|
|||
Xliff | pmurias: Ooh! That's probably cleaner than half of the stuff I did. | 15:47 | |
pmurias | docs.perl6.org/language/nativecall...d_Pointers is broken | 15:48 | |
is synopsis 21 the reference documentation for native call? | 15:49 | ||
15:50
molaf joined,
molaf left
|
|||
pmurias | CStruct is a pointer to a struct | 15:50 | |
? | |||
15:50
molaf joined
|
|||
Xliff | It's a representation type. | 15:51 | |
15:51
khw joined
|
|||
MadcapJake | oh that's why I don't need Pointer[Tree] | 15:52 | |
jnthn | pmurias: Unless embedded into another CStruct with HAS, then yes | 15:53 | |
MadcapJake | so now I'm getting a seg fault in myhtml_parse_chunk but I think I'm calculating sizes wrong | ||
jnthn: in what instance would you want to embed? if a struct in C has a field that has a type that is a struct and is not a pointer? | 15:54 | ||
jnthn | MadcapJake: yes | 15:56 | |
15:57
abraxxa left
|
|||
jnthn | struct Foo { struct Bar *baz; int lol; }; /* has Bar $.baz */ | 15:57 | |
struct Foo { struct Bar baz; int lol; }; /* HAS Bar $.baz */ | |||
15:57
_mg_ left
|
|||
pmurias | do we have the ability to call a function that returns a struct by value? | 15:58 | |
Xliff | *hisss* | ||
jnthn | No | ||
Xliff | I need go to build hub to create a PR | ||
MadcapJake, I think you aren't passing $!tree in one of those instances. | 15:59 | ||
pmurias | the docs for CStruct need fixing, had to read the tests to check what it does | ||
jnthn | That's rare, and some C compilers even whine about it "maybe not being supported widely" (though in reality it is, but I'd be surprised to see it widely used) | ||
pmurias: Please patch the docs with your improved understanding, if you've time, or file a doc issue if not :) | |||
MadcapJake | Xliff: thanks | 16:00 | |
16:00
uruwi left
|
|||
Xliff | Yeah. It's taking me a while to get things cleaned up, so I'll point things out to you as you run into them. | 16:00 | |
I really wanna get this PR done, but command-line PRs are hard. | 16:01 | ||
MadcapJake | now I'm getting a seg fault in mcsync_lock o_O | 16:02 | |
Xliff | Yes. | 16:03 | |
That's what I need to get to. | |||
sena_kun | *cough*, still can't google it. Can I add something to the $PATH or it's NYI? $*SPEC.path is strongly immutable. | ||
Xliff | MadcapJake, you need to change MyHTML to be repr('CStruct') | ||
Add in the attributes | |||
MadcapJake | It is like that already | ||
16:04
wtw joined
|
|||
pmurias | are the struct fields part of the myhtml api | 16:04 | |
? | |||
I haven't found any proper reference docs for it but it doesn't seem to declare the struct fields in it's header | 16:05 | ||
MadcapJake | pmurias: yeah they technically arent | ||
pmurias: I was able to get this working (at a basic level) just by using CPointers all around | 16:06 | ||
nine_ | m: BEGIN { EVAL "0" };0 | ||
camelia | rakudo-moar 1aabef: OUTPUT«WARNINGS for /tmp/n_J9Z7rNDg:Useless use of constant integer 0 in sink context (line 1)» | ||
Xliff | They are definitely needed. | ||
MadcapJake, are your latest fixes pushed? | 16:07 | ||
MadcapJake | now they are :D | ||
Xliff | :) | ||
Nice! | 16:09 | ||
MadcapJake++ # This is farther than I got. | |||
Looks like something got free'd before it should have. | |||
pmurias | MadcapJake: it seems like myhtml/api.h is the public api | 16:10 | |
Xliff | mcsync_lock (mcsync=0x0) | ||
mcsync is NULL | |||
MadcapJake | pmurias: yep definitely | ||
jnthn | Xliff: If I had to guess, some init function that should be called (so set the lock up) isn't being? | 16:11 | |
Xliff | jnthn, yep. My guess too. | 16:12 | |
Ahhh... nope. | 16:13 | ||
MadcapJake | wait, it's actually seg faulting inside myhtml_tree_destroy | ||
Xliff | It's created in myhtml_tree_init() | ||
Yeah. | |||
Hence my first thought that something had already been free'd when it shouldn't have been. | |||
MadcapJake | mcsync_lock segault www.irccloud.com/pastebin/n0pP23UN/ | ||
Xliff | pastebin.com/0KrRvjpF <- bt with debugging enabled for libmyhtml | 16:15 | |
16:21
uruwi joined
16:31
ptolemarch joined
|
|||
sena_kun | Oh, %*ENV<PATH> ~= is working as I need. Great. | 16:36 | |
dalek | c: 46f8d06 | (Jan-Olof Hendig)++ | doc/Type/Dateish.pod: Fixed typo in example for method week |
16:38 | |
16:39
leont left
|
|||
MadcapJake | Xliff: I tried giving MCSync a CStruct repr but it didn't make an impact | 16:46 | |
figured it out | 16:48 | ||
16:49
sena_kun left,
uruwi left
|
|||
ufobat | oups, executing zef failed on appveyor ci.appveyor.com/project/ufobat/bai...ild/1.0.12 | 16:51 | |
ugexe | that error seems to happen randomly on app veyor :( | 16:53 | |
there is a rebuild button somewhere towards the top to rerun it | 16:54 | ||
ive never been able to reproduce it on my local windows dev machine though | |||
ufobat | aye, this was the rerun ;-) | 16:55 | |
thanks for the hint, i'll push the button once gain :) | |||
www.youtube.com/watch?v=oJDGcxAf9D8 | |||
sorry for the link :D | |||
16:56
Vlavv_ left
16:58
Vlavv_ joined
|
|||
dogbert2 | hi, is anyone interested in reviewing a feeble attempt to document the 'samecase' method? | 17:00 | |
[Coke] | dogbert2: suer | ||
*sure | |||
dogbert2 | gist.github.com/dogbert17/669dbab6...51a17428e8 | 17:01 | |
hopefully it's not all BS | |||
17:01
uruwi joined
|
|||
[Coke] | style note: I would change "copied" on line 16 to "applied", and would insert "copy of $" at the front of line 14. | 17:03 | |
dogbert2 | cool, will fix | ||
[Coke] | I would also maybe clarify what you mean "according to pattern" | 17:04 | |
17:04
_mg_ joined
|
|||
[Coke] | I would guess it's capital vs. not capital, but then you have underscores in your sample (and perhaps an off by one where the "a" in the first pattern is?) | 17:04 | |
17:05
vendethiel joined
17:06
ZoffixW joined
|
|||
dogbert2 | I went for underscores hoping they would be easier than spaces but maybe I should use something entirely different | 17:07 | |
ZoffixW | m: class Foo of Int {}; say Foo.new | 17:08 | |
camelia | rakudo-moar 1aabef: OUTPUT«5===SORRY!5=== Error while compiling /tmp/O6P5Th2DXAMethod 'set_of' not found for invocant of class 'Perl6::Metamodel::ClassHOW'at /tmp/O6P5Th2DXA:1» | ||
ZoffixW | Does anyone know of an example of using `of`? I see it as a trait in the source | ||
MadcapJake | ZoffixW: subset uses 'of' | ||
psch | m: my Array of Hash $x; say $x.WHAT | ||
camelia | rakudo-moar 1aabef: OUTPUT«(Array[Hash])» | ||
ZoffixW | Ah, right. Thanks! | 17:09 | |
timotimo | greetings dogbert2 | ||
are you the same dogbert as dogbert17? | |||
dogbert2 | yes | ||
I should get my nicks in order I suppose | |||
17:11
leont joined
|
|||
dogbert2 | [Coke]: do you think I should use something better than underscores in the second example? | 17:11 | |
17:14
RabidGravy joined
|
|||
dogbert2 | [Coke]: and yes, there was an off by one error in the example, fixed now | 17:14 | |
Xliff | MadcapJake, what was the problem with the latest SEGV? | 17:15 | |
MadcapJake | Xliff: I was freeing MyHTML before Tree | 17:16 | |
Xliff | Yep! That would do it! | 17:17 | |
Any more pesky SEGVs? | 17:18 | ||
17:20
Actualeyes left
|
|||
ufobat | ugexe, fyi. it happened again | 17:26 | |
ugexe | i think it stopped happening (or at least happens less) with a more recent build of rakudo. i think it was the memory fixes jnthn did a couple of weeks ago | 17:30 | |
i dunno if those are in 2016.03 or not | |||
17:32
Juerd joined
17:35
ZoffixW left
|
|||
MadcapJake | Xliff: so far that's been the last one! But I just caused a circular dependency and had to restart xD | 17:35 | |
17:35
smls joined,
Actualeyes joined
|
|||
Xliff | MadcapJake, D'oh! I think I ran into that, too. | 17:36 | |
MadcapJake | I think I'm gonna merge in my separation of native subs work as the repr classes really are limiting how much I can sugar the interface up for users | ||
Xliff | Happened last night. rakudo spawned like 30 threads and just sat there. | ||
MadcapJake | Xliff: yep, if you quickly get to a terminal and type `killall moar` you will survive but often times it's already too late :P | 17:37 | |
Xliff | Well, fortunately it's a VM so I can leave it until it uses up all of the resources and dies out. | ||
MadcapJake really hopes that gets fixed soon because I'd hate to have some new users run into it. | 17:38 | ||
smls | m: given [a => 2] Z 3 -> [$pair, $number] { } | ||
camelia | rakudo-moar 1aabef: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub-signature in block <unit> at /tmp/AgbkGnwiPY line 1» | ||
smls | ^^ What's going on here? | ||
MadcapJake | Xliff: mine makes my desktop completely unusable | ||
Xliff | MadcapJake, :( | ||
MadcapJake | The only thing that doesn't freeze is the mouse cursor :D | ||
Xliff | You are running on bare metal though, right? | 17:39 | |
Well... not in a VM | |||
MadcapJake | yep | ||
Xliff | Yeah. I would have been toast last night had I been running on the host. | ||
So gotta be careful with those "use" statements! LOL!@ | |||
17:40
ZoffixW joined
|
|||
MadcapJake | Yep! I plan on adding a rule to P6DX that checks for circular dependencies | 17:40 | |
ZoffixW | m: my %h = foo => 'bar'; sub lookup ($key) is rw { return %h{$key}; }; lookup('foo') = 'meow'; say %h; | ||
camelia | rakudo-moar 1aabef: OUTPUT«Cannot assign to a readonly variable or a value in block <unit> at /tmp/YFD2tJbYRb line 1» | ||
ZoffixW | m: my %h = foo => 'bar'; sub lookup ($key) is rw { %h{$key}; }; lookup('foo') = 'meow'; say %h; | ||
camelia | rakudo-moar 1aabef: OUTPUT«{foo => meow}» | ||
Xliff | P6DX? | ||
ZoffixW | This feels like a bug, dunnit? | ||
Xliff | ZoffixW, auto-viv? | 17:41 | |
ZoffixW | Xliff, I'm not following... | ||
MadcapJake | Xliff: it's a Perl 6 parser that builds autocompletions and (will soon) check linter-style rules | ||
Xliff | OOO! | ||
lval! | |||
You're returning the reference to the key and assigning the value. | 17:42 | ||
ZoffixW | The only difference between the two is the explicit use of `return` in the failing example. | ||
Xliff | Huh. | ||
MadcapJake, nice! | |||
ZoffixW, that does look like a bug, then. | |||
I would expect the same behavior from both versions. | 17:43 | ||
MadcapJake | yeah, it's a CLI so that any editor can plug into it. So I will be writing up some atom, gedit, Gnome Builder and Sublime Text plugins that use it (if anyone wants to tackle Vim or help me with that, it'd be appreciated) | 17:44 | |
smls | Xliff: Use return-rw | ||
ZoffixW | smls, thanks | 17:45 | |
smls | m: f [:a(2), 3]; sub f (*@_, *%_) { dd @_; dd %_ } | 17:46 | |
camelia | rakudo-moar 1aabef: OUTPUT«[:a(2), 3]{}» | ||
smls | m: f [:a(2), 3]; sub f ([*@_, *%_]) { dd @_; dd %_ } | ||
camelia | rakudo-moar 1aabef: OUTPUT«[3]{:a(2)}» | ||
smls | ^^ Why does a subsignature promote positional pair arguments to named arguments? | 17:47 | |
Is that a bug? | |||
MadcapJake | smls: because you're destructuring a list, maybe? | 17:49 | |
smls | yeah but the list has two elements, the first of which is a Pair object | 17:50 | |
MadcapJake | but the destructuring you do happens inside a list in the signature | ||
in the first case, the list is gobbled up by *@_ and leaves nothing for *%_ | |||
in the second case, you place the *%_ inside the list destructurer | 17:51 | ||
smls | Ok, then let me rephrase: Why does list destructuring promote Pair elements to named arguments? | 17:52 | |
In my use-case this was a rather big WAT | 17:53 | ||
MadcapJake | it's not promoting to a named argument, it's slurping pairs into a hash | ||
smls | I want to slurp them into an array though... :) | ||
just like any other element of the list | 17:54 | ||
17:55
perlnewbie joined
|
|||
MadcapJake | m: f [:a(2), 3]; sub f (*@_) { dd @_; } | 17:55 | |
camelia | rakudo-moar 1aabef: OUTPUT«[:a(2), 3]» | ||
perlnewbie | Hello: Need Opinions. | ||
smls | m: f [:a(2), 3]; sub f ([*@_]) { dd @_; } | ||
camelia | rakudo-moar 1aabef: OUTPUT«Unexpected named argument 'a' passed in sub-signature in sub f at /tmp/iLVG7Le7bZ line 1 in block <unit> at /tmp/iLVG7Le7bZ line 1» | ||
MadcapJake | yeah that last one seems weird | 17:56 | |
smls | MadcapJake: Not any more than the [*@_, *%_] case IMO. the presence of a second parameter never affects what goes into the first parameters. | 17:57 | |
17:58
sortiz joined
|
|||
perlnewbie | I am thinking of doing a lot of text processing. finding repeating sentences finding misspellings etc. . Would Perl 6 Grammars give me much of an advantage over python or other REGEX implementations? | 17:58 | |
MadcapJake | smls: doc.perl6.org/language/list#Argumen...29_Context | ||
perlnewbie: most definitely it would | |||
sortiz | \o #perl6 | ||
perlnewbie | Can you think of an example if its not too much trouble? | ||
smls | MadcapJake: But the list is not defined in argument list context. | 17:59 | |
m: my $a = [:a(2), 3]; f $a; sub f ([*@_]) { dd @_; } | |||
camelia | rakudo-moar 1aabef: OUTPUT«Unexpected named argument 'a' passed in sub-signature in sub f at /tmp/a0zXQHMJtc line 1 in block <unit> at /tmp/a0zXQHMJtc line 1» | ||
MadcapJake | smls: it's converted to capture upon being used as an argument | ||
sortiz | my %h = foo => 'bar'; sub lookup ($key) is rw { return-rw %h{$key}; }; lookup('foo') = 'meow'; say %h; # ZoffixW, an explicit return should be 'return-rw' | 18:00 | |
ZoffixW | sortiz, thanks. | ||
sortiz | m: my %h = foo => 'bar'; sub lookup ($key) is rw { return-rw %h{$key}; }; lookup('foo') = 'meow'; say %h; | ||
camelia | rakudo-moar 1aabef: OUTPUT«{foo => meow}» | ||
ZoffixW | Kinda sucks `is rw` alone is not enough, since it's not needed at all when you use `return-rw` | 18:01 | |
MadcapJake | perlnewbie: grammars provide a really strong organizational structure to any parsing you're doing. Just check out some of the parsers at examples.perl6.org | ||
psch | m: my %h = foo => 'bar'; sub lookup ($key) is rw { %h{$key}; }; lookup('foo') = 'meow'; say %h; | ||
camelia | rakudo-moar 1aabef: OUTPUT«{foo => meow}» | ||
MadcapJake | perlnewbie: also perl 6 has a new and improved regex engine that has lots of features that PCRE's don't | ||
psch | ZoffixW: why is 'is rw' alone not enough? | 18:02 | |
perlnewbie | Thank you so much for your time | ||
ZoffixW | psch, well, it's not enough when you use explicit `return`. So it's a narrow usecase where you just want the last operation to be rw. If you want to be explicit or to return in the middle of the sub, you need to return-rw. So may as well just use return-rw and not bother with `is rw`. I'd expect `return` to be a `return-rw` if the `is rw` trait applied on the sub. Seems more useful and consistent. | 18:04 | |
wamba | m: {{ say $_,$OUTER::_,$OUTER::OUTER::_ if 1 given 3 } given 2 } given 1 | 18:05 | |
camelia | rakudo-moar 1aabef: OUTPUT«321» | ||
wamba | m: say $_,$OUTER::_ given 2 given 1 | 18:06 | |
camelia | rakudo-moar 1aabef: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E05HQOkcl_Missing semicolonat /tmp/E05HQOkcl_:1------> 3say $_,$OUTER::_ given 2 given 7⏏051» | ||
smls | MadcapJake: So the behavior is intended? (A [ ] sub-signature for a Positional arg doing a List->Capture conversion that promotes Pair elements to the Hash-like part of the Capture)? | ||
psch | ZoffixW: i can't think of a case where an explicit return can't be turned into an implicit return | ||
ZoffixW: i do agree though that having return mean return-rw for any 'is rw' sub would be more convenient | 18:07 | ||
smls | MadcapJake: That kind of means that when you put Pair objects in datastructures, you enter a minefield... :( | 18:08 | |
MadcapJake | smls: just use | | ||
m: my $a = [:a(2), 3]; f |$a; sub f (*@_) { dd @_; } | |||
camelia | rakudo-moar 1aabef: OUTPUT«[:a(2), 3]» | ||
smls | m: my $a = [:a(2), 3]; f [|$a]; sub f ([*@_]) { dd @_; } | ||
camelia | rakudo-moar 1aabef: OUTPUT«Unexpected named argument 'a' passed in sub-signature in sub f at /tmp/0GskrMODZI line 1 in block <unit> at /tmp/0GskrMODZI line 1» | ||
smls | Still doesn't help with sub-signatures | 18:09 | |
18:09
perlnewbie left
|
|||
psch | m: my $a = [:a(2), 3]; f [|[$a]]; sub f ([*@_]) { dd @_; } | 18:09 | |
camelia | rakudo-moar 1aabef: OUTPUT«[[:a(2), 3],]» | ||
psch | ...probably not helpful :/ | 18:10 | |
smls | MadcapJake: In my usecase, I'm trying to loop over a list where each element looks like ($string, [$pair, $string]) | ||
And would have liked to unpack those right in the loop signature | |||
that's why the example I showed used a sub-signature | 18:11 | ||
18:11
abraxxa joined,
abraxxa left
18:15
_mg_ left
|
|||
smls | I guess we have to treat pairs like junctions: Only use them as transient objects *within* a self-contained piece of code (e.g. to construct hashes), and don't pass them across routine boundaries to other code that expects "normal" objects... :( | 18:16 | |
ZoffixW | Created a ticket with the suggestion for `is rw` to have `return` => `return-rw`: rt.perl.org/Ticket/Display.html?id=127924 | ||
smls, I think they work fine, when you specify that you're expecting a Pair: github.com/rakudo/rakudo/pull/743/...3bf1c3R292 | 18:17 | ||
MadcapJake | m: sub foo([Str $s1, [Pair $p, Str $s2]]) { dd $s1; dd $p; dd $s2 }; foo(['hello', [:a, 'world']]) | 18:18 | |
camelia | rakudo-moar 1aabef: OUTPUT«cannot stringify this in sub foo at /tmp/XqMrcSj4jf line 1 in block <unit> at /tmp/XqMrcSj4jf line 1» | ||
MadcapJake | what does cannot stringify this mean? | 18:19 | |
psch | MadcapJake: you're getting something that doesn't have a .Str method | ||
or .gist or anything really | |||
smls | ZoffixW: I don't follow. What should I be looking for in that link? | ||
psch | m: sub foo([Str $s1, [Pair $p, Str $s2]]) { say $s1.^name; dd $p.^name; dd $s2.^name }; foo(['hello', [:a, 'world']]) | 18:20 | |
camelia | rakudo-moar 1aabef: OUTPUT«cannot stringify this in sub foo at /tmp/G5noGGfNdk line 1 in block <unit> at /tmp/G5noGGfNdk line 1» | ||
MadcapJake | psch: what? the two strings and a pair have Str/gist methods | ||
ZoffixW | smls, sorry, the very top line that uses Pair in the signature. I believe MadcapJake is showing an example above | ||
psch | MadcapJake: that's the thing, they aren't Str or Pair objects | ||
MadcapJake: note that the HOW can't even stringify itself | |||
MadcapJake | what are they then? | 18:21 | |
18:21
cdg left
|
|||
MadcapJake | how do I print the raw signature? | 18:21 | |
of the arguments given, not the excepted parameters | |||
s/excepted/expected/ | |||
psch | what does that mean? | ||
ZoffixW | m: sub foo([Str $s1, [Pair $p, Str $s2]]) { say $s1.^name; say $p.^name; say $s2.^name }; say &foo.signature | ||
camelia | rakudo-moar 1aabef: OUTPUT«(@ (Str $s1, @ (Pair $p, Str $s2)))» | ||
smls | ZoffixW: That doesn't use a subsignature though. Passing a Pair directly in a signature works fine. Only the destructuring that happens in (among other places) sub-signatures is affected. | ||
MadcapJake | psch: as in, JavaScript-style arguments | 18:22 | |
sortiz | ZoffixW, The source suggest that 'return' explicitly remove any 'is rw', see: github.com/rakudo/rakudo/blob/nom/...pm#L33-L42 the details escape me. | ||
18:23
domidumont joined
|
|||
psch | MadcapJake: okay. what does that mean? | 18:23 | |
i don't really know javascript | |||
MadcapJake | like, say I want to see how data is being provided to my routine, how would I look at the given arguments altogether? | ||
18:23
dha joined
|
|||
[Coke] | dogbert2: underscores are fine, but I'd document why they don't do anything. | 18:23 | |
ZoffixW | m: sub foo(|c) { say c }; foo(['hello', [:42x, 'world']]) | 18:24 | |
camelia | rakudo-moar 1aabef: OUTPUT«\(["hello", [:x(42), "world"]])» | ||
ZoffixW | MadcapJake, that ^? | ||
psch | oh | ||
ZoffixW | MadcapJake, it seems like a bug. If you replace the pair with something else, the weird error disappears | ||
MadcapJake | yeah that, wish it didn't need to be a separate param list though | ||
psch | yeah, probably. we only have "all arguments as passed" if you put the capture explicitly | ||
m: sub foo(|c [Str $s1, [Pair $p, Str $s2]]) { dd c }; foo(['hello', [:a, 'world']]) | 18:25 | ||
camelia | rakudo-moar 1aabef: OUTPUT«cannot stringify this in sub foo at /tmp/6BUkZ62SRK line 1 in block <unit> at /tmp/6BUkZ62SRK line 1» | ||
18:25
Actualeyes left
|
|||
psch | does help anyway :P | 18:25 | |
but yeah, i'm pretty sure that's a bug | |||
m: sub f(*@ [Str $a]) { say $a }; f "foo" | |||
camelia | rakudo-moar 1aabef: OUTPUT«foo» | ||
psch | m: sub f(*@ [[Str $a]]) { say $a }; f ["foo"] | 18:26 | |
camelia | rakudo-moar 1aabef: OUTPUT«cannot stringify this in sub f at /tmp/C71poan59v line 1 in block <unit> at /tmp/C71poan59v line 1» | ||
MadcapJake | yeah I think that [Str, [Pair, Str]] should really work | ||
psch | well, i'm not completely confident that nested destructuring is a thing we do | ||
...or rather, want to do | |||
'cause we clearly don't do it currently... :) | |||
smls | m: f "foo", [:a(2), "bar"]; sub f ($a, |c (*@_, *%_)) { dd @_; dd %_ } | ||
camelia | rakudo-moar 1aabef: OUTPUT«[:a(2), "bar"]{}» | ||
smls | Huh, so using |c (...) instead of [...] for the subsignature, doesn't suffer from the issue | 18:27 | |
18:27
dha left
|
|||
psch | m: f "foo", [:a(2), "bar"]; sub f (|c ($a, @ ($p, $s))) { say "$a $p $s" } | 18:28 | |
camelia | rakudo-moar 1aabef: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub-signature in sub-signature of parameter c in sub f at /tmp/dH5_KR5H_K line 1 in block <unit> at /tmp/dH5_KR5H_K line 1» | ||
ugexe | m: sub foo(Int $a, $b) { say &?ROUTINE.signature }; foo(1, 2) | ||
camelia | rakudo-moar 1aabef: OUTPUT«(Int $a, $b)» | ||
ZoffixW | m: sub foo([Str $s1, [Str $p, Str $s2]]) { say $s1, $p, $s2 }; foo(['hello', ['x', 'world']]) | ||
camelia | rakudo-moar 1aabef: OUTPUT«helloxworld» | ||
dogbert2 | [Coke]: I have updated the text although it's far from certain that it has improved :), take a look if you have the time | 18:29 | |
ZoffixW | This is weird: | ||
m: sub foo([Str $s1, [Str $p, Str $s2]]) { say $s1, $p, $s2 }; foo([424242, ['x', 'world']]) | |||
camelia | rakudo-moar 1aabef: OUTPUT«cannot stringify this in sub foo at /tmp/V1Y4E9bDPC line 1 in block <unit> at /tmp/V1Y4E9bDPC line 1» | ||
ZoffixW | That's the first arg being an Int instead of the Str, but error message doesn't talk about typecheck | ||
psch | i'd guess it's that the destruct throws a BOOTException or VMException | 18:30 | |
eh, probably not, those still .WHAT correctly | |||
well, BOOTException at least does iirc | |||
ZoffixW | Ah... and I'm guessing the Pair gets interpreted as a named arg, so the Pair positional fails typecheck and that's why you get the stringify error instead of the typecheck | ||
psch | yeah, the binding into the the subsignature fails and doesn't get turned into a proper Exception | 18:31 | |
at least that's what it seems like from here, i haven't looked at destructuring or subsignature binding | |||
18:31
ZoffixW left
18:32
dha joined
|
|||
MadcapJake | m: subset PairPair of Pair where {$_.key ~~ Pair}; sub foo(Str $s, PairPair $p) { dd $s; dd $p.key; dd $p.value }; foo(|['hello', :3a => 'world']) # smls | 18:37 | |
camelia | rakudo-moar 1aabef: OUTPUT«"hello":a(3)"world"» | ||
MadcapJake | that could be a way, instead of layering lists, store the inner list as a pair with the key being a pair, that way there's only one layer of sub-signature and your data is properly represented. | 18:40 | |
18:41
hankache joined
|
|||
hankache | hello #perl6 | 18:41 | |
is "rakudobrew build jvm" working ? | |||
fml i don't have jdk installed just jre! | 18:43 | ||
lol | |||
awwaiid | hankache: I think it is expected to kinda-work sorta. I'm building jvm in nom now, coincidentally | 18:44 | |
hankache | awwaiid i just noticed i don't have jdk installed, i am installing it and will try again | 18:45 | |
mst | 0 | 18:46 | |
18:46
dha left
18:47
dha joined
18:54
FROGGS joined
18:55
Ven joined
18:56
Ven left
19:02
jjido joined
|
|||
[Coke] | dogbert2: line 17: s/in $string/in the result/ | 19:04 | |
line 22; line up the #'s - looks good! | |||
last time I tried (last release) It would build but not install | |||
(jvm) | 19:05 | ||
dogbert2 | [Coke]: fixed, many thanks, if no one else objects I'll throw it in :) | 19:06 | |
19:09
kurahaupo joined
|
|||
hankache | "rakudobrew build jvm" is taking forever | 19:15 | |
leont | Yeah, quite | ||
[Coke] | dogbert2: thank YOU! | 19:17 | |
psch | hankache: you might be better off canceling and restarting. i just merged a PR that fixes the "builds but doesn't install" [Coke] mentioned above | 19:18 | |
[Coke] | on nom or jvminterop? | 19:19 | |
psch | nom, bartolin++'s PR with the NPE in sort | ||
hankache | "rakudobrew build jvm" builds nom no? | 19:20 | |
19:20
vendethiel left
|
|||
psch | the jvminterop branch is kinda stuck at the moment. i'm having trouble thinking my way back into all the stuff that has to be fixed there... :/ | 19:20 | |
19:24
firstdayonthejob joined
19:25
vendethiel joined
|
|||
hankache | psch rebuilding now | 19:28 | |
what is the status of rakudo-js? | 19:29 | ||
psch now i have a new error: Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Pod.nqp' | 19:39 | ||
psch | hankache: you need to git clean -xdf the clone you're building from | ||
rakudobrew apparently doesn't do that | |||
19:42
domidumont left
|
|||
hankache | psch where is the clone? /home/.rakudobrew ? | 19:43 | |
psch | hankache: i don't use rakudobrew at all, but that sounds like a spot it could be, yeah | ||
dalek | c: f3e8184 | (Jan-Olof Hendig)++ | doc/Type/Cool.pod: Added documentation for samecase. [Coke]++ for reviewing. |
||
19:48
hankache left
19:52
travis-ci joined
|
|||
travis-ci | Doc build errored. Jan-Olof Hendig 'Added documentation for samecase. [Coke]++ for reviewing.' | 19:52 | |
travis-ci.org/perl6/doc/builds/124003334 github.com/perl6/doc/compare/46f8d...e8184f6cd6 | |||
19:52
travis-ci left
|
|||
dogbert2 | Hmm, 'The command "panda installdeps ." failed and exited with 1 during .' | 19:53 | |
dha | I want there to be a Command Panda now. | 19:54 | |
dogbert2 | find it difficult to believe that changes to a pod file led to this, must be something else going on | 19:56 | |
leont | It seems my harness died with a SIGABORT (should have enabled coredump…) while doing a spectest :-/ | ||
mst | leont: trout.me.uk/foom.jpg | 20:05 | |
20:09
cdg joined
20:13
kurahaupo left
20:15
kaare_ left
20:21
jjido left,
dolmen joined
|
|||
moritz | masak: today's autopun: If I had to describe myself in one word, it would be "bad at following directions". | 20:23 | |
:-) | |||
teatime | heh, that took me a moment | 20:24 | |
El_Che | :) | 20:26 | |
20:26
silug joined
|
|||
dha | moritz++ | 20:27 | |
20:36
dha left
|
|||
masak | moritz: ;) | 20:39 | |
20:40
dha joined
|
|||
colomon | moritz++ | 20:45 | |
20:47
perl6newbie joined
|
|||
perl6newbie | Camilia: if 'properly' ~~ m/ perl / { say "'properly' contains 'perl'"; } | 20:48 | |
camillia: help | |||
msg camilia: if 'properly' ~~ m/ perl / { say "'properly' contains 'perl'"; } | |||
msg camelia | 20:49 | ||
'p6 say 4;' | |||
masak | m: say "hi, perl6newbie" | ||
camelia | rakudo-moar bd4400: OUTPUT«hi, perl6newbie» | ||
geekosaur | /msg camelia m: if ... | 20:50 | |
masak | perl6newbie: if you want to try out camelia in private, you can privmsg her with `/msg camelia m: say "hi"` | ||
perl6newbie | m: say "hi Perl6newbie" | ||
camelia | rakudo-moar bd4400: OUTPUT«hi Perl6newbie» | ||
perl6newbie | thanks | ||
m: say "if 'properly' ~~ m/ perl / { say "'properly' contains 'perl'"; }" | |||
camelia | rakudo-moar bd4400: OUTPUT«'properly' contains 'perl'if 'properly' ~~ m/ perl / True» | ||
geekosaur | ("m:" being short for "rakudo-moar:" specifying the backend(s) to use) | ||
perl6newbie | got it | ||
`/msg camelia m: say "hi"` | 20:51 | ||
masak | m: if 'properly' ~~ m/ perl / { say "'properly' contains 'perl'"; } | ||
camelia | rakudo-moar bd4400: OUTPUT«'properly' contains 'perl'» | ||
masak | perl6newbie: without the `` | ||
20:52
perl6newbie left
20:53
perl6newbie joined
20:56
lizmat joined
21:00
skids left
|
|||
perl6newbie | I installed rakudo star whats the equivilent of camelia m: (eg have it spit out the answear) | 21:00 | |
21:01
_mg_ joined
|
|||
[Coke] | perl6 -e "say 'do the thing'" | 21:02 | |
or, type perl6 and hit enter, and you get a REPL | |||
perl6newbie | Thanks | 21:03 | |
I realy like the this if 'abcdef' ~~ / de / { say ~$/; # de say $/.prematch; # abc say $/.postmatch; # f say $/.from; # 3 say $/.to; # 5 }; | 21:04 | ||
the post match prematch stuff is neat | |||
do you know if it is faster slower or about tye same as a lookaround asertion or if it is just a shortcut to one? | 21:05 | ||
teatime | hrm, I don't see how it does the same thing? | 21:06 | |
perl6newbie: p.s. panda install Readline to make the REPL better | 21:07 | ||
or, wait, star probably already does that | |||
21:07
jjido joined
|
|||
perl6newbie | :m teatime thank you | 21:08 | |
21:11
FROGGS left
|
|||
dha | teatime: I had some issue installing Readline recently, and I don't think it was in Task::Star. Has that changed, or did you mean to refer to Linenoise? | 21:11 | |
teatime | no, I was talking about Readline. I had some issue too, but I don't recall what it was. | ||
dha | Ah, ok. Maybe I should try again. | 21:13 | |
21:16
skink joined
|
|||
skink | o/ | 21:17 | |
smls | m: my $string = "aaaaa bb cccccccccc ddd eee ff"; my $width = 10; say $string.match(/. ** {1..$width} <|w> )> \s*/, :g).join("\n") | 21:21 | |
camelia | rakudo-moar bd4400: OUTPUT«aaaaa bb ccccccccccddd eee ff» | ||
smls | ^^ kinda neat way to wrap a string to a fixed column width | ||
(Not bullet-proof, but could be extended.) | 21:22 | ||
perl6newbie | is the / <[ a .. c 1 2 3 ]> / syntax for creating your own character class new in perl 6 | 21:26 | |
smls | perl6newbie: yes | 21:27 | |
perl6newbie | so cool | ||
m: camelia: say '"in quotes"' ~~ / '"' <-[ " ]> * '"'/; | 21:28 | ||
camelia | rakudo-moar bd4400: OUTPUT«「"in quotes"」» | ||
perl6newbie | m: camelia: say "this is not '"in quotes"' ~~ / '"' <-[ " ]> * '"'/; | ||
camelia | rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qQ98oqv3K8Two terms in a rowat /tmp/qQ98oqv3K8:1------> 3camelia: say "this is not '"7⏏5in quotes"' ~~ / '"' <-[ " ]> * '"'/; expecting any of: infix infix stopper …» | ||
teatime | the same thing in perl5 looks like /"[^"]*"/ | ||
perl6newbie | m: camelia: say 'this is not' "in quotes"' ~~ / '"' <-[ " ]> * '"'/; | 21:29 | |
camelia | rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3bULmZm_3tTwo terms in a rowat /tmp/3bULmZm_3t:1------> 3camelia: say 'this is not'7⏏5 "in quotes"' ~~ / '"' <-[ " ]> * '"'/; expecting any of: infix infix stopper …» | ||
perl6newbie | m: camelia: say 'this is not "in quotes"' ~~ / '"' <-[ " ]> * '"'/; | ||
camelia | rakudo-moar bd4400: OUTPUT«「"in quotes"」» | ||
perl6newbie | m: camelia: say 'this is not in quotes "this is in quotes"' ~~ / '"' <-[ " ]> * '"'/; | ||
camelia | rakudo-moar bd4400: OUTPUT«「"this is in quotes"」» | ||
21:30
khw left
21:31
khw joined
|
|||
pmurias | .tell hankache I'm working on fixing bugs that prevent rakudo-js from compiling the setting | 21:31 | |
yoleaux | pmurias: I'll pass your message to hankache. | ||
21:32
khw left
21:33
vendethiel left,
_mg_ left,
_mg__ joined,
ptolemarch left
21:36
TEttinger joined,
dha left
21:38
dha joined
21:39
dha left
|
|||
dalek | c: c92cf2c | (Zoffix Znet)++ | doc/ (2 files): Mention/index return-rw Closes #453 |
21:41 | |
21:42
snarkyboojum joined,
snarkyboojum left
|
|||
perl6newbie | Hey why would you write say so 'aaaa' ~~ /a ** 1^..^6/; instead of say so 'aaaa' ~~ /a ** 2..5/; Isn't the same thing? | 21:47 | |
ZoffixWin | Yup | ||
More than on way to do it :) | 21:48 | ||
perl6newbie | if im reading this right say so 'aaaa' ~~ /a ~~ 1^..*/ means any number of a exept a single a | 21:49 | |
i can see where the negation is helpfull there | 21:50 | ||
ZoffixWin | If I'm being picky: "any number above 1" (since your explanation includes zero) | ||
perl6newbie | true | 21:51 | |
grondilu | or aa+ | ||
m: say 'aaa' ~~ /a a+/ | |||
camelia | rakudo-moar bd4400: OUTPUT«Potential difficulties: Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing) at /tmp/yut9mDM3ij:1 ------> 3say 'aaa' ~~ /a7⏏5 a+/…» | ||
grondilu | m: say 'aaa' ~~ /aa+/ | ||
camelia | rakudo-moar bd4400: OUTPUT«「aaa」» | ||
grondilu | m: say 'a' ~~ /aa+/ | ||
camelia | rakudo-moar bd4400: OUTPUT«Nil» | ||
21:52
wamba joined
|
|||
grondilu | I'm surprised about the warning about spaces. I thought I could put spaces as much as I want. | 21:53 | |
maybe not between litteral characters I suppose. | |||
Juerd | The warning is wrong too. The space *is* significant: it triggers a warning. | 21:54 | |
21:55
geraud joined
|
|||
perl6newbie | m: camelia: say 'aa,a' ~~ / a+ % ','/ | 21:55 | |
camelia | rakudo-moar bd4400: OUTPUT«「a」» | ||
perl6newbie | m: camelia: say 'aa,a' ~~ / a+ %% ','/ | 21:56 | |
camelia | rakudo-moar bd4400: OUTPUT«「a」» | ||
perl6newbie | m: camelia: say 'a,a' ~~ / a+ %% ','/ | ||
camelia | rakudo-moar bd4400: OUTPUT«「a,a」» | ||
perl6newbie | m: camelia: say 'a,a' ~~ / a+ % ','/ | ||
camelia | rakudo-moar bd4400: OUTPUT«「a,a」» | ||
lizmat | and another P6W hits the Net: p6weekly.wordpress.com/2016/04/18/...om-dublin/ | 21:58 | |
yoleaux | 16 Apr 2016 12:13Z <azawawi> lizmat: nothing so far but github.com/perl6/roast/blob/master...fication.t | ||
ZoffixWin | whoa "The line number is now mentioned when trying to use a non-existent module."... That was fixed! | 21:59 | |
21:59
travis-ci joined
|
|||
travis-ci | Doc build passed. Zoffix Znet 'Mention/index return-rw | 21:59 | |
travis-ci.org/perl6/doc/builds/124032342 github.com/perl6/doc/compare/f3e81...2cf2cb29ec | |||
21:59
travis-ci left
|
|||
perl6newbie | m: camelia: say so 'abababa' ~~ /a .* aba/ # True | 21:59 | |
camelia | rakudo-moar bd4400: OUTPUT«True» | ||
perl6newbie | m: camelia: say so 'abababa' ~~ /a .*: aba/ # True | 22:00 | |
camelia | rakudo-moar bd4400: OUTPUT«False» | ||
perl6newbie | m: camelia: say so 'abababa' ~~ /a .*: aba/ # False | ||
camelia | rakudo-moar bd4400: OUTPUT«False» | ||
ZoffixWin | perl6newbie, camelia also supports /msg, if you wish to play with her in private | ||
perl6newbie | sorry your right | ||
22:00
mcsnolte left
|
|||
perl6newbie | ussing a ":" to stop backtracking could be useful for performance | 22:01 | |
22:01
_mg__ left
|
|||
grondilu | m: role A { sub foo is export {...} }; import A; | 22:02 | |
camelia | ( no output ) | ||
ZoffixWin | lizmat++ # weekly | ||
grondilu | m: role A { sub foo is export {...} }; import A; class :: does A { sub foo { say "foo" } }; foo | ||
camelia | rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MEX8TRm4xLUndeclared routine: foo used at line 1» | ||
grondilu | meh ignore that. I'm struggling to see what I want to do. | 22:03 | |
lizmat | m: use Foo | ||
camelia | rakudo-moar bd4400: OUTPUT«===SORRY!===Could not find Foo at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-2/share/perl6/site /home/camelia/rakudo-m-inst-2/share/perl6/vendor /home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::Repositor…» | ||
lizmat | ZoffixWin: ^^^ | ||
m: EVAL "\n\n\n\n\n\n\nuse Foo" | 22:04 | ||
camelia | rakudo-moar bd4400: OUTPUT«===SORRY!===Could not find Foo at line 8 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-2/share/perl6/site /home/camelia/rakudo-m-inst-2/share/perl6/vendor /home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::Repositor…» | ||
22:05
vendethiel joined
|
|||
ZoffixWin | lizmat, yeah :) I was trying to fix it a couple days ago and glad azawawi++ came up with the fix. | 22:05 | |
lizmat | well, I think nine_ is not happy with the way it got fixed... | ||
but at least on the outside it now works | |||
grondilu | m: role A { sub foo(A $) is export {...} }; import A; class B does A { sub foo(::?CLASS $) { say "foo!" } }; foo(B.new) | 22:07 | |
camelia | rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uG6A9ZPlDYUndeclared routine: foo used at line 1» | ||
22:07
colomon left
22:08
pmurias left
|
|||
grondilu | m: module A { sub talk is export { say "hi" } }; import A; takl | 22:08 | |
camelia | rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AHcXP6SOg6Undeclared routine: takl used at line 1. Did you mean 'take', 'talk'?» | ||
grondilu | m: module A { sub talk is export { say "hi" } }; import A; talk | 22:09 | |
camelia | rakudo-moar bd4400: OUTPUT«hi» | ||
grondilu | m: role A { sub talk is export { say "hi" } }; import A; talk | ||
camelia | rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4jDqBzaLnAUndeclared routine: talk used at line 1» | ||
grondilu | can't I import from a role? | ||
ZoffixWin | Seems not. | 22:10 | |
m: package Foo { role A { sub talk is export { say "hi" } } }; import Foo; talk | |||
camelia | rakudo-moar bd4400: OUTPUT«hi» | ||
ZoffixWin | This works tho | ||
grondilu | it's ok. That was silly of me to put the sub in the role anyway. | ||
lizmat | m: class A { sub talk is export { say "hi" } }; import A; talk | 22:11 | |
camelia | rakudo-moar bd4400: OUTPUT«hi» | ||
lizmat | hmmm... feels to me the import should auto-pun the role | ||
jnthn | Well, it stems from this: | 22:12 | |
m: class A { sub talk is export { } }; say A::.keys | |||
camelia | rakudo-moar bd4400: OUTPUT«(EXPORT)» | ||
jnthn | m: class A { sub talk is export { } }; say A::EXPORT::DEFAULT::.keys | ||
camelia | rakudo-moar bd4400: OUTPUT«(&talk)» | ||
jnthn | m: role A { sub talk is export { } }; say A::EXPORT::DEFAULT::.keys | ||
camelia | rakudo-moar bd4400: OUTPUT«Could not find symbol '&DEFAULT' in block <unit> at /tmp/HeQY91Otzv line 1Actually thrown at: in block <unit> at /tmp/HeQY91Otzv line 1» | ||
jnthn | And that is because the body of a role is generic | ||
So there's no unique sub to import | |||
lizmat | hmmm... | 22:13 | |
jnthn | (Consider `role A { sub talk is export { say $?CLASS } }` | ||
RabidGravy | presumably: | ||
m: role A { our sub f() { } } | |||
camelia | rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CN0oargHknCannot declare our-scoped sub inside of a role(the scope inside of a role is generic, so there is no unambiguouspackage to install the symbol in)at /tmp/CN0oargHkn:1------> 3role A { o…» | ||
RabidGravy | yeah | 22:14 | |
jnthn | Maybe "is export" on a sub in a role should say the same thing | ||
I'm pretty sure punning - at least as it stands today - wouldn't actually do it | 22:15 | ||
Might be twisted into doing it | |||
Though I have a slight suspicion there'd be some surprise lurking there too | |||
22:16
geekosaur joined
|
|||
RabidGravy | I'd go with the error | 22:16 | |
jnthn | It's the conservative option at the very least. :) And wanting it to work my signal confusion anyway. | 22:18 | |
*may | |||
grondilu | I'm still thinking about how I'll do code generation for my Versor module. I'm considering making a role with a bunch of unimplemented methods or operator subs, exporting them, and them implementing this role with classes defined by EVAL'ed strings. | 22:20 | |
FYI: github.com/grondilu/versor.p6 | 22:22 | ||
it's something I really want to do eventually but it's kind of complicated. Any advice welcome. | |||
I gave up on a straightforward translation from javascript as the code generation part was too confusing. But now that I made it more perlish I still struggle to see how I'll do the code generation part. | 22:24 | ||
I'll definitely use EVAL at some point but it's not simple. | |||
22:25
vendethiel left
22:30
lizmat left,
ipad8282 joined
22:31
colomon joined,
colomon left,
smls left
|
|||
ipad8282 | p6: say "hello"; | 22:33 | |
camelia | rakudo-moar bd4400: OUTPUT«hello» | ||
22:39
ipad8282 left
22:40
dolmen left
|
|||
grondilu | oh I think I made something that I can use: | 22:44 | |
m: role A {}; sub postfix:<!>(A $a) { $a.exclam() }; my $b = EVAL 'class :: does A { method exclam { say q{hi} } }'; $b.new! | |||
camelia | rakudo-moar bd4400: OUTPUT«hi» | ||
grondilu | m: EVAL 'class A {}'; A.new # kind of disappointing that this does not work but I kind of understand why | 22:46 | |
camelia | rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WLwOYD1UeKUndeclared name: A used at line 1» | ||
22:46
kid51 joined
|
|||
ZoffixWin | I don't. Why doesn't it work? | 22:47 | |
22:47
kid511 left
|
|||
ZoffixWin | m: BEGIN EVAL 'class A {}'; A.new | 22:47 | |
grondilu | m: BEGIN EVAL 'class A {}'; A.new | ||
camelia | ( no output ) | ||
ZoffixWin | Ah, I see | 22:48 | |
grondilu | smae time | ||
ZoffixWin | You owe me a coke :) | ||
grondilu | I can't generate the code too early though as I need to do stuff in order to know how to generate it :P | ||
but the solution my $class = EVAL 'class :: {...}' is fine. | 22:49 | ||
on the other end I suppose I could create empty classes at compile time, and then augment them with MONKEY-TYPING | 22:51 | ||
22:51
cpage_ joined
|
|||
grondilu | s/other end/other hand/ | 22:52 | |
actually no I can't do that as at compile time I don't even have the names of the classes I want to generate. | 22:54 | ||
22:54
firstdayonthejob left
|
|||
grondilu | how could I add a new class in the current lexical scope at run time? | 22:54 | |
22:55
Actualeyes joined,
cdg left
|
|||
grondilu | m: my \A = EVAL 'class :: { method talk { say "hi" }'; A::talk; | 22:55 | |
camelia | rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0Missing blockat /home/camelia/EVAL_0:1------> 3class :: { method talk { say "hi" }7⏏5<EOL> expecting any of: postfix statement end» | ||
22:56
cdg joined
|
|||
grondilu | m: my \A = EVAL 'class :: { method talk { say "hi" } }'; A::talk; | 22:56 | |
camelia | rakudo-moar bd4400: OUTPUT«Could not find symbol '&talk' in block <unit> at /tmp/L15Uff8B_4 line 1Actually thrown at: in block <unit> at /tmp/L15Uff8B_4 line 1» | ||
22:56
Actualeyes left
|
|||
grondilu | m: my \A = EVAL 'class :: { method talk { say "hi" } }'; A.talk; | 22:56 | |
camelia | rakudo-moar bd4400: OUTPUT«hi» | ||
ZoffixWin | neat | 22:57 | |
grondilu | m: my \A := EVAL 'class :: { method talk { say "hi" } }'; A.talk; | ||
camelia | rakudo-moar bd4400: OUTPUT«hi» | ||
grondilu | m: my \A := EVAL 'class :: { method talk { say "hi" } }'; A::talk; | ||
camelia | rakudo-moar bd4400: OUTPUT«Could not find symbol '&talk' in block <unit> at /tmp/ljPCTeKWV2 line 1Actually thrown at: in block <unit> at /tmp/ljPCTeKWV2 line 1» | ||
grondilu | that's ok I realize I don't have and should not do it like that anyway. | 22:59 | |
RabidGravy | I do something similar in the tests for the JSON::Infer | ||
grondilu | I'll have a look | ||
23:00
wamba left
23:01
cdg left
|
|||
skink | Does this look like sane types/behavior for a password-based key-derivation multisub? | 23:06 | |
my (Buf $key, Str $salt) = argon2-keygen(Str $pwd, [params]) | |||
my Buf $key = argon2-keygen(Str $pwd, Str $salt) | |||
23:06
khw joined
|
|||
ZoffixWin | If [params] are optional named arguments, sure :) | 23:10 | |
skink | mhm | 23:16 | |
I think perhaps $salt in this case may actually be better off as a Buf, since a user would be more likely to be dealing with blobs in general | 23:17 | ||
Like writing the salt into the header of an encrypted file, or what have you | |||
23:19
bigperl1984 joined
|
|||
timotimo | RabidGravy: i'm having some fun with sunvox :) | 23:21 | |
RabidGravy | yay! | ||
timotimo | i'm not really making things that sound good melodically, but tweaking generator settings and adding filters and such is fun | 23:22 | |
i even sampled a "meow" (no, not one the cat made. one i made) and played that. but it sounded uninteresting | |||
RabidGravy | groovy | ||
timotimo | but the drumkit instrument kind of sucks | 23:23 | |
ZoffixWin | Whatchya guys talking about? | ||
timotimo | musics | ||
also, what sense does it make to create an "acid base"? | |||
bigperl1984 | try barking. much more fun | ||
RabidGravy | the classic acid bass is a square wave with a 24db/octave with high resonance around a certain range and the filter cut-off somewhat asymmettric to the amplitude envelope | 23:26 | |
^ filter | |||
23:27
bigperl1984 left
23:33
jjido left
23:37
spider-mario left
23:38
tailgate joined
|
|||
tailgate | can I store an infix function in a variable? How can I use one in a statement? | 23:39 | |
23:41
tardisx joined
|
|||
leont | You can store a function in a variable, and call it as a function | 23:41 | |
timotimo | you can access an infix operator as an object with its "long name" syntax, like this: | ||
leont | The infix is just a funny syntax for it | ||
timotimo | m: my $the-addition-operator = &infix:<+>; say $the-addition-operator(10, 99) | 23:42 | |
camelia | rakudo-moar bd4400: OUTPUT«109» | ||
timotimo | alternatively, infix operators can be referred to with a shorter syntax: | ||
m: my $the-addition-operator = &[+]; say $the-addition-operator(10, 99) | |||
camelia | rakudo-moar bd4400: OUTPUT«109» | ||
RabidGravy | or even | 23:43 | |
m: my &the-addition-operator = &[+]; say the-addition-operator(10, 99) | |||
camelia | rakudo-moar bd4400: OUTPUT«109» | ||
RabidGravy | timotimo, though it's just get an x0xb0x as software rarely does the weird non-linear behaviour of the 303 diode ladder filter justice ;-) | 23:50 | |
skink | ZoffixWin, Agh, not so simple it seems. hash_raw() returns only the key without a header, hash_encoded() returns the header plus the salt/key base64'd together | 23:51 | |
For the type of interface I mentioned earlier, with the former I'd have to construct the header myself or create a class or something, with the latter some weird decoding and subbuf stuff | 23:52 | ||
RabidGravy | anyhow time to crash toodles | ||
23:56
perl6newbie left,
RabidGravy left
|
|||
timotimo | RabidGravy: excuse me, what? | 23:56 | |
oh snap, just missed 'em | |||
23:58
M-Illandan left
|