»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
Geth ¦ doc: taboege self-assigned Checklist for 2019.03 github.com/perl6/doc/issues/2673 00:16
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); my Attribute $attr .= new: :name<$!bar>, :type(Any), :package(Enum); Enum.^add_attribute($attr); my &accessor := my method (Enum:U --> Any) { nqp::getattr(self, Enum, '$!bar') }; nqp::bindattr(&accessor, Method, '$!name', 'bar'); Enum.^add_method(nqp::getstaticcode(&accessor)); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar 00:20
camelia P6opaque: invalid native bind to attribute '$!name' in type Attribute for kind str
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); my Attribute $attr .= new: :name('$!bar'), :type(Any), :package(Enum); Enum.^add_attribute($attr); my &accessor := my method (Enum:U --> Any) { nqp::getattr(self, Enum, '$!bar') }; nqp::bindattr(&accessor, Method, '$!name', 'bar'); Enum.^add_method(nqp::getstaticcode(&accessor)); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar 00:21
camelia P6opaque: invalid native bind to attribute '$!name' in type Attribute for kind str
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum)); my &accessor := my method (Enum:U --> Any) { nqp::getattr(self, Enum, '$!bar') }; nqp::bindattr(&accessor, Method, '$!name', 'bar'); Enum.^add_method(nqp::getstaticcode(&accessor)); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar 00:22
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3tr(Enum, Enum, '$!bar', 1); say Enum.bar7⏏5<EOL>
expecting …
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); my &accessor := my method (Enum:U --> Any) { nqp::getattr(self, Enum, '$!bar') }; nqp::bindattr(&accessor, Method, '$!name', 'bar'); Enum.^add_method(nqp::getstaticcode(&accessor)); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar
camelia P6opaque: no such attribute '$!name' on type Method in a Method when trying to bind a value
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); &accessor.set_name('bar'); Enum.^add_method(nqp::getstaticcode(&accessor)); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar 00:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
accessor used at line 1
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); my &accessor := anon method(Enum:U: --> Any) { nqp::getattr(self, Enum, '$!bar'); &accessor.set_name('bar'); Enum.^add_method(nqp::getstaticcode(&accessor)); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar 00:25
camelia 5===SORRY!5===
Type 'method' is not declared. Did you mean 'Method'?
at <tmp>:1
------> 3age(Enum))); my &accessor := anon method7⏏5(Enum:U: --> Any) { nqp::getattr(self, E
Malformed anon
at <tmp>:1
------> 3, :package(Enum))); …
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); my &accessor := anon method (Enum:U: --> Any) { nqp::getattr(self, Enum, '$!bar'); &accessor.set_name('bar'); Enum.^add_method(nqp::getstaticcode(&accessor)); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar 00:26
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3tr(Enum, Enum, '$!bar', 1); say Enum.bar7⏏5<EOL>
expecting any of:
postfix
statement end
statement modifier
stat…
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); my &accessor := anon method (Enum:U: --> Any) { nqp::getattr(self, Enum, '$!bar'); }; &accessor.set_name('bar'); Enum.^add_method(nqp::getstaticcode(&accessor)); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar
camelia getstaticcode requires a static coderef
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); my &accessor := anon method (Enum:U: --> Any) { nqp::getattr(self, Enum, '$!bar'); }; &accessor.set_name('bar'); Enum.^add_method(nqp::getstaticcode(nqp::decont(&accessor))); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar
camelia getstaticcode requires a static coderef
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); my &accessor := anon method (Enum:U: --> Any) { nqp::getattr(self, Enum, '$!bar'); }; &accessor.set_name('bar'); Enum.^add_method(&accessor); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar 00:27
camelia Too few positionals passed; expected 4 arguments but got 3
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); my &accessor := anon method (Enum:U: --> Any) { nqp::getattr(self, Enum, '$!bar', Any); }; &accessor.set_name('bar'); Enum.^add_method(&accessor); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar 00:28
camelia Too few positionals passed; expected 4 arguments but got 3
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); my &accessor := anon method (Enum:U: --> Any) { nqp::getattr(self, Enum, '$!bar'); }; &accessor.set_name('bar'); Enum.^add_method(&accessor); say Enum.bar
camelia Too few positionals passed; expected 4 arguments but got 3
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); my &accessor := my method (Enum:U: --> Any) { nqp::getattr(self, Enum, '$!bar'); }; &accessor.set_name('bar'); Enum.^add_method('bar', &accessor); nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar 00:30
camelia Cannot bind attributes in a Enum type object
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; my constant Enum := Metamodel::EnumHOW.new_type: :name<Enum>, :base_type(Any); Enum.^add_attribute(Attribute.new(:name<$!bar>, :type(Any), :package(Enum))); my &accessor := my method (Enum:U: --> Any) { nqp::getattr(self, Enum, '$!bar'); }; &accessor.set_name('bar'); Enum.^add_method('bar', &accessor); Enum.^compose; nqp::bindattr(Enum, Enum, '$!bar', 1); say Enum.bar 00:31
camelia Cannot bind attributes in a Enum type object
in block <unit> at <tmp> line 1
Kaiepi oh right i'm an idiot
Kaiepi m: use nqp; my $foo := method () {}; nqp::getstaticcode($foo) 00:47
camelia getstaticcode requires a static coderef
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; nqp::getstaticcode(method () {}) 00:48
camelia getstaticcode requires a static coderef
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; constant FOO = method () {}; nqp::getstaticcode(FOO)
camelia getstaticcode requires a static coderef
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; constant FOO = method () {}; BEGIN nqp::getstaticcode(FOO)
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
5===SORRY!5=== Error while compiling
getstaticcode requires a static coderef
at :
Kaiepi m: use nqp; constant FOO = method () {}; BEGIN nqp::getstaticcode(nqp::decont(FOO)) 00:59
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
5===SORRY!5=== Error while compiling
getstaticcode requires a static coderef
at :
Kaiepi how do i use nqp::getstaticcode?
m: use nqp; my &foo := sub () {}; nqp::getstaticcode(&foo) 01:00
camelia getstaticcode requires a static coderef
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; my &foo := sub () {}; nqp::getstaticcode(nqp::decont(&foo))
camelia getstaticcode requires a static coderef
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; nqp::getstaticcode(sub {})
camelia getstaticcode requires a static coderef
in block <unit> at <tmp> line 1
Kaiepi m: use nqp; BEGIN nqp::getstaticcode(sub {})
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
5===SORRY!5=== Error while compiling
getstaticcode requires a static coderef
at :
Kaiepi m: use nqp; nqp::getstaticcode(nqp::getattr(sub {}, Code, '$!do')) 01:01
camelia ( no output )
Kaiepi oh
m: use nqp; say nqp::getstaticcode(nqp::getattr(sub {}, Code, '$!do'))
camelia The 'ForeignCode' class is a Rakudo-specific
implementation detail and has no serviceable parts inside
tobs `make html-nohighlight` fails for me in a clean checkout of the docs repo. "Failed to get the directory contents of '/tmp/doc/build/Programs': Failed to open dir: No such file or directory" in htmlify.p6 01:39
yoleaux 18 May 2019 06:30Z <jmerelo> tobs: I don't think so. It's systematically failing. I'll take a look.
tobs does someone have experience with that error? I think I used to make html-nohighlight just like that before. 01:40
Kaiepi m: use nqp; BEGIN $*W.install_lexical_symbol($*W.symbol_lookup(nqp::list('MY'), Nil), 'foo', 1); say foo 03:19
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
5===SORRY!5=== Error while compiling
Cannot find method 'symbol' on object of type QAST::Op
at :
Kaiepi m: use nqp; BEGIN $*W.install_lexical_symbol($*UNIT, 'foo', 1); say foo 03:20
camelia 1
Kaiepi m: BEGIN say $*UNIT.dump 03:21
camelia - QAST::Block :outer<?> :in_stmt_mod<?> :also_uses<?> :IN_DECL<mainline>
- QAST::Stmts
- QAST::Var(lexical $¢ :decl(contvar))
- QAST::Var(lexical $! :decl(contvar))
- QAST::Var(lexical $/ :decl(contvar))
- QAST::Var(l…
Kaiepi m: sub a { $*W.install_lexical_symbol($*UNIT, 'a', 1) }; BEGIN a; say a 03:31
camelia 1
Kaiepi m: sub a { $*W.install_lexical_symbol($*UNIT, 'a', 1) }; BEGIN a; say UNIT::<a> 03:32
camelia 1
Kaiepi m: sub a { use nqp; $*W.install_lexical_symbol($*W.symbol_lookup(nqp::list('CALLER', 'MY'), Nil), 'a', 1) }; BEGIN a; say a 03:33
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
5===SORRY!5=== Error while compiling
Cannot find method 'symbol' on object of type QAST::Op
at :
Kaiepi damn
m: BEGIN { use QAST }
camelia ===SORRY!===
Could not find QAST at line 1 in:
inst#/home/camelia/.perl6
inst#/home/camelia/rakudo-m-inst-1/share/perl6/site
inst#/home/camelia/rakudo-m-inst-1/share/perl6/vendor
inst#/home/camelia/rakudo-m-inst-1/share/perl6…
Kaiepi m: BEGIN QAST::Block.new() 03:34
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
Could not find symbol '&Block'
in code at <tmp> line 1
Kaiepi m: sub evil { $*W.install_lexical_symbol: $*W.cur_lexpad, 'foo', 1 }; BEGIN evil; say foo 03:44
camelia 1
Kaiepi ah hah
m: sub evil { $*W.install_lexical_symbol: $*W.cur_lexpad, 'foo', 1 }; BEGIN evil; say so UNIT::.keys.first(* eq 'foo'); say so UNIT::MY::.keys.first(* eq 'foo') 03:45
camelia True
True
Kaiepi m: sub evil { $*W.install_lexical_symbol: $*W.cur_lexpad, 'foo', 1 }; BEGIN evil; say so UNIT::.keys
camelia True
Kaiepi m: sub evil { $*W.install_lexical_symbol: $*W.cur_lexpad, 'foo', 1 }; BEGIN evil; say UNIT::.keys 03:46
camelia (GLOBALish foo !UNIT_MARKER ::?PACKAGE &evil EXPORT $_ $! $=finish $?PACKAGE $¢ $=pod $/)
Kaiepi m: sub evil { $*W.install_lexical_symbol: $*W.cur_lexpad, 'foo', 1 }; BEGIN evil; say MY::.keys 03:49
camelia (GLOBALish !UNIT_MARKER $=pod $¢ $_ EXPORT ::?PACKAGE $/ foo $! $?PACKAGE $=finish &evil)
Kaiepi m: sub evil { $*W.install_lexical_symbol: $*W.cur_lexpad, 'foo', 1 }; BEGIN evil; say OUR::.keys
camelia ()
Kaiepi m: class Type::EnumHOW is Metamodel::EnumHOW {} 05:24
camelia ( no output )
Kaiepi m: unit class Type::EnumHOW is Metamodel::EnumHOW {}
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use 'unit' with block form of class declaration
at <tmp>:1
------> 3lass Type::EnumHOW is Metamodel::EnumHOW7⏏5 {}
Kaiepi m: unit class Type::EnumHOW is Metamodel::EnumHOW
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse class definition
at <tmp>:1
------> 3lass Type::EnumHOW is Metamodel::EnumHOW7⏏5<EOL>
Kaiepi m: unit class Type::EnumHOW is Metamodel::EnumHOW;
camelia ( no output )
Kaiepi ok weird 05:39
bastille% perl6 -Ilib -MType::EnumHOW
===SORRY!===
Unknown QAST node type NQPMu
how do i debug this?
i know which method's causing it, but not what in the method
ah hah 05:53
m: use nqp; nqp::getattr($*VM. VM, 'osname')
camelia ===SORRY!===
Unknown QAST node type NQPMu
Geth doc/master: 4 commits pushed by (Tobias Boege)++, (Juan Julián Merelo Guervós)++ 06:42
cpan-p6 New module released to CPAN! App::Game::Concentration (0.0.1) by 03JMERELO 07:58
Geth doc: fa0a8fe0e7 | (JJ Merelo)++ | doc/Language/variables.pod6
Reorganizes dynamic variables closes #2813

Adds `$*DEFAULT-READ-ELEMS` closes #2802 in the new section.
08:19
synopsebot Link: doc.perl6.org/language/variables
Woodi hi #perl6 :) 08:36
jmerelo Hi, Woodi!
Woodi was just reading about Python wanting to remove GIL by having multiple interpreters hackernoon.com/has-the-python-gil-...40d28fa93d ... 08:37
and got to thinking that that Garbage Collection is a problem. maybe there should to be more then one GC with "localised" allocations and cleanup ? 08:39
jmerelo Woodi: if I remember correctly, something like that was done in Perl years ago
Woodi: no idea about that. I'm pretty sure MoarVM takes care of the thing pretty well.
Woodi jmerelo: but I think (maybe I'm wrong) that all languages have just one GC. when mem is managed manually free() is much often used. maybe Global GC is a problem ? 08:42
jmerelo Woodi: that's waaay above my pay grade. Sounds about right, but I have no idea. 08:43
Woodi: the folks at #moarvm surely know a lot more about that. 08:45
Woodi just theory, #moarvm have lot's of work atm :) 08:46
Geth doc: 5abe71418a | (JJ Merelo)++ | 2 files
Fixing links and reflow
09:47
doc: 48b008e8fc | (JJ Merelo)++ | doc/Type/independent-routines.pod6
Adds correct definition refs #2814
synopsebot Link: doc.perl6.org/type/independent-routines
ufobat m: sub foo($i) {my $i; say $i} 10:07
camelia ===SORRY!===
Cannot find method 'default' on object of type NQPMu
sena_kun 6c: sub foo($i) {my $i; say $i} 10:20
committable6 sena_kun, gist.github.com/a94c3d1d6d8f10192b...18ea318279
sena_kun ufobat, sounds like a regression 10:21
ufobat, rakudo issues want it for sure, and I'd give it a blocker status even
ufobat, ah, you are quick. :)
bisectable6, help 10:22
bisectable6 sena_kun, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # See wiki for more examples: github.com/perl6/whateverable/wiki/Bisectable
ufobat :D
sena_kun bisectable6: old=2018.12 new=2019.03 sub foo($i) {my $i; say $i} 10:23
bisectable6 sena_kun, Bisecting by exit code (old=2018.12 new=2019.03). Old exit code: 0
sena_kun, bisect log: gist.github.com/08fe8c3198ffb14d7f...7078872188
sena_kun, (2019-01-02) github.com/rakudo/rakudo/commit/42...54cdaf5187
Geth ecosystem: f841b0170d | (Ben Davies)++ (committed using GitHub Web editor) | META.list
Add Kaiepi's Type::EnumHOW to the ecosystem
11:56
Kaiepi Type::EnumHOW is sugar for enum's MOP 12:04
it does the work done by actions and the world for you and makes it so you don't need to use nqp at all to do stuff like add attributes 12:06
sena_kun Kaiepi, I'll use this one!
Kaiepi lemme know if you run into any issues with it :) 12:07
or have any feature requests
sena_kun need to try to rewrite a nqp::rebless piece with this.
Kaiepi, roger.
cpan-p6 New module released to CPAN! Type::EnumHOW (0.0.1) by 03KAIEPI 12:23
tobs jmerelo: in the doc repo, `make html-nohighlight` needs gen-pod6-source to be run before; the html target does have that as a prerequisite. But the source of manage-page-order.p6 tells me not to run it twice without a make clean in between. 15:22
Would it be okay to add gen-pod6-source as a prereq to html-nohighlight as well? I've run into non-building docs a few times too often 15:23
and it was always the same cause which I forget two days later.
jmerelo tobs: that makes sense 15:26
Geth doc: 0e8531a235 | (Tobias Boege)++ | Makefile
Add gen-pod6-source as a prereq to html-nohighlight

