»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31 Set by jnthn on 28 February 2015. |
|||
skids | Hrm on a fresh laptop and I am getting some sort of cpmile-time problem with Sum. Gonna freshen up rakudo and see if it is still there. | 00:03 | |
00:05
kurahaupo1 joined,
Hor|zon joined
|
|||
adu_ | skids, is there a difference between panda install Sum and panda-install Sum? | 00:09 | |
00:10
Hor|zon left
|
|||
skids | I didn't even know panda-install existed actually. | 00:12 | |
osto | <skids> It runs a lot of tests though so plan for a hot lap.[[[[[[[[[[[[[[[[[[========================================================================================================================== | ||
Crap. My cat was on my keyboard........ Disregard my last message :P | 00:13 | ||
skids | Cats prefer hot laps to hot laptops, but they will settle for the latter :-) | 00:14 | |
00:17
Alina-malina left
|
|||
osto | Here's the culprit, Archimedes: www.imgur.com/Yp1mCPK . Anyway, does anyone have an answer to my question earlier? | 00:17 | |
00:18
Alina-malina joined,
Alina-malina left,
Alina-malina joined
|
|||
skids | oh right. lemme dig S05 for the opener/closer thing. | 00:18 | |
osto | cool | 00:19 | |
00:22
kurahaupo1 left
00:23
tinita_ left
00:24
tinita joined,
mr-foobar left,
laouji joined
00:28
yqt left
00:38
mr-foobar joined
00:39
laouji left
00:42
laouji joined
00:54
kurahaupo1 joined
00:55
raiph joined
|
|||
skids | osto: this is as far as I have gotten: | 00:56 | |
m: say so "(a)" ~~ /(<:Ps>) ~ { my $c = uniname(~$0); $c ~~ s/LEFT/RIGHT/; $c = EVAL "\"\\c\[$c\]\""; $c.say; rx/$c/ } a/ | |||
camelia | rakudo-moar 3c46c7: OUTPUT«)True» | ||
skids | except it isn't right it should be something like this: | ||
m: say so "(a)" ~~ /(<:Ps>) ~ <{ my $c = uniname(~$0); $c ~~ s/LEFT/RIGHT/; $c = EVAL "\"\\c\[$c\]\""; $c.say; rx/$c/ }> a/ | |||
camelia | rakudo-moar 3c46c7: OUTPUT«)True» | ||
skids | m: say so "(a]" ~~ /(<:Ps>) ~ <{ my $c = uniname(~$0); $c ~~ s/LEFT/RIGHT/; $c = EVAL "\"\\c\[$c\]\""; $c.say; rx/$c/ }> a/ | 00:58 | |
camelia | rakudo-moar 3c46c7: OUTPUT«)Unable to parse expression in ; couldn't find final <{ my $c = uniname(~$0); $c ~~ s/LEFT/RIGHT/; $c = EVAL "\"\\c\[$c\]\""; $c.say; rx/$c/ }>  in method ACCEPTS at src/gen/m-CORE.setting:16240 in block <unit> at /tmp/YFYLz4wgf7:1» | ||
skids | So it should not blow up in that last case. | ||
Oh wait. | |||
That's actually working | |||
m: say so "(a]" ~~ /:dba<my parens>; (<:Ps>) ~ <{ my $c = uniname(~$0); $c ~~ s/LEFT/RIGHT/; $c = EVAL "\"\\c\[$c\]\""; $c.say; rx/$c/ }> a/ | |||
camelia | rakudo-moar 3c46c7: OUTPUT«5===SORRY!5===Unrecognized regex metacharacter ; (must be quoted to match literally)at /tmp/jurrQD__Uj:1------> 3say so "(a]" ~~ /:dba<my parens>7⏏5; (<:Ps>) ~ <{ my $c = uniname(~$0); $c Unable to parse regex; couldn't find final '/'…» | ||
skids | erm | 00:59 | |
m: say so "(a]" ~~ /:dba("my parens"); (<:Ps>) ~ <{ my $c = uniname(~$0); $c ~~ s/LEFT/RIGHT/; $c = EVAL "\"\\c\[$c\]\""; $c.say; rx/$c/ }> a/ | |||
camelia | rakudo-moar 3c46c7: OUTPUT«5===SORRY!5===Unrecognized regex metacharacter ; (must be quoted to match literally)at /tmp/CAx6B6co1k:1------> 3say so "(a]" ~~ /:dba("my parens")7⏏5; (<:Ps>) ~ <{ my $c = uniname(~$0); $c Unable to parse regex; couldn't find final '…» | ||
skids | ah | 01:00 | |
m: say so "(a]" ~~ /:dba<my parens> (<:Ps>) ~ <{ my $c = uniname(~$0); $c ~~ s/LEFT/RIGHT/; $c = EVAL "\"\\c\[$c\]\""; $c.say; rx/$c/ }> a/ | |||
camelia | rakudo-moar 3c46c7: OUTPUT«No such method 'my' for invocant of type 'Cursor' in method ACCEPTS at src/gen/m-CORE.setting:16240 in block <unit> at /tmp/5tbow9s6Gk:1» | ||
skids | m: say so "(a]" ~~ /:dba('my parens') (<:Ps>) ~ <{ my $c = uniname(~$0); $c ~~ s/LEFT/RIGHT/; $c = EVAL "\"\\c\[$c\]\""; $c.say; rx/$c/ }> a/ | 01:01 | |
camelia | rakudo-moar 3c46c7: OUTPUT«False» | ||
skids | m: say so "(a)" ~~ /:dba('my parens') (<:Ps>) ~ <{ my $c = uniname(~$0); $c ~~ s/LEFT/RIGHT/; $c = EVAL "\"\\c\[$c\]\""; $c.say; rx/$c/ }> a/ | ||
camelia | rakudo-moar 3c46c7: OUTPUT«False» | ||
skids | huf. | ||
back to my own shell | |||
osto | ha. so close | ||
skids | There has to be a better way than that to deduce the closing char. | 01:02 | |
raydiak | m: say :16(uniprop($_, "Bidi_Mirroring_Glyph")).chr R~ ":" for '(', '[', '{' | 01:03 | |
camelia | rakudo-moar 3c46c7: OUTPUT«:):]:}» | ||
osto | I know... I thought of that too, but there's a couple open/close characters without /LEFT|RIGHT/ | ||
skids | raydak++ | 01:04 | |
raydiak | oh the R~ there was smoething I didn't need to copy, if that wasn't obvious | ||
01:04
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
osto | Ooh | 01:04 | |
skids | Man I hate these new chiclet keyboards: raydiak++ | 01:07 | |
osto | m: say :16(uniprop($_, "Bidi_Mirroring_Glyph")).chr R~ ":" for '(', '[', '{', '\x{fd3f}' | ||
camelia | rakudo-moar 3c46c7: OUTPUT«:):]:}Cannot convert string to number: base-16 number must begin with valid digits or '.' in ':16<⏏>' (indicated by ⏏) in method <anon> at src/gen/m-CORE.setting:15773 in any find_method_fallback at src/gen/m-Metamodel.nqp:2908 in …» | ||
osto | m: say :16(uniprop($_, "Bidi_Mirroring_Glyph")).chr R~ ":" for '(', '[', '{', '﴿' | 01:08 | |
camelia | rakudo-moar 3c46c7: OUTPUT«:):]:}Cannot convert string to number: base-16 number must begin with valid digits or '.' in ':16<⏏>' (indicated by ⏏) in method <anon> at src/gen/m-CORE.setting:15773 in any find_method_fallback at src/gen/m-Metamodel.nqp:2908 in …» | ||
raydiak | m: say "\x{fd3f}" | 01:09 | |
camelia | rakudo-moar 3c46c7: OUTPUT«5===SORRY!5===Unrecognized backslash sequence: '\x'at /tmp/0Gx0hMGJfW:1------> 3say "\7⏏5x{fd3f}"Undeclared routine: fd3f used at line 1» | ||
raydiak | m: say "\x[fd3f]" | ||
camelia | rakudo-moar 3c46c7: OUTPUT«﴿» | ||
osto | What's the \x[nnnn] syntax? | 01:10 | |
raydiak | that makes something that very nearly resembles the openbsd blowfish in my terminal font :P | ||
skids | doc needs a uniprop cookbook section, cause funicode docs are not fun to read. | ||
raydiak | lemme see if I can find \x in the design docs | 01:11 | |
colomon | m: say “ß”.uc | ||
camelia | rakudo-moar 3c46c7: OUTPUT«ß» | ||
colomon | m: say “ß”.uc.ord | 01:12 | |
camelia | rakudo-moar 3c46c7: OUTPUT«223» | ||
colomon | m: say “ß”.ord | ||
camelia | rakudo-moar 3c46c7: OUTPUT«223» | ||
raydiak | S02:Radix_interpolation | ||
colomon | .u ß | ||
yoleaux | U+00DF LATIN SMALL LETTER SHARP S [Ll] (ß) | ||
raydiak | hm guess synopsebot doesn't like that | ||
design.perl6.org/S02.html#Radix_interpolation | |||
colomon | .u ẞ | ||
yoleaux | U+0002 START OF TEXT [Cc] (␂) | ||
U+000F SHIFT IN [Cc] (␏) | |||
U+1E9E LATIN CAPITAL LETTER SHARP S [Lu] (ẞ) | |||
colomon | m: say “ß”.tc | 01:13 | |
camelia | rakudo-moar 3c46c7: OUTPUT«ß» | ||
01:16
osto left
01:18
yeahnoob joined
01:21
aborazmeh left
|
|||
skids | \o/ Sum builds after re-brewng. Glad I didn't have to figure out that weird error. | 01:24 | |
01:30
J-L left
01:35
dayangkun joined
01:36
b2gills left
|
|||
hahainternet | isn't there a from 1 prefix ^ type operator? | 01:37 | |
01:42
telex left
01:44
telex joined
|
|||
colomon | you mean 1..^N instead of 0..^N ? | 01:44 | |
01:55
Hor|zon joined
|
|||
dalek | rl6-roast-data: 7a0eaaa | coke++ | / (9 files): today (automated commit) |
01:56 | |
grondilu | m: sub infix:<°> { 1 .. $^n }; say °10 | 01:57 | |
camelia | rakudo-moar 3c46c7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9rC56l8Gh8Preceding context expects a term, but found infix ° insteadat /tmp/9rC56l8Gh8:1------> 3sub infix:<°> { 1 .. $^n }; say °7⏏0510» | ||
grondilu | m: sub prefix:<°> { 1 .. $^n }; say °10 | ||
camelia | rakudo-moar 3c46c7: OUTPUT«1..10» | ||
grondilu | hahainternet: none in the core, but easy to make your own. | ||
hahainternet | colomon: yeah i could have sworn at some point i saw one | ||
and yeah no worries i know you can define operators arbitrarily | 01:58 | ||
dalek | osystem: 1b80ae4 | hoelzro++ | META.list: Add Linenoise to ecosystem |
||
02:00
b2gills joined,
Hor|zon left
02:10
zakharyas joined
|
|||
dalek | kudo/no-linenoise: 385d2e5 | hoelzro++ | tools/build/Makefile-Moar.in: Remove reference to linenoise in Moar config |
02:11 | |
p/no-readlineint: 0200653 | hoelzro++ | / (6 files): Remove references to readlineint_fh This corresponds to recent changes in MoarVM, in the no-moar-linenoise branch. I haven't removed readlineintfh from the Parrot stage 0 stuff, because the tests are currently failing, and I don't want to bork Parrot worse than it already is. |
|||
p/no-readlineint: ccbf97d | hoelzro++ | src/HLL/Compiler.nqp: Restore prompt to REPL |
|||
p/no-readlineint: aff1fff | hoelzro++ | src/HLL/Compiler.nqp: Break reading of lines out into a helper method |
02:18 | ||
02:26
ostomachion left
02:30
ash_gti joined
|
|||
hoelzro | is it possible to load a Perl 6 module from NQP code? I have a Linenoise module I wrote, and I'd like to use it from src/Perl6/Compiler.nqp | 02:31 | |
adu_ | radiak! | 02:42 | |
grondilu, so clever :) | |||
02:46
BenGoldberg_ joined
02:47
BenGoldberg_ left,
BenGoldberg_ joined
02:49
Ben_Goldberg left
02:57
laouji left
02:58
laouji joined
|
|||
[Coke] | I think you'd have to load all of perl6. | 03:03 | |
03:12
adu_ left
03:16
noganex joined
03:18
Psyche^ joined
03:19
noganex_ left
03:22
Patterner left
03:25
alini left
03:26
cognominal joined
03:27
raiph left
03:43
skids left
03:45
Hor|zon joined
03:49
Hor|zon left
|
|||
raydiak | yay took my laptop apart, cleaned it, and put it back together with no leftover parts | 03:58 | |
04:04
Sqirrel left
04:20
alpha- left,
Sqirrel joined
04:22
BenGoldberg_ left,
anaeem1_ joined
04:29
anaeem1_ left,
anaeem1_ joined
04:31
vendethiel left
04:40
vendethiel joined
04:42
lsm01 left
04:48
cognominal left
04:53
lsm01 joined
05:03
vendethiel left
05:15
nige joined
05:17
fraik joined
05:21
vendethiel joined,
fraik left
05:34
Hor|zon joined
05:39
Hor|zon left
05:57
ash_gti left
05:58
diana_olhovik_ joined
06:02
yeahnoob left
06:06
tinyblak joined
06:08
yeahnoob joined
06:15
alini joined
06:24
Peter_R left
06:26
Peter_R joined
06:29
diana_olhovik_ left
06:31
pyrimidine left
06:32
pyrimidine joined
06:34
fhelmberger joined
06:38
fhelmberger left
06:39
bayprogrammer left
06:46
madmuid joined
07:02
madmuid left
07:04
prime left
07:06
diana_olhovik joined
07:08
prime joined
07:17
wicope joined,
zakharyas left
|
|||
grondilu sent a patch to rakudobug to suggest having polymod return 0 whenever self is 0 | 07:22 | ||
07:23
Hor|zon joined
07:28
Hor|zon left
07:29
zakharyas joined
07:32
laouji left
07:34
laouji joined
07:37
kurahaupo1 left
07:43
Madcap-Jake joined
07:44
MadcapJake left
07:45
alini left
|
|||
grondilu | m: my @ = 1 .. *; # ok | 07:51 | |
camelia | ( no output ) | ||
grondilu | m: my @ = 0, 1 .. *; # still ok | ||
camelia | ( no output ) | ||
grondilu | m: my @ = 0, map { $_ }, 1 .. *; # not ok?? | ||
camelia | rakudo-moar 3c46c7: OUTPUT«(timeout)» | 07:52 | |
grondilu | really I'm not happy with &:<,> breaking lazyness | ||
07:53
FROGGS joined
|
|||
grondilu | m: my @ = map { $_ }, 1 .. *; | 07:53 | |
camelia | rakudo-moar 3c46c7: OUTPUT«(timeout)» | ||
grondilu | oh, my bad. apparently it's not because of &:<,> | 07:54 | |
moritz | grondilu: the map makes us lose the information that the list is infinite | 07:55 | |
grondilu: and array assignment is eager | |||
grondilu | ok | ||
07:56
Ven joined
07:57
mr-foobar left
|
|||
TimToady | map doesn't pass infinite yet, yes | 07:57 | |
GLR, we hope | |||
one of the goals is end-to-end negotiation | 07:58 | ||
moritz | the problem is that usually we don't know if the map block calls 'last' | 07:59 | |
TimToady | one assumes that something first-like would be used in that case, but yeah | 08:00 | |
or we could notice a 'last' while compiling | 08:01 | ||
is just a smop | |||
as long as we aren't trying to solve the lasting^Whalting problem | |||
08:02
fhelmberger joined
08:03
FROGGS left
|
|||
grondilu | I had no idea a map could be stopped by a last | 08:03 | |
m: say map { last if $_ > 5 }, ^10 | |||
camelia | rakudo-moar 3c46c7: OUTPUT«» | ||
grondilu | m: say map { last if $_ > 5; $_ }, ^10 | ||
camelia | rakudo-moar 3c46c7: OUTPUT«0 1 2 3 4 5» | ||
grondilu | well, I've learnt something today :) | 08:04 | |
08:08
yeahnoob left
08:12
Rounin joined
08:16
eli-se joined
|
|||
eli-se | hi | 08:16 | |
08:16
Ven left
|
|||
TimToady | heading to airport & | 08:17 | |
08:17
darutoko joined
|
|||
DrForr | Ciao, was great to have you here! | 08:17 | |
08:18
FROGGS joined,
gfldex joined
08:23
Akagi201 joined
08:25
pdcawley joined
08:30
yeahnoob joined
08:31
eli-se left
08:33
alini joined
08:37
FROGGS left
08:39
Hor|zon joined
08:43
spider-mario joined
08:44
Hor|zon left
|
|||
timotimo | sadly, last can be dynamic, too | 08:46 | |
08:50
FROGGS joined
08:54
dayangkun left
09:05
LonelyGM joined
09:12
coffee` joined
09:15
larion joined
09:17
Hor|zon joined
09:20
lizmat joined
09:24
kjs_ joined
09:25
Ven joined
09:31
abraxxa1 joined
09:34
yeahnoob left
09:35
kjs_ left
09:36
dakkar joined
|
|||
moritz | what's the oposite of an entity in data modelling? | 09:37 | |
moritz can't remember the name | |||
basically a value type, but the data modellers have a separate name for that, iirc | |||
09:37
Gothmog_ joined
09:50
eli-se joined
09:52
Foxcool_ joined
09:55
eli-se left
09:57
eli-se joined
10:02
laouji_ joined,
laouji left
10:06
espadrine joined
10:07
rindolf joined
|
|||
masak | 'antenoon, #perl6 | 10:08 | |
moritz: at Edument, we just call them "value objects". they intersect with the notion of immutability, but are distinct in various ways. | 10:09 | ||
Ven | hi masak :) | 10:11 | |
10:11
abraxxa left
|
|||
masak | alohahoy. | 10:11 | |
LonelyGM | guten morgen everyone :) | ||
masak | LonelyGM! \o/ | 10:15 | |
LonelyGM: does the "GM" in your nick stand for "Game Master"? | |||
masak knows next to nothing about tabletop games | |||
sjn | masak: it means "General Motors" :) | 10:16 | |
maybe | |||
oh, and hi, #perl6 o/ | |||
:) | |||
Ven | masak: they're fun, though..:) | ||
masak | Genearl Motors? :P | 10:17 | |
General* | |||
10:17
eli-se left
|
|||
Ven | masak: only drunk ones :P | 10:18 | |
sjn imagines being a legal person of GM's size can be pretty lonely | |||
moritz | and an illegal person of GM's size too :-) | ||
sjn should have maybe said "legal entity" or "corporate person" or something | 10:19 | ||
tadzik | Lonely Game Master would be one without party | ||
10:19
Ven left
|
|||
LonelyGM | masak :D hahha I see that you guys are in a creative mood today | 10:19 | |
it stands from Grand Master, I am a chess fanatic and once was considered to be a decent player, with no intention to brag... | 10:20 | ||
tadzik | cool :) | 10:21 | |
sjn | it's lonely at the top | ||
moritz | LonelyGM: did you make it to Grand Master? | ||
or was that "just" ambition? | |||
10:22
pecastro joined
|
|||
LonelyGM | no I never made it to actual GM I was on the edge of becoming an IM when I was 14 and lost a very improtant game against a spanish guy in an international competition in Valencia | 10:22 | |
and so I gave up for a year and since then I regret that decision because I couldn't get back | 10:23 | ||
10:23
vendethiel left
|
|||
LonelyGM | my actual rating dropped heavily since then... I'm like 1900-2000 ELO currently... and my dream is to design a chess engine that would play exaclty like Bobby Fischer did once :) dreams haha | 10:24 | |
moritz | well, I have an ELO (or the German equivalent). It's 0 :-) | ||
I played one rated game, and lost it | 10:25 | ||
10:25
pecastro left,
zakharyas left
|
|||
LonelyGM | moritz: everony starts at 900 ELO and you rating is not "real" until you play a draw | 10:26 | |
btw I think chess is very similar to what you guys are doing with perl6 I try to implement this into my chess strategy :) | 10:27 | ||
masak | interesting. | ||
how is it similar_ | |||
? | |||
moritz | a game is mostly searching and scoring, a compiler is translating/transforming | ||
moritz doesn't see the similarity yet | 10:28 | ||
LonelyGM | well, chess is just partly about discovering patterns and applying your strategy for that | ||
moritz | ah, so you're saying it's similar to programming as a whole | 10:29 | |
I think I can agree with that | |||
10:30
vendethiel joined
|
|||
LonelyGM | the essence of chess is basically to figure out what the opponent wants, you are language designers first and then coders, Larry told me that he might not be the best coder in the world he is good in finding out what other people wants and giving them the opportunity to do that | 10:30 | |
dalek | kudo/nom: b9e7dbc | lizmat++ | docs/ChangeLog: Mention native arrays |
||
LonelyGM | in chess you have to figure out what the other wants and not to give them the opportunity | ||
10:31
pecastro joined
|
|||
LonelyGM | and of course when you are thinking of an attack and series of moves you are thinking in algorithms | 10:31 | |
when you have a shady area after a move that could be a parameter which could change the further outcome of the algorithm | |||
if you could actually know how the compiler reacts to each and every code you wouldnt have to write the code bc you would no that it is faulty | 10:32 | ||
in chess you do these experiments in your head and hope that you are precise enough to succeed :) | |||
m: say "I'm in love with chess" | 10:33 | ||
camelia | rakudo-moar 3c46c7: OUTPUT«I'm in love with chess» | ||
10:33
Peter_R left
10:34
Peter_R joined
|
|||
grondilu | LonelyGM: I started a chess project in Perl 6. So far just a PGN/FEN parser but if you feel like helping to do more, let me know. | 10:34 | |
LonelyGM | grondilu: I could probably help with the design, with the coding I might have difficulties but it would be a pleasure :) but you are developing an engine or a game? | 10:36 | |
dalek | ast: 6290f50 | lizmat++ | S02-types/set.t: Fix tests so they don't pass for the wrong reason |
||
grondilu | LonelyGM: I just started a github repo with anything chess related. Lost motivation to do more than parsing PGN though | 10:39 | |
writing a chess engine is kind of tough | |||
just checking move legality is a pain | 10:40 | ||
anyway: github.com/grondilu/chess | |||
dalek | ast: b4b82a0 | lizmat++ | S17-procasync/ (2 files): Todo what were thought to be flappers |
10:41 | |
masak | "Although the Angular team said there would eventually be an upgrade path, I didn’t believe them. A framework rewrite almost always means rewriting apps that use the framework." -- blog.yodersolutions.com/why-i-recom...angularjs/ | 10:42 | |
reading this article, I have the distinct sense that Angular is Perl and Ember is Python. | |||
10:42
alini left
|
|||
lizmat | reading that, I was reminded of the commercial of "Toilet Duck" in the NL | 10:43 | |
"We of Toilet Duck recommend Toilet Duck!" | |||
masak | hehe | ||
lizmat | anyway, spectest on MoarVM is clean for me now | ||
masak | \o/ | 10:44 | |
lizmat | (and these were all nerdy men in lab coats saying that) | ||
masak | lizmat: though I don't think that blogger is affiliated with Ember in any way... | ||
lizmat | it was just about the quote, not about the actual blog post :-) | 10:45 | |
masak | *nod* | ||
sometimes when I see the actions of the Angular core team(s), I think at some point someone must've decided to make it all look like the Perl 5 and Perl 6 upgrade path, and then arranged things so that it does *without telling anyone else*. | 10:46 | ||
like a massive multi-year troll on everyone. | |||
lizmat | www.youtube.com/watch?v=YsvHeLUOoxs # WC Eend | 10:48 | |
CurtisOvidPoe: re irclog.perlgeek.de/perl6/2015-03-17#i_10296801, commit message 91f41bdcdd089d88bf06 says: | 10:58 | ||
Add Bag.kxxv (preliminary name) (on 13 Apr 2014) | |||
10:58
Akagi201 left
|
|||
CurtisOvidPoe | lizmat: ah, thanks! | 11:00 | |
lizmat | afk for a bit | ||
11:03
laouji_ left
|
|||
masak | yeah, I wish we had a better name for that one, too | 11:04 | |
I was thinking about it yesterday. | |||
it feels like there *should* be something pithy that catches the essence of what that method does. | 11:05 | ||
with a slightly higher vowel density :) | |||
FROGGS | what does .kxxv? | ||
masak .oO( <alien> no, my name is pronounced "kxxv"... -- <human> "kssshv" -- <alien> just drop it. call me Fred. ) | 11:06 | ||
m: say Bag.new(A => 2, B => 5).kxxv | |||
camelia | rakudo-moar b9e7db: OUTPUT«» | 11:07 | |
tadzik | . o O ( my name is pronounced Tadeusz Sośn.. ah, forget it ) | ||
FROGGS | ohh, that's helpful :o) | ||
masak | m: say Bag.new((A => 2), (B => 5)).kxxv | ||
camelia | rakudo-moar b9e7db: OUTPUT«A => 2 B => 5» | ||
masak | er. | ||
m: say Bag.new(<A A B B B B B>).kxxv | |||
camelia | rakudo-moar b9e7db: OUTPUT«A A B B B B B» | ||
masak | FROGGS: there you go. | ||
FROGGS | tadzik: you forgot to put the ascii replacement characters in there :P | ||
tadzik | haha | ||
masak | m: say Bag.new(<A B B A B B B>).kxxv | ||
camelia | rakudo-moar b9e7db: OUTPUT«A A B B B B B» | ||
tadzik | "we love unicode, we just don't use it" | ||
-- YAPC organizers | 11:08 | ||
masak | hypocrites! | ||
tadzik | it's like "I love science" :P | ||
related: pbs.twimg.com/media/BnoEAbDIEAA79db.png | |||
FROGGS | hehe | 11:09 | |
m: say Bag.new(<A B B A B B B>) | 11:10 | ||
camelia | rakudo-moar b9e7db: OUTPUT«bag(A(2), B(5))» | ||
FROGGS | m: say bag(A(2), B(5)).kxxv | ||
camelia | rakudo-moar b9e7db: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D9CJFVZ_fLUndeclared names: A used at line 1 B used at line 1» | ||
FROGGS | m: say bag(:A(2), :B(5)).kxxv | ||
camelia | rakudo-moar b9e7db: OUTPUT«Unexpected named parameter 'A' passed in sub bag at src/gen/m-CORE.setting:21333 in block <unit> at /tmp/eq3t8ccSjG:1» | ||
masak | m: <A B B A B B B>.Bag.kxxv | 11:11 | |
camelia | ( no output ) | ||
FROGGS | m: say bag("A" => 2, "B" => 5).kxxv | ||
camelia | rakudo-moar b9e7db: OUTPUT«A => 2 B => 5» | ||
masak | m: say <A B B A B B B>.Bag.kxxv | ||
camelia | rakudo-moar b9e7db: OUTPUT«A A B B B B B» | ||
FROGGS | m: say bag("A" => 2, "B" => 5).Bag.kxxv | ||
camelia | rakudo-moar b9e7db: OUTPUT«A => 2 B => 5» | ||
FROGGS | gah | ||
grondilu | that has to be the worst name for a method ever | ||
masak | I'm glad we all agree. | ||
let's mock it a bit more before we think of the right name :P | 11:12 | ||
FROGGS | :D | ||
masak | lizmat++ # implementing it, even in the face of uncertainty about the name | ||
FROGGS .oO( ===SORRY=== I can't adverb you ) | |||
masak | the "Can't adverb this" error message is a Lovecraftian abomination from the depths of the Perl 6 parser. | 11:13 | |
I swear I'm getting it for things that look completely OK, and then I get rid of it by doing a random sacrifice in the code. | |||
DrForr | Lose 1 SAN point. | 11:17 | |
11:19
donaldh joined
11:26
BenGoldberg_ joined
11:30
Ven joined
|
|||
FROGGS | I don't like user support today :o( | 11:32 | |
11:37
Ven left
|
|||
hoelzro | o/ #perl6 | 11:37 | |
11:38
Ven joined
|
|||
Ven | Seems like the ruby community started their own version of the perl foundation (with grants and stuff), called "Ruby together" | 11:38 | |
11:38
cschwenz joined,
Foxcool left
11:42
BenGoldberg_ left
|
|||
hoelzro | I wrote a Linenoise module with the intent of being able to enhance the builtin REPL, but I can't figure out how to load a Perl 6 module from NQP (in particular, main.nqp). Is such a thing possible? | 11:45 | |
Ven | Someone pointed out to me that in the learnxinyminutes, I use "@array" and "array" instead of list. Should I change? | 11:47 | |
because an "array" is an "itemized list" | 11:48 | ||
(so, "list assignment" instead of "array assignment", "@list = " instead of "@array =", etc) | 11:49 | ||
11:50
alini joined
|
|||
Ven | m: 'a' ~~ /(a)/; say $0.WHAT.perl | 11:54 | |
camelia | rakudo-moar b9e7db: OUTPUT«Match» | ||
Ven | m: 'a' ~~ /(a) +/; say $0.WHAT.perl | 11:55 | |
camelia | rakudo-moar b9e7db: OUTPUT«Array» | ||
FROGGS | hoelzro: you'd need Perl6's ModuleLoader probably | 11:56 | |
11:57
telex left
|
|||
hoelzro | FROGGS: I figured, but I don't know the magic invocation to give load_module to make it work | 11:57 | |
namely, what to use for GLOBALish | |||
FROGGS | {} | 11:58 | |
:o) | |||
11:58
telex joined
|
|||
FROGGS | I don't know if that will work out though | 11:58 | |
hoelzro | I tried that first, heh | 11:59 | |
12:15
zakharyas joined
12:21
eli-se joined,
Sqirrel left
12:26
raiph joined
|
|||
eli-se | morning | 12:26 | |
12:27
eli-se left
|
|||
Ven | short morning there. | 12:29 | |
12:32
nige left
12:39
eli-se joined
|
|||
lizmat | wrt to kxxv, I'm afraid I've had to become accustomed to ridicule wrt to naming classes and methods :-( | 12:39 | |
afk again, voting and cycling& | 12:42 | ||
12:42
eli-se left
|
|||
Ven | lizmat: I think it's always better than nothing. | 12:42 | |
(plus, see "drip" vs "emit" that came from the discussion about "more") | 12:43 | ||
FROGGS | it is quite hard to find something better than kxxv... and maybe it is the best name for that | 12:45 | |
colomon | would it be more obvious if it were k-xx-v ? Though as is it only took me a few moment to figure out what it must do. | 12:47 | |
nwc10 | from the #london.pm hive mind, working on amusing pragmas: | ||
12:46 <@pete> no wombles; | |||
12:46 <@pete> disables garbage collection | |||
12:48
itz joined,
anaeem___ joined,
anaeem___ left
|
|||
masak | Ven: I dunno, I hear people refer to arrays all the time in Perl. | 12:48 | |
12:48
Ven_ joined
12:49
Ven left,
itz_ left
12:51
anaeem1_ left
12:52
itz left
12:53
Ven_ left
12:56
Ven joined
12:58
itz joined
13:01
Ven left,
kaare_ left,
xfix joined
|
|||
FROGGS | colomon: then we could argue that .kv should be .k-v | 13:02 | |
colomon: and I'd not favour that :o) | |||
colomon | me neither | 13:03 | |
13:03
cognominal joined,
Ven joined
13:05
Woodi joined
13:06
nige joined
13:22
anaeem1_ joined
|
|||
TimToady sitting in MUC now | 13:25 | ||
Ven | TimToady: hi | ||
FROGGS | TimToady: Grüß Gott :o) | ||
TimToady | fortunately, ours is not one of the flights that has been cancelled to due to strike | 13:26 | |
at least, not yet... | |||
FROGGS | what's your destination? back home? | ||
DrForr | Oh, yeah, Lufthansa long-haul on strike. | ||
nwc10 | is your flight still alledged to be on time? | 13:27 | |
13:27
brrt joined
|
|||
TimToady | seems to be | 13:28 | |
but maybe they'll stage a work slowdown by crossing the Atlantic at 150mph or so... | 13:29 | ||
13:31
rurban joined
13:39
anaeem1_ left
|
|||
arnsholt | Le sigh. I've written so much more NQP than actual Perl 6 I continually have the urge to use := everywhere | 13:41 | |
(When writing Perl 6, obv) | |||
13:42
LonelyGM left
13:49
cognominal left
13:52
anaeem1_ joined
|
|||
timotimo | %) | 13:52 | |
13:54
molaf joined
13:57
pullphinger joined
13:59
donaldh left
|
|||
TimToady notes again that bag() and .Bag are two entirely different things | 14:00 | ||
the bag composer will not turn pairs into internal counts, but .Bag will | |||
the bag composer will merely make a bag containing your two pairs | 14:01 | ||
FROGGS: ^^ | |||
14:02
anaeem1_ left
|
|||
Woodi | hallo #perl6 :) | 14:02 | |
so do we have some theory of "shapes" ? :) lists, trees, sets, bags... | 14:03 | ||
TimToady ==> gate | |||
14:04
CurtisOvidPoe left
|
|||
[Coke] | DrForr++ # I have fond memories of playing Call of C'lthulhu | 14:04 | |
14:07
FROGGS left
14:10
eli-se joined
14:12
anaeem1 joined
14:26
anaeem1 left,
anaeem1_ joined
14:28
pecastro left
14:31
anaeem1_ left
14:33
pecastro joined
14:37
anaeem1 joined,
anaeem1 left,
anaeem1 joined
14:38
tinyblak_ joined
14:40
tinyblak left
14:42
anaeem1 left
14:44
lichtkind joined
14:50
cdc joined
|
|||
cdc | Hello #perl6 | 14:51 | |
I'd like to keep a reference to an object method, something like this: | 14:52 | ||
class A { method b { ... } }; my A $c; my $callback = &($c.b) | |||
is it possible? | 14:53 | ||
14:54
spider-mario left
|
|||
moritz | well, you can wrap it | 14:54 | |
rjbs | cdc: I am a p6 novice, but this appears to work: my $cb = {; $foo.bar } | ||
moritz | my $callback = -> |c { $c.b(|c) } | ||
14:55
eli-se left
|
|||
moritz | or if it doesn't take arguments, as rjbs++ just said | 14:55 | |
rjbs | What's the | doing there? | ||
moritz | rjbs: capture the rest of the argument list | ||
doc.perl6.org/type/Parameter#method_capture | |||
cdc | rjbs, moritz: thanks! | ||
rjbs | thanks | ||
moritz | cdc: but methods aren't bound to to objects, which is why you have to wrap | 14:56 | |
14:56
rmgk is now known as Guest27851,
rmgk_ joined,
Guest27851 left,
rmgk_ is now known as rmgk,
tinyblak_ left
|
|||
cdc | ok | 14:57 | |
14:57
tinyblak joined
14:58
xinming_ joined
15:01
xinming left,
tinyblak left
15:02
_DrForr joined
15:04
spider-mario joined
15:09
FROGGS joined
15:16
_DrForr left
15:17
abraxxa1 is now known as abraxxa
15:30
tinyblak joined
15:39
spider-mario left
15:41
spider-mario joined
15:53
eli-se joined
15:58
eli-se left
16:04
zakharyas left
16:10
cognominal joined
16:12
raiph left,
Sqirrel joined
16:13
raiph joined
16:14
Rounin left
16:18
brrt left
16:19
raiph left
16:24
raiph joined
16:25
alini left
16:26
raiph left
16:27
raiph joined
16:30
Smylers joined
16:31
Smylers left
16:32
Smylers joined
16:33
rurban left,
larion left
16:34
raiph left,
Smylers left,
FROGGS left
16:35
raiph joined
16:38
raiph left
16:40
raiph joined
16:41
cschwenz left
16:43
cognominal left
16:44
raiph left
16:46
raiph joined
16:48
xinming_ left
16:49
Ven left
16:51
raiph left,
spider-mario left
16:53
spider-mario joined
16:59
xinming joined
17:02
madmuid joined
17:03
donaldh joined
17:07
cognominal joined
17:09
perl6_newbee joined
17:10
FROGGS joined
17:14
cognominal left,
kjs_ joined
17:15
b2gills left
17:16
eli-se joined
|
|||
eli-se | hi | 17:17 | |
dalek | p: d24d387 | donaldh++ | src/vm/jvm/QAST/Compiler.nqp: Catch runtime exceptions (Throwable) inside 'handle' blocks on JVM Fixes RT #123684 - one of the infamous UnwindException escapes. |
17:20 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123684 | ||
17:24
donaldh left
17:26
kjs_ left
17:36
spider-mario left,
bayprogrammer joined
17:45
grondilu left
17:51
b2gills joined
17:55
eli-se left
18:04
dakkar left,
mohij joined
18:09
pecastro left
|
|||
abraxxa | with rakudo star 2015.02 i'm getting a test fail with DBDish in 10-mysql.t: postcircumfix:<{ }> not defined for type Failure | 18:11 | |
dalek | ast: 9bfc0bd | lizmat++ | S32-basics/xxKEY.t: We *can* now fudge :-) |
||
18:15
LonelyGM joined
18:20
LonelyGM left,
kaare_ joined
18:24
eli-se joined
|
|||
dalek | ast: bf91b2b | lizmat++ | S32-basics/xxPOS.t: Add some AT-POS and friends sanity tests |
18:28 | |
kudo/nom: b9d6d3e | lizmat++ | t/spectest.data: Add some AT-POS and friends sanity tests |
18:29 | ||
18:31
espadrine left
18:32
Alina-malina left
18:33
telex left,
Alina-malina joined
|
|||
FROGGS | abraxxa: do you also see a line number or something more detailed? | 18:33 | |
abraxxa | FROGGS: i'll paste you the stacktrace | 18:34 | |
lizmat diverges for a bit in 3D | |||
18:34
telex joined
|
|||
FROGGS | lizmat: I'm jealous | 18:34 | |
[Coke] | let me know if that's any good. | ||
abraxxa | FROGGS: paste.scsys.co.uk/469873 | 18:35 | |
18:36
nige left
18:38
rindolf left
18:39
kjs_ joined
18:41
nige joined
|
|||
FROGGS | abraxxa: I have no clue :/ | 18:41 | |
abraxxa | FROGGS: does it happen for you too? | ||
FROGGS | I cannot test right now | ||
abraxxa | ok | ||
FROGGS | but I dont see similar reports here: testers.perl6.org/dist/D/DBIish/%3C...wn%3E.html | 18:44 | |
abraxxa | wooh, that looks nice! | 18:46 | |
18:47
mohij left,
eli-se left
18:49
kjs_ left
18:50
vendethiel left
18:52
vendethiel joined,
Rounin joined
|
|||
itz | "Ever since I learnt about confirmation bias, I've been seeing it everywhere" | 18:56 | |
18:58
eli-se joined
19:07
diana_olhovik left
19:08
fhelmberger left
|
|||
nine_ | itz: instant classic :) | 19:09 | |
19:11
dsm left
19:12
dsm joined,
J-L joined
|
|||
J-L | map {.say}, ((1,2),3,(4,5)); | 19:14 | |
Sorry... meant for Camelia. | 19:15 | ||
FROGGS | m: map {.say}, ((1,2),3,(4,5)); | ||
camelia | rakudo-moar b9d6d3: OUTPUT«12345» | ||
J-L | m: ((1,2), 3, (4,5)).map({.say}); # iterates over three elements (method call) | ||
camelia | rakudo-moar b9d6d3: OUTPUT«12345» | ||
FROGGS | m: ((1,2), 3, (4,5)).map({ say 'A' }); | ||
camelia | rakudo-moar b9d6d3: OUTPUT«AAAAA» | 19:16 | |
FROGGS | no | ||
J-L | According to learnxinyminutes.com/docs/perl6/ , ((1,2), 3, (4,5)).map({.say}) is supposed to iterate over three elements, not five. | ||
19:16
mohij joined
|
|||
abraxxa | any advice how to debug segfaults with NativeCall? | 19:16 | |
FROGGS | m: map { say 'A' }, ((1,2),3,(4,5)); | ||
camelia | rakudo-moar b9d6d3: OUTPUT«AAAAA» | ||
FROGGS | abraxxa: gdb and valgrind are usually good when hunting segfaults | ||
abraxxa never touched any of these | 19:17 | ||
J-L | My Windows Rakudo is matching Camelia's, but it doesn't match what it says on learnxinyminutes.com/docs/perl6/ about ((1,2), 3, (4,5)).map({.say}) . | ||
19:18
perl6_newbee left
|
|||
FROGGS | I hope the GLR will help here | 19:18 | |
abraxxa wonders why he sees Compiling lib/DBDish.pm6 to mbc twice | |||
never mind, DBDish and DBIish look very similar | 19:23 | ||
J-L | Frankly, I kind of prefer the way it works now. Flattening both is better than flattening one, but not the other. | ||
[Coke] | No guarantee that xiny is kept up to date, and also, this smells like something that the GLR will change/touch | 19:24 | |
19:26
anaeem1 joined
19:27
silug joined
|
|||
vendethiel | J-L: just ping me if something's wrong in the learnx :-) | 19:35 | |
J-L: I should remove that part. That's how it'll behave post-GLR | 19:36 | ||
19:36
darutoko left
|
|||
vendethiel | [Coke]: yeah, I shouldn't have changed the learnx *before* the implementation, that was stupid | 19:36 | |
FROGGS: wanted to ask someone "on the team" about this -- should I change all references from "@array" to "@list" (and from "array" to "list") in the learnx? | 19:37 | ||
because "array is an itemized list" | |||
19:39
pnu left,
lsm01 left
|
|||
FROGGS | vendethiel: you are asking the wrong guy :o) | 19:40 | |
19:40
pnu joined
19:41
lsm01 joined
|
|||
abraxxa | how do i pass a Buf as a pointer to a C lib with NativeCall? | 19:42 | |
i have this super-ugly construct which seems to not work | 19:43 | ||
my $valuebuf = $v.Str.encode('utf8'); | |||
my sb4 $value_sz = $valuebuf.bytes; | |||
my @valuep := CArray[int8].new; | |||
@valuep[$_] = $valuebuf.[$_] | |||
for ^$value_sz; | |||
vendethiel | FROGGS: ha :( | ||
FROGGS | abraxxa: just pass that buf | 19:44 | |
abraxxa: passing a VMArray (what a buf is underneath) is implemented since 2015.02 | 19:46 | ||
abraxxa | so i have to define the parameter differently? | ||
currently i've defined it as CArray[int8] $valuep, | |||
retupmoca | abraxxa: sub c_function(Buf) is native { ... }; my $buf = $v.Str.encode('utf8'); c_function($buf); | 19:47 | |
abraxxa | that would become OraText $valuep is encoded('utf8'), | ||
FROGGS | you can also put utf8 instead of Buf in the signature | 19:48 | |
because: | |||
m: say "foo".encode('utf8') ~~ utf8 | |||
camelia | rakudo-moar b9d6d3: OUTPUT«True» | ||
FROGGS | m: say "foo".encode('utf8') ~~ Buf | ||
camelia | rakudo-moar b9d6d3: OUTPUT«False» | ||
retupmoca | oh, right. Should probably use 'Blob' for the most general case | ||
FROGGS | m: say "foo".encode('utf8').REPR # and that's why it is supported since github.com/MoarVM/MoarVM/commit/b3...cc576433fe | 19:49 | |
camelia | rakudo-moar b9d6d3: OUTPUT«VMArray» | ||
abraxxa | still segfaulting | 19:50 | |
oh, but after the bind | |||
19:51
terahzer joined
|
|||
FROGGS | abraxxa: is that good? | 19:52 | |
I mean, do you make progress? | |||
abraxxa | i thought the bind causes the segfault but it seems the sql statement execution afterwards does | ||
i have to look into that pointer passing change so i can remove my ugly workarounds | |||
so if I pass a Buf that is an array of bytes internally and NativeCall passes it correctly | 19:53 | ||
nine_ | FROGGS: what would the NativeCall definition of a function taking a Blob look like? | ||
19:53
mj41 joined
|
|||
nine_ | FROGGS: oh, never mind. The answer is right there in the backlog | 19:54 | |
terahzer | are the BEGIN and END blocks still supported in Perl 6 ? | 19:56 | |
nine_ | terahzer: yes, and the concept even got extended | ||
abraxxa | statement execute without bind vars work, those with segfault | ||
terahzer | nine_ how? | ||
nine_ | terahzer: they're called PHASERS now and there are more of them like FIRST and LAST for loops. You can also use them as statement modifiers like: BEGIN $foo = $bar; | 19:57 | |
19:57
pnu left
|
|||
dalek | line-Perl5: de093d0 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6: Use recent NativeCall's Buf support for speedup |
19:57 | |
19:58
pnu joined,
pnu left,
pnu joined
|
|||
abraxxa | FROGGS: what about a pointer to a sb2 (int16)? | 19:59 | |
FROGGS | abraxxa: an int16*? | 20:00 | |
abraxxa | i'm doing a similar thing for those: my @indp := CArray[sb2].new; @indp[0] = -1; | ||
void *indp, | |||
Pointer to an indicator variable or array. For all data types except SQLT_NTY, this is a pointer to sb2 or an array of sb2. | |||
FROGGS | nowadays: sub foo(int16 $thing is rw) ... { * } | ||
ahh | 20:01 | ||
then: sub foo(Pointer) ... { * }; my Pointer $a .= new; foo($a); say nativecast(int16, $a) | |||
and you do the nativecast conditionally | 20:02 | ||
terahzer | I am reading the docu,entation of perl 6 on wikibooks; do you think it is usefull for somebody approaching the language to read the Apocalypses, Exeseges and Synopses? | ||
abraxxa | i've defined it as CArray[sb2] | ||
retupmoca | nine_: you may want 'Blob' in your p5_buf_to_sv signature, since blob8 ~~ Buf is false | 20:03 | |
FROGGS | well, define it as Pointer instead, and then do the cast... I believe that should work | ||
and if you want to have an int16*, you'd do Pointer[int16] | 20:04 | ||
20:04
cognominal joined
|
|||
FROGGS | hmmmm | 20:04 | |
abraxxa | constant sb2 = int16; | ||
i don't need array support for now | |||
FROGGS | but then I dunno how to set the value it points to... | ||
abraxxa | not sure if I ever will | ||
FROGGS | ahh, we need to support malloc directly to be able to pass Pointer[int16] to a C function | 20:06 | |
abraxxa: no, what I try describe will help soon | 20:07 | ||
abraxxa | FROGGS: is there already something better than CArray[Type] to specify a pointer to something? | ||
FROGGS | abraxxa: that is what I talk about the last ten lines of mine | 20:08 | |
abraxxa | is Pointer new? | ||
FROGGS | typed pointers are new | 20:09 | |
nine_ | terahzer: probably doc.perl6.org is a better entry point | ||
abraxxa | so i can replace CArray with Pointer, great | ||
FROGGS | before that we had a not very useful OpaquePointer type | ||
abraxxa: for some things, yes | |||
abraxxa | my OCIBindByName signature is wrong, I had the types instead of pointers to three of the params | ||
20:10
nige left
|
|||
dalek | line-Perl5: b8cc190 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6: Use a more appropriate type in p5_buf_to_sv signature Thanks to retupmoca++ < retupmoca> nine_: you may want 'Blob' in your p5_buf_to_sv signature, since blob8 ~~ Buf is false |
20:10 | |
abraxxa | FROGGS: i remember you told me that i don't need := any more, is that correct | 20:11 | |
dalek | c: 9292957 | moritz++ | lib/Language/regexes.pod: regexes: elaborate on capture counting |
||
FROGGS | abraxxa: if you work with CArrays and $-sigilled variables you can just use assignment, yes | 20:12 | |
abraxxa | and with Pointers? | ||
FROGGS | you never needed binding there | 20:13 | |
you only ever needed binding in: my @foo := CArray.new | |||
abraxxa | so instead of my $curelep := Pointer[ub4]; $curelep = 0; I can write my Pointer[ub4] $curelep = 0; ? | ||
20:13
cognominal left
|
|||
FROGGS | m: use NativeCall; my Pointer[int32] $curelep = 0; | 20:14 | |
abraxxa | the stacktrace of 'Unhandled exception: Cannot unbox a type object' is not very helpful as it doesn't point to a line in my code | ||
camelia | rakudo-moar b9d6d3: OUTPUT«Type check failed in assignment to '$curelep'; expected 'Pointer' but got 'Int' in block <unit> at /tmp/geyxtas5ye:1» | ||
FROGGS | no | ||
20:14
eli-se left
|
|||
FROGGS | what you try here would require to malloc an int*, and that's not there yet | 20:15 | |
abraxxa | so still @curelep instead of $curelep and assign to @curelep[0] ? | ||
FROGGS | either that, or: sub foo(ub4 $ is rw) ... { * } | 20:16 | |
and then just pass a variable containing your numeric value along | |||
abraxxa | the 'is rw' makes the difference? | ||
FROGGS | yes | ||
abraxxa | ah! | ||
FROGGS | 'is rw' implies pointer | ||
moritz | ooh | 20:17 | |
FROGGS | (to the C half of it) | ||
moritz | I didn't know that | ||
FROGGS | it is new | ||
20:17
nige joined
|
|||
FROGGS | since nativeref branch merge | 20:17 | |
I hope it already is in 2015.02... | |||
but if not, it will be in 2015.03 tomorrow anyway | |||
20:18
diana_olhovik joined,
colomon left
|
|||
abraxxa | is there something special for an out pointer too? | 20:19 | |
instead of is rw? | |||
like is w? | |||
FROGGS | out pointer? | ||
like, returning a pointer from C? | |||
abraxxa | yes | ||
i can't find out from where this Unhandled exception: Cannot unbox a type object comes from | 20:20 | ||
FROGGS | then you want 'returns Pointer[ub4]', and then you can do: say $ptr.deref | ||
nine_ | FROGGS: can you assign to $ptr.deref? | ||
FROGGS | nine_: no | ||
abraxxa | all the OCI functions return sword s but also lots of return by pointer | ||
FROGGS | nine_: we need to implement .malloc or so for doing something similar | 20:21 | |
'Cannot unbox a type object comes from' usually means that you forgot to call .new | |||
nine_ | FROGGS: darn...that would have allowed me to get rid of nativecast(CArray[OpaquePointer], $err)[0] = self.p6_to_p5($_); | ||
FROGGS | err, 'Cannot unbox a type object' | ||
abraxxa | is there a difference between my $bindpp = OCIBind; and my OCIBind $bindpp; ? | 20:22 | |
constant OCIBind = OpaquePointer; | |||
FROGGS | abraxxa: there is no difference in my $bindpp = OCIBind; and my OCIBind $bindpp | 20:23 | |
moritz | well | ||
abraxxa | great | ||
moritz | the latter is also a type constraint | ||
FROGGS | well, besides that :o) | ||
moritz | the former just an initilization | ||
abraxxa | moritz: right, but thats ok | ||
FROGGS | abraxxa: but you probably want to call .new there... like you have to do with CArrays | ||
abraxxa | oh look, it works! | ||
HAHA | |||
FROGGS | O.o | ||
\o/ | 20:24 | ||
nine_: I'll make it easy to assign to typed pointers... but not until tomorrow :o) | |||
abraxxa | at least the cannot unbox type error is gone | ||
now the bind fails which didn't before | |||
moritz | you cannot unbox this abraxxa | ||
abraxxa | FROGGS: how can i check if my 2015.02 supports is rw? | ||
20:25
pdcawley left
|
|||
moritz | m: sub f(int $x is rw) { ++$x }; say f my int $a = 42 | 20:26 | |
camelia | rakudo-moar b9d6d3: OUTPUT«Expected a native int argument for '$x' in sub f at /tmp/bEwFe5Rqi9:1 in block <unit> at /tmp/bEwFe5Rqi9:1» | ||
moritz | m: sub f(int $x is rw) { ++$x }; my int $a = 42; f $a; say $a | ||
camelia | rakudo-moar b9d6d3: OUTPUT«43» | ||
moritz | star-m: sub f(int $x is rw) { ++$x }; my int $a = 42; f $a; say $a | ||
camelia | star-m 2015.02: OUTPUT«Cannot assign to an immutable value in sub prefix:<++> at src/gen/m-CORE.setting:5570 in sub f at /tmp/RsnrRUdbpS:1 in block <unit> at /tmp/RsnrRUdbpS:1» | ||
moritz | seems 2015.02 is too old :-) | 20:27 | |
abraxxa | for NativeCall that is | ||
FROGGS | yes, the Changelog also indicates that 2015.02 is too old | ||
abraxxa | how do i specify is rw and is encoded for a param? | 20:28 | |
then i'll go home now and continue with 2015.03 | |||
it compiles though | |||
FROGGS | m: use NativeCall; sub foo(int32 is rw) is native { * } | 20:29 | |
camelia | ( no output ) | ||
FROGGS | m: use NativeCall; sub foo(int32 is rw is encoded('utf8')) is native { * } | ||
camelia | ( no output ) | ||
FROGGS | abraxxa: just like this ^^ | ||
abraxxa | FROGGS: thanks | ||
FROGGS | abraxxa: bitte :o) | 20:32 | |
jnthn | evening, #perl6 | 20:33 | |
FROGGS | hi jnthn | ||
nwc10 | heresy! | ||
abraxxa | hi and bye jnthn! | ||
20:34
colomon joined
|
|||
abraxxa | FROGGS: winning! | 20:34 | |
jnthn | Release day tomorrow, yes? :) | ||
FROGGS | yes | ||
:o) | |||
jnthn | Then given I'll be being grilled tomorrow daytime too, I should probably cut the release tonight :) | 20:35 | |
uh, the *MoarVM* release. | |||
FROGGS | jnthn++ | 20:36 | |
abraxxa | FROGGS: strings work, numbers fail | ||
FROGGS | weird | ||
jnthn | So...there are numerous bugs? :) | 20:37 | |
abraxxa | nah, i just need to bind them differently | 20:38 | |
not encode them to utf8 | |||
how do i get the size of a passed int? | 20:39 | ||
FROGGS | m: use NativeCall; say nativesizeof(int32) | 20:40 | |
camelia | rakudo-moar b9d6d3: OUTPUT«4» | ||
dalek | Heuristic branch merge: pushed 31 commits to perl6-examples by paultcochrane | 20:41 | |
[Coke] | (approaching the language) synopses maybe. Everything else is a historical document and will probably confuse. | ||
jnthn: don't forget, there's a new step in the release. | |||
jnthn | [Coke]: In...the MoarVM release? | ||
FROGGS | signing it? | 20:42 | |
[Coke] | jnthn: ayup! | ||
jnthn | [Coke]++ even put it in the release guide :) | ||
[Coke] | I will consider this notice. :) | 20:43 | |
20:45
eli-se joined
|
|||
abraxxa | how do i change if $v ~~ Int { to also match Rat? | 20:46 | |
FROGGS | match against Numeric? | ||
colomon | Real would be more appropriate. But that’s more than just Int and Rat | 20:47 | |
Ulti | if $v ~~ Int|Rat {} assuming you really do want to do what you're asking :3 | 20:48 | |
abraxxa | FROGGS: never mind, i have to bind it with a different type anyway | ||
ORA-03115: unsupported network datatype or representation | 20:49 | ||
nice, starts to work | |||
20:50
skids joined
|
|||
terahzer | Well I'm reqding them who care if they are not updated | 20:50 | |
abraxxa | i might have to tell it that i don't pass utf8 encoded data to it | ||
20:51
alini joined,
rurban joined
|
|||
abraxxa | so, i'm really going now | 20:52 | |
good luck with the new release! | |||
FROGGS | abraxxa: o/ | ||
[Coke] | abraxxa++ #oracle support. | ||
abraxxa | hopefully! | ||
terahzer | what is the sintax for array literals in perl6 when in perl5 would be (0) x 10 for instance? | 20:53 | |
20:54
abraxxa left
|
|||
rurban | Got a design question. Do you have the is hidden_from_backtrace trait already implemented? In perl5 context it would make much more sense to support both variants positive and negative. Some XSUBs need a flag to be added to backtraces, like Carp and XSLoader::load and some other functions need it negative to be hidden from backtraces. So implement it as :backtrace for xsubpp and the :-backtrace sub attribute which closely res | 20:54 | |
so maybe you want to support a negative trait, like "is !backtrace" | 20:55 | ||
FROGGS | m: sub foo is hidden_from_backtrace { } | 20:56 | |
camelia | ( no output ) | ||
FROGGS | is implemented, aye | ||
rurban | and negative in some form as perl5 :-attr? | ||
FROGGS | rurban: !backtrace look almost like a private method | ||
[Coke] | m: sub foo is notimplemented {} | ||
camelia | rakudo-moar b9d6d3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fmHTMfK5upCan't use unknown trait 'is notimplemented' in a sub declaration.at /tmp/fmHTMfK5up:1------>  expecting any of: rw parcel hidden-from-backtrace hidden-from-USAGE pur…» | ||
[Coke] | (making sure you didn't cheat. ;) | 20:57 | |
20:57
pullphinger left
|
|||
FROGGS | rurban: the native form '!backtrace' would only make sense if we had a positive form I guess | 20:57 | |
[Coke] | m: sub foo is hidden_from_backtrace { die "eek" } ;sub bar() { foo } ; bar | ||
camelia | rakudo-moar b9d6d3: OUTPUT«eek in sub bar at /tmp/pImUxDwHYa:1 in block <unit> at /tmp/pImUxDwHYa:1» | ||
terahzer | How would you do to do @list = (0) x 5; in perl 6 ? | ||
FROGGS | terahzer: operator xx | ||
m: say 1 xx 5 | |||
camelia | rakudo-moar b9d6d3: OUTPUT«1 1 1 1 1» | 20:58 | |
rurban | m: sub foo is not rw | ||
camelia | rakudo-moar b9d6d3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vurcl5LsVbMissing blockat /tmp/vurcl5LsVb:1------> 3sub foo is not7⏏5 rw expecting any of: new name to be defined» | ||
terahzer | cool | ||
FROGGS | rurban: there is no negation form of traits | ||
rurban: because you apply a trait... you can't un-apply it | |||
rurban: like you cannot uncall a subroutine | |||
a trait is a very generic thing | |||
terahzer | m: @l = (1,2,3,4); @l »+=« 1 xx 4; say @l; | ||
camelia | rakudo-moar b9d6d3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/swMn8Wo3_CVariable '@l' is not declaredat /tmp/swMn8Wo3_C:1------> 3@l7⏏5 = (1,2,3,4); @l »+=« 1 xx 4; say @l; expecting any of: postfix» | ||
rurban | yes, I thought just for shorter names | 20:59 | |
FROGGS | it is not just a hash like annotation | ||
terahzer | m: my @l = (1,2,3,4); @l »+=« 1 xx 4; say @l; | ||
camelia | rakudo-moar b9d6d3: OUTPUT«2 3 4 5» | ||
terahzer | this thing »+=« is difficult to type on most keyboard, how do you do that ? | ||
FROGGS | rurban: like the 'is inline("C")' trait wraps a routine and compiles+runs C code... | ||
you cannot un-apply that | 21:00 | ||
rurban | Do you have subs which do not record their calling context, like perl5 xsubs? | ||
FROGGS | rurban: not that I know offhand | ||
rurban | ok. So I will have a minor perl6 deviation on this one | ||
It's just syntax, the concept is the same | 21:01 | ||
sub inner is hidden-from-backtrace { die "OH NOEZ" }; | 21:03 | ||
looked pretty lispy and unperly to me :) | |||
skids | terahzer: First you make sure you have a compose key mapped. Then compose > > . | ||
vendethiel | skids: EIMONWINDOWS | 21:04 | |
terahzer: >>[+=]<< | |||
(while the [] are not *necessary*, I certainly think they help reading) | |||
FROGGS | I've got «» on alt-gr + x/y | 21:05 | |
vendethiel | FROGGS: how do you do that? :P | ||
FROGGS | vendethiel: using ubuntu I guess :o) | ||
21:05
skids left
|
|||
vendethiel | ha! | 21:06 | |
jnthn | m: my @l = (1,2,3,4); @l>>++; say @l | ||
camelia | rakudo-moar b9d6d3: OUTPUT«2 3 4 5» | ||
FROGGS | m: my @l = (1,2,3,4); @l >>+=<< 1 xx 4; say @l; # because it is hard to type we have texas style ops :o) | ||
camelia | rakudo-moar b9d6d3: OUTPUT«2 3 4 5» | ||
[Coke] | on mac it's alt-\ and alt-| to get «» | 21:07 | |
Ulti | lol who is @KruthikDhillon on Twitter? they appear to only tweet trollish comments about #perl6 and weird gushing messages about "Elavan" | 21:08 | |
exclusively just those two topics x___X | |||
[Coke] | your code editor may also have a way to insert them, even if your OS is unhelpful. but most OSes have some way for you to generate non-ascii. | ||
terahzer | the original idea was to allowing @l = (1,2,3,4); @l >>+=<< 1 ; say @l; (list scalar operation) what was ambiguous about that? | 21:09 | |
jnthn | terahzer: You get that with >>+=>> | 21:10 | |
terahzer | Good, why was it deemed necessary to discriminate? | ||
jnthn | Point the things outwards to get DWIM-y behavior. | ||
FROGGS | discriminate? | 21:12 | |
jnthn | I think that was decided before I was around here. At a guess, so you have a way to indicate you expect the same size so you don't get caught out by the auto-extending behavior. | ||
FROGGS | ahh | ||
terahzer | by the way direction of arrows is intuitive | 21:13 | |
jnthn | It may be that the one form optimizes (e.g. to SIMD stuff) easier. | ||
terahzer | let you do things like @l = 2 <<+<< @l | ||
jnthn | Though we ain't do that just yet :) | ||
21:13
colomon left
21:14
dalek left
|
|||
terahzer | jnthn by my experience SIMD don't optimizes for anything in this simple cases | 21:14 | |
even in C | |||
21:14
dalek joined,
ChanServ sets mode: +v dalek
|
|||
retupmoca | vendethiel: github.com/SamHocevar/wincompose | 21:15 | |
dalek | kudo/cpp: 051c602 | lizmat++ | src/core/native_array.pm: Make my int @a = Range about 1000x faster |
||
rakudo/cpp: 0f780b2 | timotimo++ | src/Perl6/Optimizer.nqp: | |||
rakudo/cpp: BlockVarOptimizer's $!poisoned can be a native int | |||
21:15
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
21:19
cognominal joined
21:20
kjs_ joined
21:22
alini left
21:24
osto joined
21:30
yqt joined
|
|||
lizmat de-diverged | 21:31 | ||
if you liked Divergent (1), you're going to like this one as well | 21:32 | ||
if you're into special effects, you're also in for a treat | |||
it made a lot more sense to me than Jupiter Ascending, for that matter :-) | |||
japhb | lizmat: What movie did you see? | 21:33 | |
lizmat | Divergent 2 | 21:34 | |
aka insurgence 3D, I believe | |||
nine_ | FROGGS++ # working on NativeCall | ||
japhb | Ah, OK, I guessed as much, but didn't know it existed yet. | ||
lizmat | it came out about a week ago here | ||
japhb | (everyone-who-works-on-NativeCall)».++ | ||
terahzer | I don`t understand; to access an array element in p6 you do @l[0] ; but isn't it a scalar? | ||
lizmat | .oO( it's nice to live within walking distance of a very nice cinema ) |
21:35 | |
japhb | Just saw the original last week. Must be why it came up for streaming (to prime the audience). | ||
21:35
kjs_ left
|
|||
lizmat | m: my @a = ^10; say @a[5].WHAT | 21:35 | |
camelia | rakudo-moar b9d6d3: OUTPUT«(Int)» | ||
japhb | terahzer: In Perl 6, sigils don't change when you access an element of a collection, unlike in Perl 5. | 21:36 | |
lizmat | m: my @a = ^10; say @a[5,6].WHAT | ||
camelia | rakudo-moar b9d6d3: OUTPUT«(Parcel)» | ||
japhb | terahzer: It regularizes things with respect to what lizmat++ just showed. | ||
lizmat | m: my @a = ^10; say @a[5].VAR.WHAT | ||
camelia | rakudo-moar b9d6d3: OUTPUT«(Scalar)» | 21:37 | |
lizmat | m: my @a = ^10; say @a[5,6][0].VAR.WHAT | ||
camelia | rakudo-moar b9d6d3: OUTPUT«(Scalar)» | ||
terahzer | ok | 21:39 | |
21:45
xfix left
|
|||
lizmat | FROGGS: re irclog.perlgeek.de/perl6/2015-03-18#i_10302099 it is called hidden-from-backtrace now :-) | 21:46 | |
the other one still works, though :-) | |||
terahzer | more than SIMD on hyperoperators, I think that multithreads in the map function could be an huge performance boost | ||
21:46
anaeem1 left
|
|||
japhb | terahzer: Do you know about the GLR? | 21:47 | |
21:47
anaeem1_ joined
|
|||
FROGGS | lizmat: yeah, I almost guess that when typing it :o) | 21:47 | |
terahzer | no, googling now | ||
japhb | terahzer: It's the Great List Refactor -- we're rewriting how Rakudo (and for the user-visible portions, Perl 6) handles slinging lists around, which deeply affects how map and friends work -- and critically, how they perform. | 21:48 | |
21:49
mj41 left
|
|||
FROGGS | terahzer: pmthium.com/2014/10/apw2014/ | 21:49 | |
21:49
colomon joined
|
|||
japhb | I think the GLR design meeting at APW was probably the most productive meeting I've been in where I was simultaneously frustrated out of my mind. | 21:50 | |
21:51
anaeem1_ left
|
|||
hoelzro | I did a fair amount of work last night to remove linenoise/readline from MoarVM, and I broke out the functionality into a Linenoise module | 21:52 | |
japhb | hoelzro++ | 21:53 | |
hoelzro | we could direct users to install Linenoise via panda, or we could bundle Linenoise with rakudo; what would be the preferred approach? | ||
FROGGS | I guess we want to continue shipping a REPL | 21:54 | |
japhb | Though, does that mean that nqp no longer has a REPL? | ||
We definitely want a REPL for Rakudo. | |||
hoelzro | there's still a REPL | ||
japhb | (Standard, I mean.) | ||
hoelzro | it just uses Linenoise.pm rather than nqp::readlineint_fh for reading lines | 21:55 | |
falling back to nqp::readline if the former isn't available | |||
the cool thing is that the REPL in my fork now has tab completion | |||
japhb | Oooh | ||
hoelzro | which I think would have been too hard to do with readline at the VM level | 21:56 | |
(well, we would've needed a nqp::readlineint_completion_cb op, which seems like overkill) | |||
FROGGS | hoelzro: and the REPL also works for nqp-m? | ||
hoelzro checks | |||
yup | |||
although it doesn't have history like it used to =/ | 21:57 | ||
so that's a drawback | |||
21:58
diana_olhovik left
|
|||
lizmat | I would think Linenoise.pm would be a nice addition to the core | 22:04 | |
hoelzro | I'm just not sure if it's core or star worthy' | 22:05 | |
jnthn | Well, doesn't the REPL depend on it? | ||
Or, or won't the REPL depend on it... | |||
hoelzro | it tries to load it; if it can't, it falls back to nqp::readline | 22:06 | |
jnthn | *nod* | ||
Do we have a Readline.pm that can be tried also? :) | |||
hoelzro | jnthn: I would like to have the REPL do that too | ||
jnthn | *nod* | ||
22:07
nige left
|
|||
jnthn | hoelzro++ | 22:07 | |
hoelzro | I'll push up the bits and pieces I have after work tonight | ||
jnthn | To a branch, yes? | ||
hoelzro | the completion is extremely primitive and kludgey | ||
oh my yes =) | |||
I'm not confident enough in my Moar/NQP/Rakudo fu to push anything non-trivial to nom|master | 22:08 | ||
the current work (which removes linenoise) is here: | |||
github.com/rakudo/rakudo/tree/no-linenoise | |||
github.com/perl6/nqp/tree/no-readlineint | 22:09 | ||
FROGGS | hoelzro++ | ||
hoelzro | github.com/MoarVM/MoarVM/tree/no-moar-linenoise | ||
and here's Linenoise.pm: github.com/hoelzro/p6-linenoise | |||
22:09
FROGGS left
|
|||
jnthn | Well, also we don't want to land such a thing this side of the relese :) | 22:09 | |
*release | |||
hoelzro | >:) | 22:10 | |
I wouldn't expect that; it was (I think smls?) comment that inspired me | |||
if it's in 2015.04, that's cool | |||
the completion work is sitting uncommitted at home; it will need a fair amount of work | |||
also, p6-linenoise doesn't bundle linenoise.so, and I needed to use a patched version of linenoise to re-enable blocking on STDIN | 22:11 | ||
eli-se | I like hash tables. | 22:14 | |
22:15
rurban left
|
|||
jnthn | .oO( ...and I can not lie ) |
22:15 | |
hoelzro: Hm, that sounds like something we should find some other way to fix. | |||
hoelzro | jnthn: agreed | ||
22:19
Rounin left
|
|||
itz | completion! yay | 22:19 | |
22:19
coffee` left
|
|||
hoelzro | ah, it was you, itz, who brought it up yesterday | 22:20 | |
I just have a bad memory =) | |||
jnthn | Time for some rest, now the Moar release is cut :) | 22:21 | |
'night, #perl6 | |||
hoelzro | night jnthn | 22:22 | |
lizmat also takes a long nap | |||
22:22
noganex left
22:26
noganex joined
22:31
cognominal left
22:35
terahzer left
22:43
gfldex left
22:45
MadcapJake joined,
vike left
22:47
Madcap-Jake left
22:59
vike joined,
Alina-malina left
23:00
Alina-malina joined
23:08
cognominal joined
23:09
fhelmberger joined
23:12
tbrowder left
23:13
dabockster joined
23:14
fhelmberger left
23:15
eli-se left
23:17
aborazmeh joined,
aborazmeh left,
aborazmeh joined
23:24
aborazmeh left
23:26
aborazmeh joined,
aborazmeh left,
aborazmeh joined
23:28
BenGoldberg_ joined
23:29
yeltzooo left
23:30
yeltzooo joined
23:33
mohij left
23:34
madmuid left
23:43
tinyblak left,
tinyblak joined
23:48
tinyblak left
|