»ö« 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. |
|||
Lambd0x | ugexe, If I unninstall GTK::Simple and remove module call in the code even thought the path contains the binaries it seems it won't just understand it :( | 00:01 | |
ugexe | Lambd0x: show me the full command and output | ||
00:01
Guest56511 left
|
|||
timotimo | Lambd0x: oh, you'll get a few FATAL errors from gtk and/or glib. they are harmless | 00:02 | |
like, when i start gimp, i get this message twice: (gimp:24418): Gimp-Widgets-CRITICAL **: gimp_device_info_set_device: assertion '(info->device == NULL && GDK_IS_DEVICE (device)) || (GDK_IS_DEVICE (info->device) && device == NULL)' failed | |||
Lambd0x | ugexe, pastebin.com/4wwyA3Ai (The module call has been removed from the code.) | 00:04 | |
this path contains all the dlls. | |||
00:05
raschipi joined
|
|||
Lambd0x | timotimo, ye but my app won't run :/ | 00:05 | |
ugexe | Lambd0x: if you are inside the gtk-simple repo when running the command, use `perl6 -I. <whatever>` | 00:06 | |
`C:\Users\Nicolas Peter Lane\gtk-simple>perl6 -I. ..\Downloads\tabelaJM.pl6` | |||
00:08
k-man left
|
|||
Lambd0x | ugexe, the same thing still happens | 00:10 | |
00:10
mr-foobar left
|
|||
ugexe | does your script include a module named App? or is that presumably something with GTK::Simple? | 00:12 | |
00:12
mr-foobar joined
|
|||
ugexe | because the error you posted makes sense because the -I path you included wasn't a perl distribution/lib path | 00:12 | |
timotimo | well, gtk-simple does come with a module called App | 00:13 | |
00:13
Cabanossi left
|
|||
timotimo | github.com/perl6/gtk-simple/blob/m...le/App.pm6 | 00:13 | |
Lambd0x | A code provided by the GTK::Simple oop object. | ||
ugexe | well it wouldn't have known about GTK::Simple::App *at all* because the -I path didn't point to anything | 00:14 | |
00:14
Cabanossi joined
|
|||
Lambd0x | but even with the latter suggestion? | 00:14 | |
ugexe | with -I. (while cwd is the gtk simple repo) it would find the module, so I would expect the error to be different at least | 00:15 | |
try -Ilib maybe | |||
installed/-I<meta-path>/-I<lib-path> all work slightly different | 00:16 | ||
Lambd0x | ok, but in the code do I keep the Gtk::Simple module calls commented? | ||
ugexe | no. does `perl6 -I. -e "use GTK::Simple::App;"` not blow up? | 00:18 | |
00:19
mr-foobar left
|
|||
ugexe | Lambd0x: did you post your code somewhere? | 00:20 | |
Lambd0x | ugexe, just the latter cmd of your it doesn't blow. | 00:21 | |
I'll post the code. | |||
pastebin.com/ADTRmK3Z | 00:22 | ||
00:30
mr-foobar joined
|
|||
Lambd0x | pastebin.com/hr7bpNpv after your suggestion of cmd I`ve tried to execute the code it hangs at least a minute then it returns this pastebin.com/hr7bpNpv | 00:34 | |
ugexe | i wonder if its the spaces in the path | 00:37 | |
Failed to copy 'C:\Users\Nicolas Peter Lane\resources\blib\lib\GTK\libgtk-3-0.dll' to 'C:\Users\NICOLA~1\AppData\Local\Temp\libgtk-3-0.dll': Failed to copy file: no such file or directory in sub find-bundled at C:\Users\Nicolas Peter Lane\gtk-simple\lib/GTK/Simple/NativeLib.pm6 (GTK::Simple::NativeLib) line 98 | 00:38 | ||
does `dir C:\Users\NICOLA~1\AppData\Local\Temp\` show you a directory listing or say "The system cannot find the file specified." | 00:40 | ||
Lambd0x | ugexe, It lists the dir files pastebin.com/zuvTeH91 | 00:42 | |
00:44
cdg left
|
|||
Lambd0x | ugexe, I've tried getting the files copied before handed but it still tries to copy them and fails | 00:46 | |
bah It's quite complicated to get this module working for Win. ahha | 00:47 | ||
ugexe | hmmm so it seems to be copying all but 1 file | 00:49 | |
Lambd0x | ugexe, it fails with libgtk-3-0.dll but it's there already | 00:55 | |
ugexe, maybe it would make sense with the issue already open that you showed to me? | 00:56 | ||
00:57
k-man joined
00:58
astj joined
|
|||
jdv79 | could not parse XML | 01:01 | |
cool error XML | |||
can't a grammar at least kick out a guess? | 01:02 | ||
lookatme | morning | 01:03 | |
jdv79, debug document: docs.perl6.org/programs/01-debugging | 01:05 | ||
ugexe | Lambd0x: probably need a new ticket | ||
i'm getting the same error with your script, even though the library it says it cant load is where it says | |||
Lambd0x | I see. | 01:08 | |
ugexe, sad. | |||
jdv79 | Grammar::Tracer doesn't seem to work from the calling scope | ||
which would be neat | |||
lookatme | How about `use trace` ? | 01:10 | |
01:10
raschipi left
|
|||
jdv79 | why would that help me? | 01:10 | |
i know what's running. its kicking an error msg. | 01:11 | ||
lookatme | Sometimes, grammar error not friendly | 01:13 | |
jdv79 | i guess there isn't a neat way to get generic errors | ||
yet | |||
lookatme | For me, I often use `<?{}>` non-capture group for debugging grammar . | 01:14 | |
timotimo | Grammar::Tracer changes how grammars are compiled, so it can't be dynamic | ||
lookatme | I have not try Grammar::Tracer yet, I just know it | 01:15 | |
mst | maybe the PPR::Error thing damian added after I pointed out that failed PPR parses were essentially undebuggable would help | ||
jdv79 | i'm not trying to debug a grammar i'm authoring. just trying to figure out why the XML module failed to parse some xml | ||
that's the use case | |||
lookatme | m: grammar C { token TOP() { ^ <s> $ }; token s { "int main" <?{ say "GET $/";}> } }; C.parse("int main") | 01:17 | |
camelia | GET int main | ||
lookatme | That's what I said | 01:18 | |
jdv79 | thanks | ||
well, that's interesting. vim crashes when trying to edit that "xml" file. | 01:23 | ||
its just a reddit page | |||
weird | |||
lookatme | :( | 01:25 | |
jdv79 | oh, its working. my fault. forgot the /.rss part. | 01:26 | |
doh! | |||
oh but rakudo segv'd | |||
:( | |||
01:27
Lambd0x left
01:31
astj_ joined,
astj left
|
|||
jdv79 | wonder if i can golf that one | 01:33 | |
MasterDuke | jdv79: did you build your own rakudo? if so, could you rebuild moar with debugging and try running in gdb and/or valgrind? | 01:36 | |
jdv79 | its breaking cause of oter stuff now. i'll try to get there... | ||
01:41
Cabanossi left
|
|||
jdv79 | "Odd number of elements found where hash initializer expected" - what's that all about when i'm assiging it a ${...} | 01:42 | |
01:43
Cabanossi joined
|
|||
geekosaur | er? ${...} itemizes it, so you'd be assigning one thing | 01:44 | |
jdv79 | it used to work | ||
this is code that ran "fine" > 6 months ago | |||
well, this part | |||
01:46
ilbot3 left
01:48
ilbot3 joined,
ChanServ sets mode: +v ilbot3
|
|||
jdv79 | I'm guessing Hash.new changed so that you can just stuff a {} but it needs |{} | 01:50 | |
weird | |||
*can't | |||
01:55
nadim left
|
|||
MasterDuke | can you show just the part that used to work so we can bisect it? | 02:02 | |
02:15
noganex joined
02:18
noganex_ left
|
|||
Geth | doc: VynceMontgomery++ created pull request #1412: Document some of the Cool traps |
02:20 | |
BenGoldberg | m: my role R {}; Metamodel::MethodContainer.add_method( R, "asdf", sub { 42 } ); dd R.asdf; | 02:22 | |
camelia | No such method 'add_method' for invocant of type 'Perl6::Metamodel::MethodContainer'. Did you mean 'add_method'? in block <unit> at <tmp> line 1 |
||
Geth | doc: VynceMontgomery++ created pull request #1413: Explicitly note coercion to string for .contains |
02:25 | |
02:26
mr-foobar left
02:29
TimToady left
02:31
TimToady joined,
troys_ is now known as troys
|
|||
Geth | doc: ef19e0695b | (Vynce Montgomery)++ (committed by Zoffix Znet) | doc/Language/traps.pod6 Document some of the Cool traps (#1412) As discussed in #992 there are a few possible traps in Cool, especially with regard to Lists. Some of these behaviors may change, but while they work this way, let's document them. |
02:32 | |
doc: 6ffd299f1d | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/traps.pod6 Fix typo in URL |
02:33 | ||
02:37
pilne left
02:41
cpage__ left
02:42
cpage_ joined,
Cabanossi left
02:43
Cabanossi joined
02:50
shadowpaste left
02:51
casdr left,
casdr joined
02:56
shadowpaste joined
03:00
astj joined,
astj_ left
03:18
khw left
03:21
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
03:35
kyan left
03:36
TreyHarris left
03:39
troys is now known as troys_
|
|||
Geth | whateverable/master: 9 commits pushed by (Aleks-Daniel Jakimenko-Aleksejev)++ | 03:44 | |
AlexDaniel | phew! | ||
03:47
greppable6 left,
japhb joined
03:48
kyan joined,
coverable6 left,
greppable6 joined,
ChanServ sets mode: +v greppable6
03:49
TreyHarris joined
03:52
greppable6 left
03:56
Cabanossi left
|
|||
Geth | whateverable: a9683044c8 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files The absence of -- in a command is usually a bug In this case, a query like “HEAD grep=-V say 42” was failing. Not that it is a sensible query, but it shouldn't fail like that. Another possible solution is to use ‘-e’ (which expects a pattern in the next argument), but it is slightly less explicit as I'm used to seeing -- everywhere (and also assuming that there's a bug if I don't see it). |
03:57 | |
03:57
Cabanossi joined
|
|||
AlexDaniel | 10 commits, 0 issues resolved /o\ | 03:58 | |
ugexe | i | 04:01 | |
Geth | perl6.org: c5e401c102 | (Zoffix Znet)++ (committed using GitHub Web editor) | source/resources/index.html List perl6book.com/ chart in book section |
04:10 | |
04:13
japhb left
04:15
japhb joined
04:33
xtreak joined,
troys_ is now known as troys
04:34
skids left
04:37
xtreak left
04:40
Cabanossi left
04:42
Cabanossi joined
04:46
zoll joined,
raiph joined
04:49
japhb left
04:51
japhb joined
04:52
ChoHag left
05:00
Atomic_qm8UY joined
05:07
MasterDuke left
05:15
japhb left
05:17
Atomic_qm8UY2 joined,
japhb joined
05:18
ChoHag joined
05:20
Atomic_qm8UY left
05:25
Atomic_qm8UY2 left
05:27
Atomic_qm8UY joined
05:28
Atomic_qm8UY left
05:29
mr-foobar joined
05:31
BenGoldberg left
05:32
druonysuse left
05:38
ufobat joined
05:42
wamba joined
05:58
troys left,
astj left
05:59
astj joined
06:10
Xliff joined
06:11
|oLa| joined
06:13
nadim joined
|
|||
Geth | whateverable: e19b4441e5 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files Fix tests I guess the idea of having suggestions defined in tests is not perfect. Newer commits may have “nicer” shas, and this breaks tests for no good reason. For now, I'll just change the test, but in a long run we should come up with something better. |
06:17 | |
whateverable: e08dcfa8bc | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/bisectable.t Fix Bisectable test This test will take a bit longer given that we now have pre-2015.12 commits stored in a more compact (but slower) way. |
|||
06:21
benchable6 left,
quotable6 left,
bloatable6 left,
statisfiable6 left,
unicodable6 left,
evalable6 left,
bisectable6 left,
committable6 left
06:24
bisectable6 joined,
evalable6 joined,
committable6 joined,
bloatable6 joined,
quotable6 joined,
ChanServ sets mode: +v bisectable6,
ChanServ sets mode: +v evalable6,
ChanServ sets mode: +v committable6,
ChanServ sets mode: +v bloatable6,
ChanServ sets mode: +v quotable6,
unicodable6 joined,
coverable6 joined,
ChanServ sets mode: +v unicodable6,
ChanServ sets mode: +v coverable6,
greppable6 joined,
ChanServ sets mode: +v greppable6,
benchable6 joined,
ChanServ sets mode: +v benchable6,
statisfiable6 joined,
ChanServ sets mode: +v statisfiable6
06:26
emeric joined
06:29
cpage_ left
06:32
nadim left
06:36
DarthGandalf left
06:37
DarthGandalf joined
06:38
domidumont joined,
profan joined
06:39
leedo_ joined
06:40
konsolebox left,
domidumont left
06:41
leont joined
06:42
matt_ joined,
matt_ is now known as Guest91083
06:47
konsolebox joined
06:52
xtreak joined
06:57
xtreak left,
bwisti left
07:00
abraxxa joined
07:03
AlexDaniel left
07:05
abraxxa left
07:09
cpage_ joined
07:12
rindolf joined
07:14
salva joined
07:20
darutoko joined
07:23
domidumont joined
07:24
abraxxa joined
07:26
geekosaur left
07:27
geekosaur joined
07:28
domidumont left
07:29
domidumont joined
07:59
domidumont left
08:00
domidumont joined,
robertle joined
08:03
zoll left
08:14
xtreak joined
08:15
xtreak left
08:16
kyan left
08:19
kyan joined
|
|||
lookatme | Hi | 08:24 | |
no-n | hi | 08:25 | |
lookatme | Is someone know well Supply ? | ||
gist.github.com/araraloren/c9f53c8...b25d3c347b | 08:26 | ||
08:26
Cabanossi left
|
|||
lookatme | I wonder how that `auto-restart` work? | 08:26 | |
08:26
seatek left
|
|||
lizmat | lookatme: why the subs inside of the supply block ? | 08:27 | |
08:27
Cabanossi joined
|
|||
lizmat | why not lose the sub? | 08:27 | |
lookatme | I stole the idea from jonathan's video | 08:28 | |
lizmat | ah, now I see... | ||
:-) | |||
ok, that's clear then :-) | |||
lizmat should wake up before writing comments | |||
08:29
xtreak joined
08:30
xtreak left
|
|||
lookatme | And I comment line 43, with that line the script will be exit when an exception raised | 08:32 | |
08:51
ilmari joined
|
|||
jnthn | lookatme: The whenever taps the incoming Supply. When there's an asyncrhonous exception, it's caught by the QUIT, and in reaction it calls auto() again which runs whenever again which taps the Supply again, thus starting processing again. And the QUIT is re-instated for the next attempt. | 09:03 | |
lookatme | jnthn, thanks, that's clear now. And that | 09:06 | |
's make sense why when I add line 43, the script exit | 09:07 | ||
09:07
bjz joined
|
|||
perlawhirl | m: say bag(< A B >) ⊂ bag(< A A B C C D >) | 09:09 | |
yoleaux | 6 Jul 2017 18:39Z <zengargoyle> perlawhirl: thanks for p6-dately, that looks sorta like my first thoughts before reading the strptime man page and thinking about locale and stuff. dragons indeed. | ||
camelia | False | ||
lookatme | jnthn, there still a problem, when I remove line 41 `start { $s.wait(); };`, the program not working. I thought it would be work when I call auto-restart on `$server` | ||
jnthn | No, because that just returns a Supply (into $s); you have to tap it still | 09:10 | |
$s.tap; would do it | |||
start { $s.wait() } is just a far more expensive way to do that :) | 09:11 | ||
lookatme | jnthn, got it! cool! That | ||
perlawhirl | lizmat: subsets on bags look a little wonky. ps. really appreciate all the bag/set optimisations. thank you | ||
lookatme | 's work replace with .tap | ||
jnthn, very thanks | |||
jnthn | Welcome :) | 09:12 | |
09:13
xtreak joined
09:14
jameslenz joined
09:15
xtreak left
09:16
parv joined
|
|||
leont | jnthn: regarding reading lines: :encoding is generally considered a hog, :utf8_strict is much faster (and likely to become :utf8 in the next perl5 release) | 09:18 | |
moritz | for years the recommendation was to use :encoding(UTF-8) because :utf8 was unsafe | 09:20 | |
I guess that's what stuck with most of us | |||
09:20
bjz left
|
|||
jnthn | Hm, :encoding(utf8) isn't strict? That surprises me a tad. :) | 09:21 | |
moritz | it is | ||
jnthn | Good to know, though I was after all aiming for "what would the typical programmer not doing much research write" :) | ||
moritz | just :utf8 as a layer isn't | 09:22 | |
jnthn | Oh | ||
moritz | open my $file, '<:utf8', $filename; | ||
jnthn is confused by now :) | |||
moritz | that's the unsafe thing, which leont says is fast | ||
Juerd | Oh boy, :utf8_strict becoming :utf8 means people will get comfortable using :utf8, and introduce security bugs when their code happens to be run with older versions. | 09:23 | |
jnthn | I just googled perl 5 read lines utf-8 and picked the first result :) | ||
moritz | and then there's open my $file, '<:utf8_strict', $filename which is fast and safe | ||
jnthn | Well, after checking it looked like a reputable source (PerlMaven) | ||
moritz | and then there's '<:encoding(UTF-8)' which is safe and slow and has been the recommendation for years and years | 09:24 | |
Juerd | First we get disabled-by-default security fixes for backwards compatibility, and now we get a kind of backwards compatibility that introduces security issues... Perl 5, what are you doing? :( | ||
09:24
notostraca joined
|
|||
leont | moritz is correct | 09:24 | |
09:25
TEttinger left
|
|||
Juerd | And of course the non-fixes by adding the secure version of something with entirely new syntax, while keeping the dangerous thing alive without a way to disable it. (Referring to the new <<>> that's the more secure but semantically different version of <>) | 09:26 | |
leont | jnthn: my point was more that :utf8_strict is a more interesting target to benchmark against, because :encoding is known to be a slow design. | 09:27 | |
moritz | otoh it's what people typically get when they write idiomatic Perl 5 code | 09:28 | |
leont | True | ||
moritz | so arguments for both sides :-) | ||
when was utf8_strict introduced? | |||
Juerd | Wasn't the "first rule of benchmarks": use both alternatives :) | ||
leont | It's a CPAN module, not a core module, has been existing for a few years now | 09:29 | |
moritz | oh | ||
leont | Kind of had to redesign some internals in core to make it suitable for core, for reasons you really don't want to know | ||
09:29
astj left
|
|||
moritz | when I need fast UTF-8 decoding, I've been using Unicode::UTF8 from CPAN | 09:29 | |
leont | :utf8_strict is based on Unicode::UTF8 :-) | ||
09:30
astj joined
|
|||
moritz | oh nice :-) | 09:30 | |
then I'm not as much out-of-touch as I thought I was :-) | |||
jnthn | leont: Will try against that one at some point, though as moritz noted I was aiming for typical use. :) | 09:32 | |
09:38
bjz joined
09:41
notostraca left
09:43
lookatme left,
abraxxa left
09:47
robinsmidsrod joined
09:48
robinsmidsrod left
09:49
robinsmidsrod joined
09:52
robinsmidsrod left
09:55
robinsmidsrod joined
10:04
abraxxa joined
|
|||
zengargoyle | wouldn't a utf8 -> utf8_struct fall under the "need to use v5.028 to activate" sort of thing and utf8 would be just utf8 unless requested somehow? | 10:04 | |
like you don't get postfix_defref or unicode_strings or ... on older perls. | 10:05 | ||
you could probably add some Unicode::Normalize in the p5 somewhere to massage incoming data into some standard form. | 10:12 | ||
ufobat | m: class { has Int @.ints; method new (Int :$int, Int :@ints) { self.bless( ints => defined $int ?? [$int] !! @ints);} }.new(ints => [1,2]).perl.say | 10:18 | |
camelia | Type check failed in binding to parameter '@ints'; expected Positional[Int] but got Array ($[1, 2]) in method new at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
ufobat | how could i get this to work? | ||
10:19
leont left
|
|||
jnthn | Depends what exactly you want :) | 10:20 | |
m: class { has Int @.ints; method new (Int :$int, :@ints) { self.bless( ints => $int // @ints) } }.new(ints => [1,2]).perl.say | 10:21 | ||
camelia | <anon|71260544>.new(ints => Array[Int].new(1, 2)) | ||
jnthn | That's one way | ||
(Which allows an untyped array to be bassed to new) | |||
10:24
leont joined
|
|||
ufobat | and if i want to type contraits @ints from new? or .. could this be considdered as obsolte because if i pass rubbish self.bless fails anyway, and both is a runtime error | 10:25 | |
zengargoyle | m: class { has Int @.ints; submethod BUILD (Int :$int, :@ints) { @!ints = $int // @ints } }.new(ints =>[1,2]).perl.say | 10:27 | |
camelia | <anon|61340096>.new(ints => Array[Int].new(1, 2)) | ||
ufobat | another question, is there a way to reduce the named arguments in new() to one? so that from a callers perspective i could .new(ints => 1) OR .new(ints => [1,2]) | 10:28 | |
10:28
astj left
10:29
astj joined
|
|||
jnthn | Just try it? :P | 10:31 | |
m: class { has Int @.ints; }.new(ints => 1).perl.say | |||
camelia | <anon|70756240>.new(ints => Array[Int].new(1)) | ||
jnthn | m: class { has Int @.ints; }.new(ints => [1,2,3]).perl.say | ||
camelia | <anon|65849280>.new(ints => Array[Int].new(1, 2, 3)) | ||
jnthn | I think the constraint inside of the class is enough | 10:32 | |
10:32
xtreak joined
|
|||
ufobat | class { has Int @.ints; method new (:$int) { self.bless( ints => $int ~~ Array ?? $int.flat !! $int);} }.new(int => 1).perl.say | 10:32 | |
10:32
kyan left,
astj left,
astj_ joined
|
|||
ufobat | huh! | 10:33 | |
i like your solution much better than mine :) | |||
thanks for all the help :) | 10:34 | ||
Zoffix puts on a fireproof suit | 10:35 | ||
10:35
Hor|zon joined
|
|||
Zoffix | New blog post: "The Hot New Language Named Rakudo": perl6.party/post/The-Hot-New-Langu...med-Rakudo | 10:35 | |
10:49
xtreak left
|
|||
llfourn is in general agreement with the above post | 11:04 | ||
11:17
robertle left
|
|||
tbrowder | hi #perl6 | 11:21 | |
llfourn | hi tbrowder | ||
tbrowder | ref star builds: i thiink i see a quick solution to the --prefix problem | ||
hi llfourn | 11:22 | ||
if one configs *without* the prefix option, all will build locally, then the make install option could use an added prefix option to install into a system-wide directory (as root if needed) | 11:24 | ||
ufobat | m: class A {has Str @.a is required; has Str $.aa is required; submethod BUILD(:$a, :$!aa) {@!a = @$a} }; class B is A {has $.b is required }; B.new(a => ["1"], aa => "aa", b => 1).perl.say | 11:26 | |
camelia | B.new(b => 1, a => Array[Str].new("1"), aa => "aa") | ||
ufobat | m: role A {has Str @.a is required; has Str $.aa is required; submethod BUILD(:$a, :$!aa) {@!a = @$a} }; class B does A {has $.b is required }; B.new(a => ["1"], aa => "aa", b => 1).perl.say | ||
camelia | The attribute '$!b' is required, but you did not provide a value for it. in block <unit> at <tmp> line 1 |
||
perlawhirl | bisectable6: say bag(< A B >) ⊂ bag(< A A B C C D >) | ||
bisectable6 | perlawhirl, Bisecting by output (old=2015.12 new=b0c8e18) because on both starting points the exit code is 0 | ||
11:26
bisectable6 left
|
|||
ufobat | i guess thats the expected behavoir? because submethod BUILD of a role does "work" for the first class that uses this role, right? | 11:27 | |
11:27
bjz left
|
|||
timotimo | right, it's just a method (submethod usually) so it does the same mechanism for replacement that you get for any other (sub)method | 11:27 | |
ufobat | so there is no other way to specify the "magic behavour" for the construction via named parameter for a role | ||
i need to do that for each class that implements this role? | 11:28 | ||
11:28
bjz joined,
bjz left
|
|||
timotimo | we don't have a magic mechanism yet | 11:28 | |
ufobat | or could i "extend" the BUILD method defined in a role in the class? | 11:29 | |
timotimo | i don't think you can without knowing the class you're applying to, i think? | 11:30 | |
11:30
parv left
|
|||
tbrowder | so the incantation would be something like: "perl Configure.pl ...", "make; make test" (all as an ordinary user), then, as root, "make install --prefix=/opt/desired-dir" | 11:31 | |
ufobat | i was thinking of submethod BUILD (:$!classparam, *%_) { callsame(|%_)} | ||
so i could just handle my $classparam there and pass the other to the inherited BUILD method? | |||
not sure about callsame() and signatures, but as a principle idea? | |||
timotimo | no, callsame won't give you the original one, because it gets replaced fully | ||
ufobat | :/ | ||
timotimo | you could self.OriginalClass::BUILD() | 11:32 | |
i *think* | |||
ufobat | but instead of callsame() - if i name the BUILD in the role 'BUILD-ROLE' and in the class i do of submethod BUILD (:$!classparam, *%_) { BUILD-ROLE(|%_) } | 11:33 | |
m: class A {has Str @.a is required; has Str $.aa is required; submethod BUILD(:$a, :$!aa) {@!a = @$a} }; class B is A {has $.b is required; submethod BUILD (:$!b, *%_) {self.OriginalClass::BUILD(|%)} }; B.new(a => ["1"], aa => "aa", b => 1).perl.say | 11:35 | ||
camelia | Cannot dispatch to method BUILD on Failure because it is not inherited or done by B in submethod BUILD at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
ufobat | wow thats funny :D | 11:36 | |
m: class A {has Str @.a is required; has Str $.aa is required; submethod BUILD-ROLE(:$a, :$!aa) {@!a = @$a} }; class B is A {has $.b is required; submethod BUILD (:$!b, *%_) {self.BUILD-ROLE(|%_)} }; B.new(a => ["1"], aa => "aa", b => 1).perl.say | 11:37 | ||
camelia | No such method 'BUILD-ROLE' for invocant of type 'B'. Did you mean 'BUILD-ROLE'? in submethod BUILD at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
ufobat | is there a typo i didnt mention? | ||
tbrowder | hm, looks like we would need a new tgt, some like "make install-system /desired/prefix" | ||
s/some/something/ | 11:38 | ||
11:40
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
moritz | ufobat: no, the submethod is not available from the subclass | 11:41 | |
tbrowder | i would also change the current "install" tgt to "install-local" and eliminate the --prefix option. | ||
moritz | ufobat: that's the difference between submethods and methods; submethods aren't inherited | ||
ufobat | moritz, but i can! specify submethod in a role | ||
and the class inheriting that role gets the submethod | |||
moritz | ufobat: I'm talking about yur last example. There BUILD-ROLE is define din a class, not in a role | 11:42 | |
ufobat | ARGS! | ||
i took the wrong one to continue | |||
thanks for pointing it out! | |||
m: role A {has Str @.a is required; has Str $.aa is required; submethod BUILD-ROLE(:$a, :$!aa) {@!a = $a} }; class B is A {has $.b is required; submethod BUILD(:$!b, *%_) { self.BUILD-ROLE(|%_)} }; B.new(a => ["1"], aa => "aa", b => 1).perl.say | 11:45 | ||
camelia | No such method 'BUILD-ROLE' for invocant of type 'B'. Did you mean 'BUILD-ROLE'? in submethod BUILD at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
moritz | you need class B does A | 11:46 | |
not class B is A | |||
ufobat | args! | ||
much better | 11:47 | ||
m: role A {has Str @.a is required; has Str $.aa is required; submethod BUILD-ROLE(:$a, :$!aa) {@!a = $a} }; class B does A {has $.b is required; submethod BUILD(:$!b, *%_) { self.BUILD-ROLE(|%_)} }; A.new(a => ["1"], aa => "aa", b => 1).perl.say | 11:48 | ||
camelia | A.new(a => Array[Str].new("1"), aa => "aa") | ||
ufobat | m: role A {has Str @.a is required; has Str $.aa is required; submethod BUILD-ROLE(:$a, :$!aa) {@!a = $a} }; class B does A {has $.b is required; submethod BUILD(:$!b, *%_) { self.BUILD-ROLE(|%_)} }; B.new(a => ["1"], aa => "aa", b => 1).perl.say | ||
camelia | Type check failed in assignment to @!a; expected Str but got Array ($["1"]) in submethod BUILD-ROLE at <tmp> line 1 in submethod BUILD at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
ufobat | ah maybe yeah | ||
:/ | |||
first example is nonsense now | 11:49 | ||
my real world example works now with submethod BUILD-ROLE() | 11:52 | ||
ufobat needs a break | |||
11:55
aborazmeh left
11:58
abhi_ joined,
abhi_ left
|
|||
tbrowder | ref star: i will work on my proposed solution as a PR if it seems reasonable to others | 11:58 | |
12:03
raschipi joined
|
|||
stmuk_ | tbrowder: I'd rather see R* work the same way as R itself as it does currently | 12:08 | |
I agree that's its non-standard for Configure.pl to copy install files in place but that is currently the way Rakudo works as well as Rakudo Star | 12:09 | ||
tbrowder | the solution may work for both. you are talking about the R* tarball? | 12:10 | |
stmuk_ | yes | ||
tbrowder | nom also? | ||
stmuk_ | I don't follow you | 12:12 | |
tbrowder | never mind, i confused myself. anyhoo, i think the same solution could work for both. if it can, would you agree to a trial? | 12:13 | |
stmuk_ | I see Rakudo Star as being a fairly conservative repacking of Rakudo itself | 12:14 | |
tbrowder | right... | ||
stmuk_ | changing the way Configure/make works probably should be done in Rakudo itself | 12:15 | |
I'm sure people would like to see experiments in branchs and I can help test anything | |||
tbrowder | yep, but it is not easy to root the current behavior out. if i were king, i would go to a cmake build and install system. | 12:16 | |
stmuk_ | yes the current behaviour is unusual and making more standard is a worthy goal | 12:18 | |
I'm not keen on adding cmake as a dependency .. we already have perl as a dependency and that should be powerful enough I'd have thought | 12:19 | ||
tbrowder | so i see my method as a first step in allowing a user config/build and then root install. then the unraveling can be done when someone has the motivation to dig into it. | ||
jnthn | The thing is that Rakudo, NQP, and MoarVM are 3 separate things, each with their own build/install. That we provide a configure option to generate the dependencies is purely intended as a convenience for getting a local development build. | 12:20 | |
Or at least, was ;-) | 12:21 | ||
Maybe it would better meet expectations if instead there was an "install all 3 things" script | |||
So you just ran *that* with required perms | |||
And then it wouldn't look like Configure is installing stuff :P | 12:22 | ||
stmuk_ | :) | ||
tbrowder | cmake can be complex to change over to, but it is cross-platform and builds for linux, mac, and windows. after moving to it, dev life becomes a bit easier for build maint. | ||
jnthn | hahahahaha | ||
stmuk_ | did DESTDIR ever get into Rakudo itself I forget? | ||
jnthn had enough interactions with cmake on Windows to not belive that it'll make his life easier for a moment :P | 12:23 | ||
stmuk_ | tbrowder: although the 3 layer model does make things complicated .. the actual perl 5 scripts are well written, clear, and easy to understand | ||
timotimo | i'm watching Summer Games Done Quick right now, and i've got an idea: maybe we should write the build system as an NES rom | ||
tbrowder | jnthn: you're probbly right, pay money, take choice | ||
timotimo | there's NES emulators for pretty much every device you can think of, after all | 12:24 | |
jnthn | tbrowder: Yeah, I mean, I'm sure cmake is well engineered and stuff | ||
stmuk_ bikesheds by suggesting SNES :P | |||
jnthn | tbrowder: But my experiences have just been "arrrgh". :) | ||
timotimo | oooh, if we build an SNES rom, we could use the custom 3d coprocessor they used for starfox | ||
for something like a pretty progress bar during the build | 12:25 | ||
jnthn | I figure with time more and more people will get Perl 6 from a package manager though | ||
Which is an even better way to not have the issue :-) | |||
stmuk_ | the perl 5 people advise *not* using package manager versions | 12:26 | |
timotimo | we can be better than that! | ||
just have to prevent distro people from applying too many patches | |||
jnthn | stmuk_: Using the package manager to install things != using packages provided by your distro | ||
timotimo | we've also got a prototype for an appimage, for example | 12:27 | |
that covers every single distro under the sun, potentially | |||
tbrowder | my interest in this build business is long-time exp with buiding as ord user and fix any probs before final installation. i feel a bit out of control with it now | ||
stmuk_ | more modern things like docker and snaps are much better than rpm/deb | ||
raschipi | You wish they were. They are just rpb/deb underneath. | 12:28 | |
timotimo | appimages aren't | ||
raschipi | One isn't a substitute for the other anyway. | ||
El_Che | I don't think that docker and rpm/deb compete for the same use cases | 12:29 | |
jnthn | Was gonna say, can't remember the number of dockerfiles I've written that install packages :) | ||
stmuk_ | I probably should experiment with appimage R* | ||
llfourn | +1 for rakudo SNES rom. Maybe we can sell physical rakudo SNES cartridges to support the project. | 12:30 | |
raschipi | When people talk about delivery, they do compete and agree they could be better one day (not yet). But in this discussion, about building and deploying, deb/rpm does it, flatpaks don't. | ||
timotimo | you saw samcv's work in that direction, right, stmuk_? | ||
stmuk_ | nope I will backlog | ||
timotimo | at least a month old | ||
it's in her github i think | |||
stmuk_ | github.com/samcv/rakudo-appimage-m...automation | 12:32 | |
the main thing people have been asking for in R* is $DESTDIR support | |||
12:34
nicq20 joined
12:41
brabo left
12:42
Cabanossi left
12:43
Cabanossi joined
|
|||
stmuk_ decides to look at this anyway | 12:46 | ||
12:48
brabo joined
13:03
linuksz joined
|
|||
linuksz | i have two hash, and i want to make a third hash from them | 13:16 | |
every value in the hashes is a reference to a key-value pair | |||
the hashes have keys that are the same, but both hash keys that aren't in the other hash | |||
the references in the values points to and | |||
- 'english_value' key in %hash1 | |||
- 'translated_value' key in %hash2, e.g. | |||
%hash1<example_msg><english_value> = "some text" | |||
%hash2<example_msg><translated_value> = "valami szöveg" | |||
i want to make a hash that contains both english_value and translated_value for the key: | |||
%hash3<example_msg><english_value> = "some text" | |||
%hash3<example_msg><translated_value> = "valami szöveg" | |||
how can i do it? | |||
13:19
dct joined
|
|||
moritz | m: my %h1 = msg => { english => 'some text' }; my %h2 = msg => { translated => 'text halt' }; my %h; for %h1.keys -> $k { %h{$k}{english} = $h1{$k}{english}; %h{$k}{translated} = $h2{$k}{translated} }; say %h.perl | 13:20 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$h1' is not declared. Did you mean '%h1'? at <tmp>:1 ------> 3 for %h1.keys -> $k { %h{$k}{english} = 7⏏5$h1{$k}{english}; %h{$k}{translated} = $ |
||
moritz | m: my %h1 = msg => { english => 'some text' }; my %h2 = msg => { translated => 'text halt' }; my %h; for %h1.keys -> $k { %h{$k}{english} = %h1{$k}{english}; %h{$k}{translated} = %h2{$k}{translated} }; say %h.perl | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routines: english used at line 1 translated used at line 1 |
||
moritz | m: my %h1 = msg => { english => 'some text' }; my %h2 = msg => { translated => 'text halt' }; my %h; for %h1.keys -> $k { %h{$k}<english> = %h1{$k}<english>; %h{$k}<translated> = %h2{$k}<translated> }; say %h.perl | 13:21 | |
camelia | {:msg(${:english("some text"), :translated("text halt")})} | ||
moritz | linuksz: ^^ | ||
linuksz | and something similar to .append or .push ? | 13:24 | |
moritz | why? | 13:25 | |
linuksz | that would be simpler. | ||
moritz | would it? | 13:26 | |
then show please :-) | |||
13:31
AlexDaniel joined
|
|||
linuksz | it's not good solution, because both hashes has keys that aren't in the other hash | 13:38 | |
moritz | what should the result be in such a case? | 13:40 | |
13:40
Cabanossi left
|
|||
linuksz | a key in %hash3 with only english or only translated value | 13:41 | |
i didn't tried it, but if i think well, it will fail, if a key is only in %hash1 | 13:42 | ||
13:43
Cabanossi joined
|
|||
moritz | for (%h1.keys, %h2.keys).flat.uniq -> $k { ... } | 13:45 | |
13:59
abraxxa left
14:02
cdg joined
14:03
cdg_ joined
14:06
cdg left
14:08
ptolemarch left,
ptolemarch joined
14:10
ChoHag left
14:13
skids joined
14:22
kaare_ left
14:24
dct left
|
|||
jdv79 | i think i'm still getting async related segvs. is that a common thing? | 14:27 | |
SmokeMachine | m: my %h1 = msg => { english => "some text" }; my %h2 = msg => { translated => "text halt" }; my %h; %h.push: %h1.keys Z=> (english => %h1.values>>.<english>); %h.push: %h2.keys Z=> (translated => %h2.values>>.<translated>); dd %h | 14:28 | |
camelia | Hash %h = {:msg($[:english(("some text",)), :translated(("text halt",))])} | ||
SmokeMachine | m: my %h1 = msg => { english => "some text" }; my %h2 = msg => { translated => "text halt" }; my %h; %h.push: %h1.keys Z=> %(english => %h1.values>>.<english>); %h.push: %h2.keys Z=> %(translated => %h2.values>>.<translated>); dd %h | 14:29 | |
camelia | Hash %h = {:msg($[:english($("some text",)), :translated($("text halt",))])} | ||
AlexDaniel | jdv79: well, it depends | 14:32 | |
jnthn | jdv79: I've not seen much of that at all in any of the async stuff I've done of late, but it's certainly the case that code that ends up accidentally over-sharing state can trigger that. | ||
And there are a few code-gen bugs to sort out that might cause that. | 14:33 | ||
AlexDaniel | jdv79: it could be that your code is broken, actually. In my experience, about 70% of problems were my mistakes, and the rest rakudo's :) | ||
jdv79 | i'm trying to golf it but its...being difficult | ||
timotimo | maybe gc debug or nursery size reduction can tease it out better? | 14:34 | |
14:35
kurahaupo joined
|
|||
jnthn | (Also, SEGV really isn't an appropriate response, so that's also on the todo list to fix up.) | 14:35 | |
14:36
pierre_ joined
|
|||
jdv79 | at least its easy to trigger. just golfing it is being too much fun. | 14:36 | |
pierre_ | Hi perl6 users | ||
linuksz | SmokeMachine, your solution isn't good, because it stores a reference to an array in %h<msg>, that contains two reference to key-value pairs. it should contain a reference to a hash | ||
pierre_ | i was off perl6 for sometime, wanted to use some perl6 at work today, to call some APIs, i see that now, we have still HTTP::UserAgent but also some Net::HTTP modules | 14:37 | |
which one should i use? (knowing that i can't install HTTP::UserAgent with zef, some tests are failing | 14:38 | ||
linuksz | i will rewrite my script, so it won't need to use two hashes | 14:39 | |
14:41
lizmat left
|
|||
jdv79 | gist.github.com/anonymous/5a444339...e871151daf | 14:41 | |
timotimo | damn, it doesn't say which gc_mark it comes from :( | 14:42 | |
jnthn | Yeah, that'd need a moar built with debug symbols | 14:44 | |
14:52
wamba left
|
|||
linuksz | i get the following error: sprunge.us/fXPQ when i try to run this code: | 14:56 | |
#!/usr/bin/perl6 | |||
use v6; | |||
use Ncurses; | |||
initscr; | |||
14:56
lizmat joined
|
|||
linuksz | exit; | 14:56 | |
jdv79 | how come make install in rakudo doesn't pickup a newly build moar | ||
timotimo | linuksz: can you have a look at that file? it's potentially a script file | 14:57 | |
the .so file i mean | |||
linuksz | is the problem with the module, or i fucked up something? | ||
timotimo | it depends | 14:58 | |
if the .so file is one of these linker scripts, that's because we don't support these yet | |||
linuksz | so can i solve it, or the module developer? | ||
jdv79 | gist.github.com/anonymous/efbc5104...8916b2e50c | 14:59 | |
timotimo | linuksz: maybe the module author should give a fallback where they allow you to pass a filename per env var | ||
could you please look at what the .so file contains? | 15:00 | ||
linuksz | the module allows to specify the path of the library via PERL6_NCURSES_LIB variable | ||
maybe it solve the problem? | |||
INPUT(-lncursesw) | 15:01 | ||
timotimo | on my machine it contains just INPUT(libncurses.so.6 -ltinfo), which is something we don't support i believe | ||
why that isn't just a symlink we will never know | 15:02 | ||
15:03
domidumont left
|
|||
linuksz | so what should i do? can i solve it? the module author has no activity on github almost a month ago | 15:04 | |
15:04
domidumont joined
|
|||
jdv79 | MoarVM panic - that's new to me | 15:05 | |
jnthn | Hmm...in callcapture | 15:06 | |
I saw another report relating to that not so long ago | |||
jdv79 | MoarVM panic: Heap corruption detected: pointer 0x7fb0fe405090 to past fromspace | ||
i'll golf it as far as i can an rt it i guess | |||
*and | |||
timotimo | linuksz: you can change the module's lib finding thingie locally and install your locally modified version | 15:08 | |
actually, maybe the module should be changed to also supply a version | |||
15:11
setty1 joined
15:13
domidumont left
15:19
khw joined
15:20
wigner joined
15:37
mls_ is now known as mls
15:38
nadim joined,
aindilis left
15:44
tmp172618 joined
15:45
tmp172618 left
15:50
raschipi left
15:54
nadim left
15:55
nadim joined
16:04
robertle joined
16:08
ufobat left
16:15
bisectable6 joined,
ChanServ sets mode: +v bisectable6
|
|||
AlexDaniel | .tell moritz any news regarding the unicode issue on irclog? For example, I can't even see what the actual code here: irclog.perlgeek.de/perl6/2017-07-07#i_14839522 | 16:18 | |
yoleaux | AlexDaniel: I'll pass your message to moritz. | ||
TimToady too | 16:19 | ||
16:19
leont left
|
|||
jdv79 | is rt slow on the email gw? i pushed a bug and i see and got nothing | 16:21 | |
jdv79 wonders if i should just login and repost it | 16:23 | ||
TimToady | I think it goes through a moderation step that is...variable...in its throughput | ||
16:24
konsolebox left
|
|||
jdv79 | [Coke]: know about that? | 16:26 | |
16:26
mr_ron joined
16:27
mr_ron left
16:29
espadrine_ joined
|
|||
jdv79 | i used to get an email right back | 16:29 | |
how do i know its not lost forever?! | |||
16:30
konsolebox joined
|
|||
AlexDaniel | jdv79: you should have faith! | 16:31 | |
jdv79 | in any case here it is...gist.github.com/anonymous/64e9b793...2a1104aeed | 16:32 | |
AlexDaniel | jdv79: I've never had anything actually get lost, but I've been annoyed by the delay also :) | ||
jdv79 | jnthn: that's as good as i can do. sorry. | ||
i's like to know what that is all about. not a great contributor signal | 16:33 | ||
submit a bug and nothing but crickets | |||
:( | |||
AlexDaniel | jdv79: well, maybe RT #128520 is for you :) | 16:34 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=128520 | ||
16:40
mr_ron joined
|
|||
mr_ron | Perl 6 is production ready - oops - if you used "perl6" in an any scripts then get ready to rename to rakudo. | 16:41 | |
AlexDaniel | mr_ron: hm? | ||
16:43
pierre_ left
|
|||
TimToady | m: say bag(< A B >) ⊂ bag(< A A B C C D >) | 16:47 | |
camelia | False | ||
TimToady | m: say bag(< A B >) ⊂ bag(< A A B B C C D >) | ||
camelia | True | ||
TimToady | it would appear to be requiring a smaller number for every key, not just one of them | ||
16:48
bisectable6 left
|
|||
jdv79 | oh cool. the bug was created. | 16:49 | |
TimToady | I would have expected that if any key's value is less than the corresponding one, it's a subbag | ||
m: say bag(< A B >) ⊂ bag(< A B C >) | |||
camelia | False | ||
TimToady | and hence the degenerate set case doesn't actually work as expected | 16:50 | |
16:50
domidumont joined,
mr-fooba_ joined
16:52
mr-foobar left
16:55
Cabanossi left
16:57
Cabanossi joined
17:06
bdmatatu joined
|
|||
Zoffix | mr_ron: I think you're jumping about 10 steps ahead of reality. | 17:07 | |
timotimo | some people really like that | 17:08 | |
17:08
kerframil joined
|
|||
timotimo | perl 6 is production ready - oops - the sun just exploded and consumed all life on earth in a blazing fire | 17:08 | |
hm, not sure if that really fits the other sentence | 17:09 | ||
17:10
bisectable6 joined,
ChanServ sets mode: +v bisectable6
17:11
bisectable6 left
|
|||
mr_ron | I know it's early but a little worried about the change and wondered if anyone else felt the same way. I don't expect my comment to have much weight anyway. | 17:11 | |
Zoffix | mr_ron: I think all comments have equal weight. I think the name of the executable is a minor, non-pressing technical issue, compared to the crux of the matter. | 17:14 | |
As in, it doesn't have to change. | |||
17:15
kerframil left
17:18
buggable left,
buggable joined,
ChanServ sets mode: +v buggable
|
|||
Zoffix | buggable: 6.d | 17:19 | |
buggable | Zoffix, I think 6.d Diwali will be released in about 14 weeks, 4 days, 6 hours, 40 minutes, and 44 seconds | ||
Zoffix | nice | ||
17:21
bisectable6 joined,
ChanServ sets mode: +v bisectable6
17:23
nhywyll joined
17:32
ab5tract joined
|
|||
ab5tract | TimToady: i believe that subbag behavior is due to lizmat reverting some behavior recently | 17:36 | |
yoleaux | 2 Sep 2016 22:56Z <perlawhirl> ab5tract: You need to update you META6 for Terminal::Print to add OO::Monitors as a dependency | ||
ab5tract | i asked her about it earlier this week. | 17:38 | |
Zoffix: you know, just this week i was told by a person both that Perl 6 is a waste of my time and that, frustratingly, the only real objection said person has to Perl 6 is the name | 17:41 | ||
thank you for sharing your thoughts on the topic, it helps to clarify my own | |||
m: bag(<A B>) (>+) bag(<A B C>) | 17:42 | ||
camelia | WARNINGS for <tmp>: Useless use of "(>+)" in expression "bag(<A B>) (>+) bag(<A B C>)" in sink context (line 1) |
||
ab5tract | m: say bag(<A B>) (>+) bag(<A B C>) | ||
camelia | False | ||
ab5tract | TimToady: note that I am reading the scrollback on irclog.perlgeek so i'm not actually sure whether you were testing (>) or (>+) | 17:43 | |
there are also some interesting corner cases in subbag logic | 17:45 | ||
m: say bag(<A A B C>) (>+) bag(<A B C C>) | |||
camelia | False | ||
17:45
bdmatatu left,
evalable6 left
17:46
evalable6 joined,
ChanServ sets mode: +v evalable6
|
|||
Zoffix | :) | 17:51 | |
ab5tract | but we used to handle them all correctly in (>), according to the set operator implementations in PR #911 | ||
and (>+) still does :) | 17:52 | ||
m: say bag(<A B C C>) (>+) bag(<A A B C>) | |||
camelia | False | ||
17:54
kerframil joined
17:56
bit_lySLH2uSZHed joined
|
|||
ab5tract | Zoffix: we are both using our "real" handles at the same time, too. what are the odds?! naming seems to be on the menu of themes for today :) | 17:58 | |
17:58
cdg joined
|
|||
kybr | i'm having trouble finding info on "Code". what is Code? i'm trying to make a c-based, callback-based system call into my perl6. | 17:58 | |
Zoffix | :) | ||
huggable: Code | |||
huggable | Zoffix, Code object: docs.perl6.org/type/Code | ||
ab5tract | kybr: are you using NativeCall already? | 17:59 | |
17:59
seatek joined
|
|||
kybr | okay. :D sorry. sometimes googling is NOT the answer. sometimes, just browse the POD. thanks! yeah, i'm using NativeCale. | 17:59 | |
17:59
bit_lySLH2uSZHed left
|
|||
Zoffix | .oO( NativeKale ) |
17:59 | |
m: .^mro.say for -> {}, sub {}, my method {}, /^/, | 18:00 | ||
camelia | ((Block) (Code) (Any) (Mu)) ((Sub) (Routine) (Block) (Code) (Any) (Mu)) ((Method) (Routine) (Block) (Code) (Any) (Mu)) ((Regex) (Method) (Routine) (Block) (Code) (Any) (Mu)) |
||
Zoffix | m: Code.ACCEPTS($_).say for -> {}, sub {}, my method {}, /^/, my submethod {} | 18:01 | |
camelia | True True True True True |
||
Zoffix | m: Code.ACCEPTS($_).say for -> {}, sub {}, my method {}, /^/, my submethod {}, *.so | ||
camelia | True True True True True True |
||
18:02
cdg_ left
|
|||
kybr | NativeKale, HA! also, thank for this channel and all the help. | 18:02 | |
ab5tract | kybr: any time :) | ||
18:03
cdg left
|
|||
ab5tract | if you find out anything in your adventures not already covered in the documentation, doc.git commit bits are handed out pretty freely around here :) | 18:03 | |
18:05
pilne joined
|
|||
masak | lizmat: the only argument against giving (<) and (<=) baggy semantics is that it's usually a Perlish thing that operators coerce their operands if needed, rather than be polymorphic | 18:07 | |
yoleaux | 5 Jul 2017 11:39Z <lizmat> masak: do you have any thoughts on deprecating (<+) in favour of baggy semantics of (<) and (<=) ? | ||
5 Jul 2017 13:51Z <Element80> masak: you have a bunch of PRs on this module: github.com/masak/data-pretty/pulls | |||
5 Jul 2017 13:53Z <Element80> masak: Actually a whole ton of PRs are waiting for merge in virtually all of your dists: temp.perl6.party/buggable/84904347...62717.html | |||
masak | lizmat: but it's not a very strong argument; it could be argued that something like `<` works just as well for Int, Rat, Num etc without casting | 18:08 | |
ab5tract | masak: github.com/rakudo/rakudo/pull/911#...-258947434 | 18:09 | |
TimToady | I see it more as a sticky Complex sort of situation | ||
or FatRat | 18:10 | ||
masak | hm, mebbe | ||
what's sticky in this case, the Bagness? | |||
TimToady | yep | ||
Num is also an example of a sticky type | 18:11 | ||
18:12
famrani joined
|
|||
ab5tract | don't forget about the Mixitude ;) | 18:12 | |
TimToady | m: say (1.0 + 1.0e0).WHAT | ||
camelia | (Num) | ||
TimToady | Mixitude is even stickier :) | ||
masak | there are degrees of stickiness, yes | 18:13 | |
TimToady | just as Complex is stickier than Num | ||
masak | I think sometimes about the fact that people want Int to be a subtype of Rat to be a subtype of Num | 18:14 | |
18:14
lucasb joined
|
|||
TimToady | it's worked out pretty well for our numerics, so I think it'll work pretty well for our bagatelles as well | 18:14 | |
while Int is a subtype of Rat in mathematics, we're actually in the business of making computers run fast :) | 18:15 | ||
and our subtypes are not sufficiently developed to guarantee a change in REPR | 18:16 | ||
masak | nadim: re irclog.perlgeek.de/perl6/2017-07-05#i_14829671 -- I don't particularly dislike `:` on method calls, I just don't particularly use them. (and therefore I find them overused most everywhere else.) | ||
nadim: if I were to find a reason for liking `.method(...)` more than `.method: ...`, I think it's that I like my method calls to look like function calls. the parens do that for me. | 18:18 | ||
(I also tend to put in the `()` in `foo()` function calls a lot, even when I don't have to) | |||
TimToady: the subtypes/REPR thing is a good point, of course. but it means living with the inevitable newcomer FAQ of why it doesn't work. | 18:19 | ||
ab5tract | not sure if this was already discussed when the examples on perl6.org were updated | 18:20 | |
18:20
Skarsnik joined
|
|||
Skarsnik | Hello | 18:20 | |
yoleaux | 3 Jul 2017 22:18Z <geekosaur> Skarsnik: use MONKEY-GUTS; say nqp::defined(int.^nativesize) #`{ which is why it should be a p6 undef not nqp } | ||
ab5tract | but i have this feeling like adding TMTOWDI alternatives might be worth the additional application/presentation complexity | 18:21 | |
or maybe that just means fleshing out the endpoint for "More examples" | 18:22 | ||
masak: why what doesn't work? | 18:25 | ||
masak | m: my Rat $r = 5 | 18:27 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot assign a literal of type Int (5) to a variable of type Rat. You can declare the variable to be of type Real, or try to coerce the value with 5.Rat or Rat(5), or just write the value as 5.0 at <tmp… |
||
masak | people would reason "an integer is a rational number, so that ought to work" | 18:28 | |
18:28
ufobat joined
18:33
famrani left
|
|||
ab5tract | I guess I'm just missing the inherent connection to unifying bagatelle semantics behind a specific set of operators | 18:34 | |
my Bag $b = set <hello> | |||
ok, I see :) | 18:35 | ||
but then that makes me wonder whether the better answer would be to make this work | 18:36 | ||
m: my Bag() $b = set <hello> | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Coercion Bag(Any) is insufficiently type-like to qualify a variable at <tmp>:1 ------> 3my Bag() $b7⏏5 = set <hello> expecting any of: constraint |
||
18:36
aindilis joined,
bit_lySLH2uSZHed joined
18:37
bit_lySLH2uSZHed left
|
|||
ab5tract | though I don't know enough about the compiler to know whether allowing defined coercions is possible or not | 18:38 | |
18:39
bazzaar joined
|
|||
bazzaar | \o perl6 | 18:39 | |
Zoffix | o/ | 18:41 | |
nicq20 | \o | 18:42 | |
18:42
famrani joined
|
|||
bazzaar | I'm an avid follower of all the perl6 blogs and I am in awe of the dedication that the Perl6 team show week in, week out. | 18:43 | |
Zoffix | Cool. | 18:45 | |
nicq20 | Anyone know of a module to easily take XML and turn it into a Hash? | 18:47 | |
Skarsnik | hm | ||
bazzaar | I've just been reading Zoffix's articles on Seq's, and found them really informative, a big thanks from me for explaining that part of the current implementation. | ||
ab5tract | bazzaar: I agree with you. It's a pretty big feat, enchanting a runtime for Perl 6 into existence! | ||
Skarsnik | Probably can use the XML module and transform the XML element to hash | 18:48 | |
nicq20 | The 'XML' module is ok, but it's far too complex for anything that I would use. (Plus it's a bit confusing) | ||
Skarsnik | does element<key> map to something? | 18:49 | |
Zoffix | nicq20: why a hash? | ||
nicq20 | Not withou a bunch of work. | ||
Skarsnik | I don't remember but I think XML type has [] and hash operator defined | ||
18:49
wamba joined
|
|||
nicq20 | Zoffix: Hash would make sense because XML elements have names in the first place. | 18:49 | |
Skarsnik | hm, can be confusing | 18:50 | |
Zoffix | nicq20: but so would a proper structure. What is your end goal? | ||
Skarsnik | elem<key> should give you what? | ||
Zoffix | $ perl6 -MDOM::Tiny -e 'DOM::Tiny.parse(q|<div><p id="a">Test</p><p id="b">123</p></div>|).at("#b").all-text.say' | 18:52 | |
123 | |||
ugexe | god i hate hackerrank | ||
Skarsnik | github.com/supernovus/exemel/blob/...t.pm6#L786 | ||
there [] and <> defined on elements | |||
so they can act like a hash/array | |||
Zoffix | buggable: eco dom::t | ||
buggable | Zoffix, DOM::Tiny 'Very small, self-sufficient DOM parser manipulator': github.com/zostay/p6-DOM-Tiny | ||
nicq20 | Skarsnik: Huh, I'll try that again. Maybe, I was doing it wrong. | 18:53 | |
ab5tract | personally what I would like to see is an implementation of XML::Rabbit. the most annoying thing about using the Perl 5 implementation is the Perl 5 package semantics | ||
bazzaar | I just read Zoffix's article on language naming, I respect people's different viewpoints. I have a bit of a different view, would folks mind if I state it here? | ||
Skarsnik | nicq20, maybe you have so code example. It's been a while I haven't use XML | 18:55 | |
Zoffix | bazzaar: state it | ||
bazzaar | I'm a 'perl' user, for two decades I loved to solve problems with perl5, now I love to solve problems with perl6. | 18:56 | |
I see Perl as the brand name for a family of accessible, and exciting programming languages, and the Perl brand certainly has my allegiance. | |||
Who knows, down the line, there may be a Perl7 Web Edition, or something. | |||
Perl is evolving, and in transition, the different specifications under one umbrella is a positive thing in my book. | |||
In 10 years, I'm confident Perl6 will be seen as just 'Perl' to new users, but it should stay named as Perl6. | |||
The old motto is "don't throw the baby out with the bathwater". | 18:57 | ||
If anything, maybe try to encourage new (and existing) Perl5 literature (to use the 'Perl 5' moniker, instead of 'Perl'). | |||
nicq20 | Skarsnik: I have an XML structure like: "<a><b>foo</b><c>bar</c></a>". I would like to get something like: %var<a><b> #returns "foo" | ||
18:57
cdg joined
18:58
famrani left
|
|||
Skarsnik | It's kinda ambiquous, there could be various A in your xml at the same level | 18:58 | |
ab5tract | IIUC, Zoffix's suggestion is to use 'Rakudo Perl 6' as the full name | 18:59 | |
18:59
famrani joined
|
|||
ab5tract | This seems like a decent middle ground to keep the (obvious-once-stated and continued) relationship to Perl 5 | 19:00 | |
nicq20 | Skarsnik: Fair; I was kind of figuring that would return an array in that case. | ||
ab5tract | or the "family vibe" of Perl, so to speak | ||
Zoffix | bazzaar: that doesn't solve the issue of the Rakudo language perceived as just another version of Perl. You've been a loyal "customer" for 2 decades. You know what's-what under the Perl umbrella. But the 20-something wanna-be programmer reading the tech blogs doesn't. They're not gonna read the fine print and boilerplate text before decided whether they're should read something about it | 19:01 | |
ab5tract | while also allowing the language to move into a better set of circumstances in a lot of directions | ||
but I also have to say that I've agreed with you for the most part.. up until earlier this week when a colleague said something to make me think a bit more about it | |||
Skarsnik | nicq20, I mean try to play around with [] and <> on xml element and see if that enought. x) | ||
nicq20 | Skarsnik: Oh! Sorry about that. :) | 19:02 | |
Zoffix | Yes, exactly, the suggestion is to use "Rakudo Perl 6". This creates the ability to start a conversation about the language. To let the potential users look at the features first, without being distracted by all the baggaage. | ||
19:02
kyan joined
|
|||
Zoffix | And if they make it past the point where they find out the full name has "Perl" in it, it won't really matter, as the reason they made it that far is due to a feature that caught their eye | 19:02 | |
19:04
bit_lySLH2uSZHed joined
|
|||
nicq20 | Skarsnik: I can't seem to get anything but [] syntax working. | 19:05 | |
Skarsnik: Here's the docs: github.com/supernovus/exemel#examples | |||
19:05
bit_lySLH2uSZHed left
|
|||
Skarsnik | oh yeah <> will look at the element attributes | 19:06 | |
19:06
famrani left
|
|||
Skarsnik | You probably want to write stuff like $elem.elements(:TAG<foo>)[0] | 19:07 | |
nicq20 | Skarsnik: I guess that works. :/ | 19:09 | |
19:10
darutoko left
|
|||
nicq20 | Skarsnik: Not a very nice solution though. That will leave me with the element inside of an Array or two. | 19:10 | |
Skarsnik | Dunno, maybe you can extends the class and add a .tag method to make the writing better | 19:11 | |
bazzaar | I just wanted to give my view, you guys are more 'in the know' about how the language will evolve, than I. | ||
ab5tract | bazzaar: I also haven't "made up my mind" so to speak, but if there's a chance to minimize one of my biggest frustrations (Perl hackers who won't even take a look at Perl 6) | ||
Skarsnik | external views is good too, since you don't have your mind formated in a way that can be affected by your deep knowledge of everything | 19:12 | |
bazzaar | my thanks again, for the brilliant work you are all doing. | ||
nadim | masak: I try to use : instead for () just to see what I make of it at the end ;) | ||
Zoffix | I plan to write a proper marketing plan leading up to 6.d. I think that'll show something more tangent vis-a-vis the problem of the name. | ||
ab5tract | then not only does it keep the Perl family together, it might make some long-standing (and quite sour) family dynamics less problematic | 19:13 | |
19:13
bazzaar left
|
|||
ab5tract | one of the biggest things a so-called "enemy" can do to surprise another "enemy" is to make a concession that was considered impossible before | 19:13 | |
Skarsnik | related to 6.d. Here some of my thoughs about NativeCall gist.github.com/Skarsnik/4e89902d5...8c0b870799 | 19:16 | |
ab5tract | and I put scare quotes around those because the animosity is relatively concentrated in smaller portions of each languages' user base | 19:17 | |
jdv79 | now that i think about it. its kinda hilarious that months ago, 6?, i stopped working on a pet project i was doing in p6 because of async related segvs. | 19:18 | |
Zoffix | Skarsnik: would you add that to this repo, please: github.com/perl6/6.d-prep | ||
jdv79 | and i just picked it up last night and same issue. | ||
ab5tract | In other words, I guess I'm in the camp of "whatever it takes to get the largest amount of us to get along" | ||
Zoffix | Skarsnik: this way we keep all the 6.d things in one place instead of dozens of scattered gists :) | ||
Skarsnik | should do like a NativeCall.md ? | 19:19 | |
Zoffix | Skarsnik: yeah. anything really. I still need to collect all the other gists and put them up in there and structure it all and whatnot. | ||
jdv79 | that's rough. good thing i'll be back. but i can't imagine a random passerby being that persistent. | 19:20 | |
Skarsnik | can I use zef like panda options wise? | 19:21 | |
19:21
linuksz left
|
|||
Skarsnik | like panda --notests installdeps . is the same with zef ? | 19:21 | |
Zoffix | Skarsnik: zef --/test --depsonly install . | ||
Skarsnik | Ok thanks | ||
*need to patch everymodule .travis file* *run away* | 19:22 | ||
jdv79 | do we have some sort of bug prioritization scheme? | ||
Skarsnik | I think RT has stuff like priority? | 19:23 | |
Not sure if it's used thou | |||
Zoffix | jdv79: yup: 6guts.wordpress.com/2017/05/12/loo...t-funding/ | ||
jdv79: I see the code is using XML. I'm pretty sure there's another ticket that has a SEGV with that module but it's very ungolfed. | |||
Maybe it was even your ticket from 6 months ago :) | 19:24 | ||
jdv79 | the core issue may be that there's really only one person that can fix those | ||
:( | |||
Skarsnik | Zoffix, dumb though, a Perl 6 Patron? | 19:25 | |
jdv79 | maybe, i don't remember that far back | ||
19:25
kyan left
|
|||
Zoffix | Skarsnik: hm? | 19:25 | |
Skarsnik | *Patreon | ||
19:25
gdonald left
|
|||
Zoffix | Skarsnik: I don't get it. Patreon what? dumb what? | 19:26 | |
Skarsnik | Have a Patreon for Perl6 on www.patreon.com/home | ||
since it's monthly donation it's pretty more stable than just regular donations | |||
Zoffix | Ah | ||
jdv79: something around that. jnthn++ mostly ends up sniping those types of bugs. I'm currently thoroughly learning C to raise my skill to be able to dig into them too. | 19:27 | ||
25% complete so far. | |||
Zoffix can't wait to break through the other end of the Rakudo->nqp->MoarVM tunnel and see the light. | 19:28 | ||
19:28
khw left
|
|||
Zoffix | Must be cool to be able to work on literally every part :) | 19:29 | |
Skarsnik | huhu | ||
I wonder if my memory leak with code using the XML module is still here | |||
jdv79 | 25% isn't nothin! i guess. | 19:30 | |
Skarsnik | Zoffix, hm the 6.d repo is writable for people of the perl6 group? | 19:31 | |
ab5tract | Still, it would be interesting to see what kind of buy-in jnthn++ might be able to get if he got paid on a per RT fixed basis | ||
Skarsnik | *6.d-prep | ||
ab5tract | There's a guy who makes nine (beautiful) hand-drawn dungeon RPG maps a month and clears over 500 per map (give or take per-month donation thresholds set by supporters) | 19:32 | |
Skarsnik | If you check on patreon, some artist are above 1000$/month because it's easy for people to just put like 5$/month and forget about it | 19:33 | |
ab5tract | Even there, he sets predictable minima per supporter tier (aka '$5 a map ($25 per month minimum)') | ||
Zoffix | Skarsnik: yeah it is. What, you get errors? | 19:34 | |
Skarsnik | but I don't know how the legal/taxes stuff issue | ||
No, just asking ^^ | |||
Zoffix | Ah | ||
ab5tract | m: say my $per-month = 9 * 500; say $per-month * 12 # this was the ("max average") income of the map maker | 19:35 | |
camelia | 4500 54000 |
||
Skarsnik | I have to do work via ssh or start a VM to work on perl6 stuff at the time :( | ||
19:38
gdonald joined
|
|||
ab5tract | www.patreon.com/dysonlogos/ | 19:39 | |
19:40
linuksz joined
19:41
cpage_ left
|
|||
ab5tract | He even shares the maps and adventures he wrote around the maps on his own website: rpgcharacters.wordpress.com/maps/adventures/ | 19:42 | |
Skarsnik | these maps are sexy | ||
ab5tract | You're welcome ;) | ||
19:43
kyan joined
|
|||
nicq20 | What is the method called when `%foo<bar>` is run? Is it just postcircumfix? | 19:52 | |
Err, `postcircumfix:<>`? | 19:53 | ||
moritz | postcircumfix:<{ }> I believe | 19:54 | |
yoleaux | 16:18Z <AlexDaniel> moritz: any news regarding the unicode issue on irclog? For example, I can't even see what the actual code here: irclog.perlgeek.de/perl6/2017-07-07#i_14839522 | ||
19:54
khw joined
|
|||
Skarsnik | at-key | 19:54 | |
moritz | AlexDaniel: no news, sorry; I'm currently under some nasty time constraints | ||
Skarsnik | AT-KEY even I think | ||
19:55
notostraca joined,
FROGGS joined
19:56
notostraca is now known as TEttinger
19:57
domidumont left
|
|||
nicq20 | Is there any sort of "this is the value of this object" method when using it's value, or does everything just use class methods like '.Str'? | 20:04 | |
zengargoyle has been trying to think of a case where re-branding a language worked and can't. not sure if that's because it hasn't or it has so well that i can't think of it. :| | |||
geekosaur | zengargoyle, the language formerly known as livescript | ||
we call it javascript these days | |||
(I should say Mozilla Livescript because there's a newer language with that name...) | 20:07 | ||
zengargoyle | my closest was Smalltalk to Squeak and Pharos... not sure exactly what the differences are there. | 20:08 | |
perigrin | While two of them do start with 'S', one of those has an 'm' in it. | 20:09 | |
zengargoyle | would Python 3 have taken off faster if it was called some other snake name? | ||
perigrin | Ekans | 20:10 | |
geekosaur | Squeak was just a specific implementation, no? | ||
like considering Allegro a rebranding of Common Lisp | |||
perigrin | I think Squeak had some specific tunings for an elementary / middleschool audience. | ||
20:11
cpage_ joined
|
|||
zengargoyle | geekosaur: i think so. more like a community split on different VMs or such. | 20:11 | |
or a non-commercial Smalltalk-80 implementation with some tweaks. | |||
20:15
BrassLantern joined
|
|||
geekosaur | yes, squeak was just a gpl-d smalltalk-80 originally | 20:16 | |
it may have branched out on its own since I last cared | |||
zengargoyle | hehe, p6 could be nice with a Smalltalk like workspace with dynamic recompilation. :) | ||
20:16
BrassLantern left
|
|||
geekosaur | in any case a language fork is different from a rebranding | 20:17 | |
there hven't been that many actual language rebrandings/renamings, and in most of the cases I can recall the language was niche and pretty well doomed anyway; rebranding wasn't going to save them | 20:18 | ||
20:24
bdmatatu joined
|
|||
Skarsnik | nicq20, I think you should rephrase your question, Not sure what you mean x) | 20:27 | |
20:27
kerframil left,
kerframil joined
|
|||
geekosaur | likewise fwiw | 20:28 | |
bdmatatu | p6: say [+] 1..1e100 | ||
camelia | 50000000000000001590289110975991817328705368083504703036502630629001320386155388099280879870478387696492219464257418736194801727938851902336988862645587616123664360879667548673664253072454494149672960 | ||
nicq20 | Sorry, about that. An example would probably be best. Give me a min... | ||
zengargoyle | nicq20: if i read you right, yes there is a way to make an individual object respond differently than some other object of that Class to methods like .Str | ||
20:28
flatwhite joined
|
|||
bdmatatu | p6: say (1e100 * ( 1e100 + 1) / 2) | 20:29 | |
camelia | 5e+199 | ||
20:29
flatwhite left
|
|||
ranguard | Zoffix++ # rakudo.party/post/The-Hot-New-Lang...med-Rakudo | 20:31 | |
yoleaux | 16 May 2017 10:45Z <Zoffix> ranguard: how can I delete all my modules from www.cpan.org/authors/id/P/PS/PSIXDISTS/Perl6/ and prevent anything new from me uploaded again (github username zoffixznet)? I'm gonna be uploading my dists on my own and I see some of the stuff in PSIXDISTS are modules are long deleted entirely.. | ||
bdmatatu | Is this a known bug? I think summing a large range is giving the wrong answer | ||
nicq20 | In `my $v = 5; $v + $v`, I know that the '+' method will compare the Signiture and know what to call, but what does it use to pull the value out of $v? | ||
20:32
kliph joined
|
|||
geekosaur | FETCH on the Scalar bound by $v? | 20:32 | |
20:32
kerframil left
|
|||
geekosaur | but, it's not quite well defined as part of the OO hierarchy, some of the knowledge lives in the grammar (partly so it can optimize; for example it avoids actually creating that FETCH call for performance reasons) | 20:34 | |
20:35
nhywyll left
|
|||
nicq20 | So Classes like Int keep their values in the grammar? | 20:36 | |
moritz | no | 20:37 | |
multi sub infix:<+>(Int:D \a, Int:D \b --> Int:D) { | |||
nqp::add_I(nqp::decont(a), nqp::decont(b), Int); | |||
} | |||
from src/core/Int.pm | |||
geekosaur | no, that optimization I mentioned was about Scalar not Int | ||
nicq20 | Oh, ok. | ||
moritz | here nqp::decont() explicitly extracts the value from the container | 20:38 | |
nicq20 | Mabey I should re-word my question. | ||
*Maybe | |||
zengargoyle | m: my Int $v = 5 but "five"; say $v | ||
camelia | five | ||
geekosaur | there's more levels going on conceptually than you are thinking about | ||
zengargoyle | can you make $v do .Int to a different value? | ||
20:39
mr-fooba_ left
|
|||
moritz | m: m: my Int $v = 5 but "five" but role { method Int() { 42 }}; say $v.int | 20:39 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Operators 'but' and 'but' are non-associative and require parentheses at <tmp>:1 ------> 3m: my Int $v = 5 but "five"7⏏5 but role { method Int() { 42 }}; say $v expecting any of: … |
||
moritz | m: m: my Int $v = 5 but role { method Int() { 42 }}; say $v.Int | ||
camelia | 42 | ||
zengargoyle | m: m: my Int $v = 5 but role { method Int() { 42 }}; say $v+$v; | 20:40 | |
camelia | 10 | ||
20:40
mr-foobar joined
|
|||
zengargoyle | :( | 20:40 | |
geekosaur | it's not using .Int to extract the value | ||
zengargoyle | yeah, | ||
moritz | it doesn't, because it's already an Int :-) | ||
nicq20 | That was the trouble I was coming accross too. | ||
zengargoyle | i thought that was like the original question. make an object do some .Str or .Int or whatever different than the Class implementation for other objects.... | 20:41 | |
moritz | nqp::add_I knows how to look into Int objects to access the numeric value | ||
it can't be method calls/turtles all the way down | 20:42 | ||
zengargoyle | you can add/override methods on individual object to some degree. | ||
geekosaur | ^ this is basicall what I meant by 'in the grammar'; I did not mean the Perl6::Grammar object necessarily, but in the sense of 'the lower level knows how to do things directly rather than indirect through methods) | ||
moritz | but if you want an Int that behaves as a 42, your easiest choice is to just assign 42 to your variable :-) | ||
geekosaur | hypothetically there is a FETCH method, practically it would only be used in specific cases where it can't figure out an optimized direct access | 20:43 | |
nicq20 | Huh. Ok, that makes sense. | ||
geekosaur | (for example Proxy objets) | ||
zengargoyle | geekosaur: *nod* | ||
geekosaur | because that kind of method indirection is quite slow in practice | ||
nicq20 | Well, I learned something interesting today. Thanks! :D | 20:45 | |
20:47
nicq20 left
|
|||
zengargoyle | i thought i had used the but role thing, but looking back i used 'handles <Bool>' on class attributes instead. | 20:48 | |
[Coke] | (14 weeks? I think that's unreasonable) | ||
yoleaux | 17:14Z <AlexDaniel> [Coke]: case in point (re perl6 web app serving docs): irclog.perlgeek.de/perl6-dev/2017-...i_14840912 | ||
20:48
wigner left
|
|||
[Coke] | (for 6.d) | 20:49 | |
20:49
wigner joined
|
|||
[Coke] | (it does not have to be released on actual diwali.) | 20:49 | |
also, -1 from me on renaming the language spec | 20:53 | ||
ufobat | m: my @a = 1..10; say so all(@a) == all(@a) | ||
camelia | False | ||
ufobat | i thought that this returns true, if all elements on the LHS are included in the array on the RHS? | 20:54 | |
timotimo | that's not the right interpretation | 20:55 | |
that code checks if all elements in @a are equal to all elements in @a | |||
what you mean is either one(@a) == all(@a) or the other way around | |||
m: my @a = 1..10; say so all(@a) == one(@a) | |||
camelia | True | ||
timotimo | m: my @a = 1..10; say so one(@a) == all(@a) | ||
camelia | True | ||
ufobat | did that change? perl6advent.wordpress.com/2009/12/...junctions/ last line in the last grey box | ||
timotimo | actually, one isn't the right one | 20:56 | |
you really do want any | |||
the last line in the last grey box also says all(@a) == any(@b) | |||
ufobat | yeah, i basically want to ensure that both lists contain the same elements ( maybe in a different order) | ||
ah you're right | |||
ufobat feels stupid | 20:57 | ||
sorry, my fault. thanks for the help+ | |||
timotimo | no prob :) | 20:58 | |
20:58
cpage_ left
|
|||
ufobat | ah! i just realized that isnt want i wanted to do | 21:00 | |
21:00
wigner left
|
|||
ufobat | is there something better for all(@a) == any(@b) && all(@b) == any(@a) | 21:02 | |
21:02
wigner joined
|
|||
moritz | @a.uniq.sort eqv @b.uniq.sort ? | 21:02 | |
ufobat | isnt that something from set theory? | 21:03 | |
didnt perl6 have set operators? | |||
i cant remember :( | |||
moritz | set(@a) eqv set(@b) | ||
maybe? :-) | |||
m: my @a = 1, 4, 2; my @b = 4, 2, 1, 1; my @c = 5; say set(@a) eqv set(@b); say set(@a) eqv set(@c) | 21:04 | ||
camelia | True False |
||
ufobat | yay :D | ||
yay :D | 21:05 | ||
21:06
linuksz left
21:07
FROGGS left
21:08
setty1 left
|
|||
zengargoyle ponders the recent post about 'eqv' being $x.perl eq $y.perl... | 21:09 | ||
21:10
mr-foobar left
21:11
tokomer left,
mr-foobar joined
|
|||
zengargoyle | not sure if i like eqv being based on serialized stringification.... | 21:12 | |
on the other hand, EVAL($x.perl) makes a nice .clone | 21:13 | ||
on the third hand... | |||
s/third/grasping/ :P | 21:14 | ||
21:15
MasterDuke joined
21:16
coverable6 left,
greppable6 left,
quotable6 left,
bloatable6 left
21:17
statisfiable6 left,
unicodable6 left,
benchable6 left,
committable6 left,
bisectable6 left,
evalable6 left,
espadrine_ left
21:19
cpage_ joined
21:20
bdmatatu left
21:24
evalable6 joined,
ChanServ sets mode: +v evalable6,
evalable6 left
|
|||
Zoffix | zengargoyle: serialized stringification === current behaviour you mean? | 21:25 | |
zengargoyle: there's a proposal for an alternative: curt.tilmes.org/2017-TPC-eqv/#1 | 21:26 | ||
huggable: eqv | |||
huggable | Zoffix, nothing found | ||
Zoffix | huggable: eqv :is: Proposal for alternative eqv semantics: curt.tilmes.org/2017-TPC-eqv/#1 | ||
huggable | Zoffix, Added eqv as Proposal for alternative eqv semantics: curt.tilmes.org/2017-TPC-eqv/#1 | ||
Zoffix | Oh, maybe that's the post you were referring to :) | 21:27 | |
[Coke]: why -1 on name tweak? It'd be helpful to have reasoning of both sides available. | 21:29 | ||
14 weeks is three months. Plenty of time. | |||
[Coke] | Zoffix: first, make a project plan. then figure out the due date. | 21:31 | |
zengargoyle | Zoffix: yeah, that thing. :) | 21:32 | |
[Coke] | There was a lot of work that was not done to cheat 6.c out the door, and that should be fixed if possible for 6.d | ||
getting 6.c out the door was a lot of effort, and I don't want to burn someone else out getting 6.d out. | 21:33 | ||
I think calling the language rakudo is going to confuse things the other way. I think the goal of not being called perl is not one I share. | 21:34 | ||
(so taking a step in that direct, which will result in a further confusion about lang vs. impl, is a step in the wrong direction) | |||
Also, I'd get feedback from Larry if you haven't, as I'd expect he'd have a veto there. | 21:35 | ||
(project plan) and then figure out who is doing what and what their availability is. | 21:36 | ||
21:39
skids left
21:40
mr-foobar left
|
|||
Zoffix | [Coke]: not sharing the goal; does that extend to not agreeing that Rakudo language has entirely different strengths that Perl has? | 21:40 | |
s:2nd/that/than/; | |||
I mean 3rd :P | |||
21:41
Cabanossi left
|
|||
[Coke] | do you mean from a pure naming sense? | 21:41 | |
I can't parse your question. | 21:42 | ||
Zoffix | [Coke]: I mean from the comparison of the two languages. If you liked Perl, you'll like Rakudo, because it's the same thing but better. | ||
m: say (1..1e100).int-bounds | |||
camelia | (1 10000000000000000159028911097599180468360808563945281389781327557747838772170381060813469985856815104) | ||
Zoffix | hm | ||
[Coke] | ... when you say 'the two languages', what do you mean? | ||
21:42
Cabanossi joined
|
|||
[Coke] | do you mean Perl 5 vs. Perl 6 ? | 21:42 | |
Zoffix | m: say (1..1e100).is-int | ||
camelia | False | ||
Zoffix | [Coke]: yes | ||
[Coke] | Yes, Perl 5 and Perl 6 are different languages with different strenghts. | 21:43 | |
*strengths | |||
21:43
mr-foobar joined
|
|||
[Coke] | I like that Perl 6 isa Perl. | 21:43 | |
Zoffix | [Coke]: then why is it beneficial to keep the Perl name? The inherent assumption in the mind is if I like Perl 5, I'll like Perl 6, because it's the same thing, but better. When I try to act on that assumption, I get disappointed, because it's a different language with different strengths. | 21:44 | |
[Coke] | That's your assumption. | 21:45 | |
Zoffix | I'd argue that be a common assumption. I pre-ordered Far Cry 5 on the assumption that it will be like Far Cry 4 (that I liked), but better. | ||
[Coke] | aI wouldn't call it "inherent". This basically sounds like the old "the name is confusing". I don't like renaming our way out of it, especially this far after Christmas. | 21:46 | |
21:46
famrani joined
|
|||
Zoffix | It's not so much confusing, as entirely wrong. | 21:46 | |
[Coke] | as you mentioned in your blog post, I've had this conversation or something like it 100s of times since the mug. You're going to probably have a tough slog convincing any old timers. | 21:47 | |
I understand your points; I think even if I didn't want it to be called Perl, changing things *now* is just going to make the whole situation worse. | |||
Further muddying the waters between the lang & the impl (a distinction we've fought to keep for some time) isn't going to help either. | 21:48 | ||
Zoffix | The other thing I mentioned in my blog post is the assumptions from 2 years ago about brand strength failed. | 21:49 | |
[Coke] | I | ||
am not sure what you're using to measure that | |||
Zoffix | And I'm not hearing any convincing arguments for keeping the name. Above you say you like that Perl 6 is a Perl and that is it. I'm also being repeatedly told it's forbidden to discuss the name and it's case closed. | 21:50 | |
Skarsnik | I think if you never had lessons about compiler and language having 3 thing that define Perl 6 is just confusing (rakudo/Moar/Perl 6) | ||
I not sure to understand what is rakudo in this | |||
[Coke] | Zoffix: I'm certainly not telling you it's forbidden. I told you -1, I told you it'll be a hard slog to convince old timers. | ||
21:51
walfisch joined
|
|||
[Coke] | I haven't heard you say anything convincing based on my time in the various projects. | 21:51 | |
Zoffix | [Coke]: Article comments. IRC channel user count (ave. dropped by 16). The predictions (by Ovid) of there being companies hiring Perl 6 devs in 2 years that don't appear to exist. | ||
[Coke]: some other people did say it was | |||
[Coke] | I'd recommend getting a chat going (Irl) at the next conference, wherever that is, and getting google hangout going so folks not there can join in. | 21:52 | |
Sure, and that could have nothing to do with the name. | |||
Zoffix | What does it have to do with then? | 21:53 | |
[Coke] | and with the fact that we still are working on performance, documentation, we're an all volunteer effort, irc is a pita, people get burned out... | ||
Skarsnik | A big issue having no Perl 6 jobs is actually there is nothing Perl 6 does better that other language for common IT job. Like no real web framework yet | 21:54 | |
[Coke] | So, good luck with the effort, I'm glad you're trying to tackle the marketing angle, I do think it's important. | ||
Zoffix | So when performance is stellar and documentation is complete, do you actually expect "Perl 6" will be anywhere near top 10 languages used in the world? | ||
OK. | |||
Yeah, I'm trying and I think when I'll have more of concrete marketing plans and stuff it'll be easier to convince the "old timers" :) | |||
Ulti | not unless its spoken about as if it is already a top 10 language | ||
[Coke] | Skarsnik: sure, module ecosystem is another hard sell. (inline perl5 helps... but if you have perl5 and don't know why p6 is great...) | ||
Skarsnik | I looked at Bailodor for example : no session; why would I want to use that? | 21:55 | |
[Coke] | Zoffix: seriously, good luck (maybe not with this one particular thing. :) | ||
Zoffix | heh | ||
[Coke] | but definitely in general. | ||
21:57
famrani left
|
|||
Zoffix | Skarsnik: Bailador does appear to have session support: github.com/Bailador/Bailador/#sessions | 21:59 | |
22:00
Atomic_qm8UY joined
22:01
kliph left,
kliph joined
|
|||
El_Che | Skarsnik: I think the name discussion and the young ecosystem discussioniss not tightly coupled | 22:02 | |
22:02
walfisch left
|
|||
Skarsnik | I don't have much option about the name | 22:03 | |
*opinion | |||
I think 6.d should be accompagned with lot of communication/marketing | 22:05 | ||
22:05
kliph left,
alimon left
22:06
kerframil joined
22:08
ufobat left
|
|||
Skarsnik | and like instead of adding like 15 000 Meta things people will never use, probably focus on stability, thing missing and the environment/ecosystem | 22:09 | |
22:09
mr-foobar left
|
|||
Skarsnik | but that just my opinion, anyways, good night ^^ | 22:10 | |
timotimo | nite Skarsnik | 22:11 | |
22:11
Atomic_qm8UY left
22:14
mr-foobar joined
|
|||
Zoffix | .tell bdmatatu yeah it's a bug in Range.int-bounds. It's supposed hang. 1e100 is a Num and there you have only 15 digits of precision, so the other 86 digits are all floating point noise. The buggy Range.int-bounds erroneously converts that 15 digits + 86 digits of noise into a Int, which is why you get the wrong sum. And the reason the fixed version hangs is because when failing to find .int-bounds, it'll | 22:15 | |
yoleaux | Zoffix: I'll pass your message to bdmatatu. | ||
Zoffix | fully reify the range to get the elements, but while doing that you're again hit with limited precision in the 1e100 and once the reification reaches 1e15, the next +1 to it would still end up a 1e15 (not enough precision for +1), so it'd loop at that point forever. We can probably improve that to give an error tho | ||
.tell bdmatatu fully reify the range to get the elements, but while doing that you're again hit with limited precision in the 1e100 and once the reification reaches 1e15, the next +1 to it would still end up a 1e15 (not enough precision for +1), so it'd loop at that point forever. We can probably improve that to give an error tho | |||
yoleaux | Zoffix: I'll pass your message to bdmatatu. | ||
Zoffix | 9.99999999999999e14 is the largest Num you can .succ so perhaps we can detect attempt to reify a range with an endpoint higher than that and error out | 22:16 | |
m: (9.99999999999999e14 .. *)[^10].say | 22:17 | ||
camelia | (999999999999999 1e+15 1e+15 1e+15 1e+15 1e+15 1e+15 1.00000000000001e+15 1.00000000000001e+15 1.00000000000001e+15) | ||
Zoffix | hehe | ||
Ohhh | 22:18 | ||
Ahhh.. no, still buggy. It's just once in a while the noise kicks up on digit, but that's after many iterations and is random | |||
22:18
cdg left
22:21
kliph joined
22:25
Cabanossi left
22:26
kliph left
22:27
Cabanossi joined
22:30
nadim left
22:34
kliph joined,
kliph left,
kliph joined
22:38
kliph left
22:39
mr-foobar left
22:41
lucasb left
22:42
Skarsnik left
22:43
mr-foobar joined,
Atomic_qm8UY joined
22:46
kliph joined
|
|||
Zoffix | Range.int-bounds is testing `$!min.floor == $!min`. Is there a reason for floor and not just .Int? | 22:48 | |
22:49
colomon left,
colomon_ joined
|
|||
Zoffix | huh, floor's faster. OK then | 22:49 | |
22:50
kliph left
|
|||
Zoffix | Which is weird, 'cause .Int is nqp::fromnum_I(nqp::unbox_n(self),Int), but .floor also does nqp::floor on top of that :S | 22:51 | |
oh wait, I do need .Int, not .floor | 22:54 | ||
m: say .floor == $_ with 1e100 | |||
camelia | True | ||
Zoffix | m: say .Int == $_ with 1e100 | ||
camelia | True | ||
Zoffix | oh no | ||
Oh well, it stays broken then | 22:55 | ||
Zoffix & | |||
22:57
wamba left
22:58
Atomic_qm8UY left,
kliph joined
|
|||
Zoffix | Filed as rt.perl.org/Ticket/Display.html?id=131718 though I increasingly think this is just the Fact of Life of f.p. math. You use it, you get burnt by it. | 22:59 | |
23:03
kliph left
23:05
salva left
23:07
rindolf left
|
|||
TimToady | maybe 'e' shouldn't imply mandatory floating point unless there's a . as well | 23:08 | |
or maybe we should have a variants of 'e' that imply int or rat | 23:10 | ||
23:12
flatwhite joined
|
|||
TimToady | or maybe people should get used to writing 10 ** 100 | 23:12 | |
timotimo | 1ei100 | ||
or have a suffix "l" like some languages do | 23:13 | ||
python had that, right? | |||
23:13
raschipi joined
|
|||
timotimo | in python 2 perhaps | 23:13 | |
TimToady | maybe it's really an IntRatNumStr | 23:14 | |
timotimo | totally | 23:15 | |
23:15
kerframil left
|
|||
timotimo | BasicallyAValue | 23:15 | |
TimToady | m: say <1*10**100>.WHAT | 23:17 | |
camelia | (IntStr) | ||
TimToady | m: say <10**100>.WHAT | ||
camelia | (Str) | ||
TimToady | aww | ||
23:17
kliph joined
23:22
kliph left,
flatwhite left
|
|||
Zoffix | m: dd <1*10**100> | 23:27 | |
camelia | IntStr.new(10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, "1*10**100") | ||
Zoffix | TIL | ||
AlexDaniel will have a heart attack from that :) | |||
m: dd <1*2*3*4> | |||
camelia | "1*2*3*4" | ||
Zoffix | m: dd <1*2> | 23:28 | |
camelia | "1*2" | ||
AlexDaniel | what? You can have expressions there??? | ||
Zoffix doesn't get how 1*10**100 gets turned into IntStr | |||
AlexDaniel | how did you even find that | ||
Zoffix | TimToady used it above | 23:29 | |
23:29
evalable6 joined,
bloatable6 joined,
quotable6 joined,
committable6 joined,
benchable6 joined,
ChanServ sets mode: +v evalable6,
ChanServ sets mode: +v bloatable6,
ChanServ sets mode: +v quotable6,
ChanServ sets mode: +v committable6,
ChanServ sets mode: +v benchable6,
coverable6 joined,
bisectable6 joined,
unicodable6 joined,
ChanServ sets mode: +v coverable6,
greppable6 joined,
ChanServ sets mode: +v bisectable6,
ChanServ sets mode: +v unicodable6,
ChanServ sets mode: +v greppable6,
statisfiable6 joined,
ChanServ sets mode: +v statisfiable6
|
|||
AlexDaniel | mch: dd <1*2*3*4> | 23:29 | |
committable6 | AlexDaniel, ¦2015.12,HEAD(c76d932): «"1*2*3*4"» | ||
AlexDaniel | all: dd <1*2*3*4> | ||
23:29
committable6 left
23:30
committable6 joined,
ChanServ sets mode: +v committable6
|
|||
AlexDaniel | yeah, I know… | 23:30 | |
wait, wrong snippet :D | 23:31 | ||
Zoffix: is it this stuff? github.com/rakudo/rakudo/commit/7d...581085R321 | 23:33 | ||
Zoffix | No idea | 23:35 | |
It seems to work only for N*M**J | |||
Maybe it's some weird math convention, I dunno | |||
AlexDaniel | c: 7d56f92208b2^,7d56f92208b2 dd <1*10**100> | ||
committable6 | AlexDaniel, ¦7d56f92208b2^: «"1*10**100"» ¦7d56f92: «Cannot unbox 333 bit wide bigint into native integer in block <unit> at /tmp/17x2BcFPKE:1 «exit code = 1»» | ||
Zoffix | I think it's a way to represent any number. N*M to some power | ||
AlexDaniel | well, maybe not :D | 23:36 | |
Zoffix: should we, um… document that? | |||
23:37
kliph joined
|
|||
Zoffix was thinking more of a tactical application of a flamethrower | 23:37 | ||
AlexDaniel | github.com/perl6/roast/blob/master...low.t#L255 | ||
Zoffix: well, I think a flamethrower will have to wait because of the test :) | 23:38 | ||
Zoffix | :) | ||
AlexDaniel | this is the actual test I believe: github.com/perl6/roast/blob/master...dix.t#L227 | 23:39 | |
or is it? | |||
m: dd <1.1*2**10> | |||
camelia | RatStr.new(1126.4, "1.1*2**10") | ||
AlexDaniel | m: dd :10<1.1*2**10> | ||
camelia | 1126.4 | ||
AlexDaniel | not exactly the same thing, but still | 23:40 | |
Zoffix lols at "#?rakudo skip "Really?!"" | |||
23:41
kliph left
|
|||
AlexDaniel | Zoffix: I'm also wondering why can't I use negative exponents with this… | 23:43 | |
oh, why would I | |||
ok | |||
… WHAT? | 23:44 | ||
23:45
ChoHag joined
|
|||
AlexDaniel | m: dd <-0*-0**-0> | 23:45 | |
m: dd <-0*-0**0> | |||
m: dd <-0*-0**-1> | |||
camelia | IntStr.new(0, "-0*-0**-0") | ||
IntStr.new(0, "-0*-0**0") | |||
"-0*-0**-1" | |||
AlexDaniel | Zoffix: alright, I'm starting to get emotional with this XD I'm done | 23:46 | |
23:48
skids joined,
kliph joined
|
|||
AlexDaniel | m: dd <9*9**99999999999> | 23:49 | |
camelia | "9*9**99999999999" | ||
23:51
sch joined
23:53
kliph left
|