Otherwise htmlify can't find its sources in build.
15:28
jmerelo tobs++
tobs (looks like I do have a commit bit) 15:29
jmerelo tobs: use it wisely. I know you will :-) 15:29
guifa Is it possible to capture the raw in-between text for a circumfix operator or would that require doing a slang? 16:12
jmerelo guifa: with a regex? 16:22
guifa: most probably 16:23
guifa: you can use Unicode properties in regexes.
guifa I was thinking more about doing something of the sort
my $foo = '''some specialized language here''';
jmerelo oh, wait, you're talking about an operator, not a tilde
guifa: just a regex would do. 16:24
guifa Where ''' ''' is a circumfix operator
guifa realized using ''' as the example kind of obviates the benefit of not needing to do interior quotes ha 16:25
timotimo i mean, you can always q'''''' foo ''''''
guifa timtimo: actually I guess better restated is, how easy is it to make our own quote operator, a la q? 16:27
timotimo not possible without slangs at the moment :(
guifa I don't think I'd actually do the implementation for it, but I was thinking it could be kind a nice proof of concept to show, e.g., chemical formulae
(or symbolic math) 16:30
my $p = ´4x^2 + 3´; my $q = ´y + 8´; $p + $q; --> 4x^2 + y + 11 16:31
(I *am* toying with the idea of porting a sym math library when I'm done with all the international stuff, but the thought just came to me on how P6 might actually make accessing such stuff easier than most other languages) 16:32
tobs I've had a Slang::Literals on my mind for some time. I often find myself needing custom literals or constructors as short as possible when I try to write math in Perl 6
timotimo you can sometimes get around stuff with just terms and circumfix operators, but that still requires string-like things to be quoted additionally 16:34
tobs I've used `:string (where ` is a prefix that takes a Pair) to construct symbolic variable objects and ⬛<....> (where ⬛ is a prefix taking a string) to denote faces of the cube as literal as possible, for example. 16:35
timotimo ah, not bad actually
guifa Yeah, I think so long as spaces are non-significant length-wise, X< ... > is probably a good method 16:38
timotimo i mean, shouldn't X"blerp" also work?
guifa Probably, just not as visually jumpy (although absent a specialized keyboard there also aren't very many great options either) 16:46
timotimo try X‚foo‘ :P 16:51
m: sub prefix:<X>($a) { say $a }; X‚lol’
camelia lol
timotimo m: sub prefix:<X>($a) { say $a }; X‚lol‚ 16:52
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in low curly single quotes; couldn't find final <[’‘]> (corresponding starter was at line 1)
at <tmp>:1
------> 3sub prefix:<X>($a) { say $a }; X‚lol‚7⏏5<EOL>…
timotimo right.
guifa But yeah … I'm going to go ahead and set my post-Intl:: goal as porting Maxima or Axiom to P6 16:56
timotimo cool 16:57
jmerelo guifa: all of Maxima? 16:58
guifa jmarelo: I never said I'd do it in a year haha
jmerelo guifa: you might want to start wih Minima or Nanoma and take it from there :-) 16:59
guifa Are they compatible at all? 17:00
jmerelo guifa: just kidding (mini -> micro -> nano and so forth)
guifa oh, I literally thought those were subset libraries I just hadn't heard of :-) 17:01
tobs guifa: do you know about OSCAR (oscar.computeralgebra.de/)? If would be a terrific thing if we had something like that targeting Perl 6 instead of Julia as the interface language.
Given Inline:: modules exist, it might just be possible, but I didn't have time to play around with or understanding the Inline:: modules.
jmerelo tobs: the thing is it would be nice to have a tool that generates a minimal NativeCall implementation from .h files or something like that... 17:05
cpan-p6 New module released to CPAN! App::Game::Concentration (0.0.2) by 03JMERELO 17:06
jmerelo tobs: I don't think you would even need those modules. Just wrap the library.
guifa I haven't used OSCAR, but I'm not a huuuuuge math person admittedly (that's my dad's field, not much complex math in the medieval period for me ha) 17:07
tobs jmerelo: true, writing code for them inline would not be required. What made me think about Inline::* is the term "representational polymorphism" that I heard flying around and that's supposedly used in those modules and would be required to bridge these systems properly. 17:08
But again, I don't know what I'm talking about 17:09
timotimo jmerelo: gptrixie isn't good enough?
jmerelo No idea that existed, timotimo 17:10
timotimo no idea?! 17:12
guifa (my initial thought was "It'd be cool to say my $term = '2x² + 5x + 4'; $term *= 2; #4x² + 10x + 8; $term.solve( :x(1)); # 22" but then I figured it might be better to port some sort of existing CAS)
timotimo damn, we've gotta do more loud declarations of cool things that exist
guifa timotimo: isn't that the story of P6 though?
jmerelo guifa: I mean, there are _so_ many things... 17:18
ugexe CAS is compare and swap :P 17:23
guifa ugexe: CAS here is Computer Algebra System :-) 17:25
jmerelo CAS has always been cellular automata simulator. 17:26
guifa thinks naming the module CAS::Maxima or CAS::Axiom might not be best 17:27
timotimo i've done a lot of stuff with CAs, but i've never called a CA simulator a CAS 18:52
leont Apparently, a «sub MAIN(|args) { ... }» will never match any arguments sent to that program 19:06
Causing a usage message instead. 19:07
I guess that is not on purpose, is it?
timotimo probably not on purpose, no 19:09
does *@bloop, *%bleep work?
ugexe $ perl6 -e 'sub MAIN(|c) { say c.perl }' 42 19:10
\(IntStr.new(42, "42"))
$ perl6 -e 'sub MAIN(|c) { say c.perl }' 42 --foo=42 19:11
\(IntStr.new(42, "42"), "--foo=42")
wrong order i suppose 19:12
leont timotimo: yes it does 19:13
leont That's what I'm using now 19:13
timotimo ugexe's code seems to suggest |foo also works
ugexe $ perl6 -e 'sub MAIN(|c) { say c.perl }' --foo=42 42
Usage:
leont Yeah, I tried without a positional argument 19:14
$ perl6 -e 'sub MAIN(|c) { say c.perl }' --foo=42
timotimo that requires "named argument anywhere" maybe?
leont timotimo: no, the named argument stops the argument parsing 19:15
Erm, the non-named argument
This probably means that Sub.cando doesn't do the right thing
antoniogamiz anyone can help me with this error? travis-ci.com/antoniogamiz/doc/jobs/201235739 19:39
it fails with the whole set doc, but not in my local build (with a tiny set) 19:40
timotimo potentially trouble with the pod syntax
antoniogamiz oh I thought the error was about an await operation 19:41
timotimo no, an operation that was awaited 19:42
i.e. some task got started and threw an exception
antoniogamiz though it still does not make sense because with less pod files it works
timotimo the point where the result of the task was asked for is the place that is shown
antoniogamiz ah ok right mmm
timotimo if it works with less pod files, then the "less pod files" maybe doesn't include the file with the broken pod syntax?
antoniogamiz mmmmmmmmm 19:43
I will check that, ty :)
timotimo good luck! 19:44
antoniogamiz timotimo: do you know how I could get more info about the error? 20:02
timotimo unfortunately it's not giving a lot of detail 20:03
so you can barely even tell what it's evaling
only that it's at least 114 lines long
antoniogamiz mmmm 20:04
timotimo i mean, it's probable that it's from 01-debugging.pod6
antoniogamiz I think the same but I have tried it locally and it works :( 20:05
timotimo yeah
you could try putting debug output into htmlify.p6 or where it's doing the actual eval
timotimo so if an exception happens, it could output the source it's trying to compile 20:06
antoniogamiz mmm good idea, ty :)
timotimo ugliest hack possible, use &EVAL.wrap
antoniogamiz definetely it has to do something with how travis works mm 20:11
antoniogamiz I still dont see the point of test all modules you use every time you use them 20:16
ugexe because you want to be aware of any issues anyone installing your module might be encountering 20:18
otherwise nothing is stopping you from not testing
zef install . --deps-only --/test && zef install . 20:19
antoniogamiz mmm I still think that is not worth the time 20:20
what does that command do?
ugexe what do you think it does having never seen it before? 20:21
antoniogamiz I should have asked what --/test does, I suppose it passes the tests? 20:22
I just thought maybe it does something different, idk why have you passed then 20:23
ugexe it is like --no-test
antoniogamiz ah right, now I understand sorry
ty for the info
leont I think I found my issue 20:48
has-unexpected-named-arguments shouldn't just return False when first named argument is slurpy, but also if it's a capture 20:49
(Main.pm6's RUN-MAIN)
Geth doc: lukasvalle++ created pull request #2817:
Add list method in Map documentation
20:51