»ö« 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.
00:00 lizmat joined
Geth ¦ doc: taboege self-assigned Checklist for 2019.03 github.com/perl6/doc/issues/2673 00:16
00:19 syntaxman_ is now known as syntaxman
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
00:23 ijneb joined
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
00:32 quipa_ joined 00:35 quipa left 00:41 kurahaupo_ joined, kurahaupo left 00:43 espadrine left
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
01:21 AlexDaniel joined 01:27 Sgeo__ joined 01:30 Sgeo_ left
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
01:42 ChoHag left 01:52 noisegul_ joined 01:55 noisegul left 02:05 quipa_ left 02:09 hythm joined 02:18 aborazmeh left 02:22 molaf joined 02:24 hythm left, hythm joined 02:29 hythm left 02:30 hythm joined 02:36 hythm left, hythm_ joined 02:39 hythm_ left 02:41 hythm joined 02:53 hythm_ joined 02:55 hythm left 03:07 hythm_ left 03:11 hythm joined
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 :
03:19 mowcat left
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 $/)
03:46 jeromelanteri joined
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 ()
03:51 adu left 04:03 jerome_ joined 04:04 jeromelanteri left 04:13 qiqi joined 04:32 qiqi left 04:34 nacyro joined, hythm left 04:35 hythm joined 05:02 hythm left 05:13 vrurg left, AlexDaniel left
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
05:55 maettu left 06:11 nacyro left 06:21 cpup left 06:24 jmerelo joined 06:28 cpup joined 06:35 ufobat joined 06:36 lizmat left 06:41 maettu joined
Geth doc/master: 4 commits pushed by (Tobias Boege)++, (Juan Julián Merelo Guervós)++ 06:42
07:01 kurahaupo_ left 07:02 kurahaupo joined 07:22 kurahaupo left 07:24 ravenousmoose joined 07:26 domidumont joined 07:43 AlexDaniel joined 07:47 espadrine joined 07:50 lizmat joined 07:54 robertle left 07:55 robertle joined
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
08:32 ChoHag joined
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
08:47 lizmat left 09:07 sena_kun joined 09:10 yqt joined, TeamBlast left, jerome_ left 09:18 TeamBlast joined 09:19 HarmtH left 09:20 HarmtH joined 09:23 ravenousmoose left 09:24 rindolf joined 09:45 espadrine left
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
09:48 molaf left 10:07 espadrine joined
ufobat m: sub foo($i) {my $i; say $i} 10:07
camelia ===SORRY!===
Cannot find method 'default' on object of type NQPMu
10:10 quipa joined
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
10:31 kensanata joined 10:46 netrino_ joined 10:49 Praise left 11:21 espadrine_ joined 11:22 espadrine left 11:33 arkaitz joined 11:34 jmerelo left
Geth ecosystem: f841b0170d | (Ben Davies)++ (committed using GitHub Web editor) | META.list
Add Kaiepi's Type::EnumHOW to the ecosystem
11:56
12:03 quipa_ joined, quipa left
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.
12:10 dogbert11 joined 12:13 dogbert17 left 12:20 aborazmeh joined, aborazmeh left, aborazmeh joined 12:21 arkaitz left
cpan-p6 New module released to CPAN! Type::EnumHOW (0.0.1) by 03KAIEPI 12:23
12:35 ufobat left 12:46 wamba joined 12:56 Praise joined, Praise left, Praise joined 13:32 qiqi joined 13:45 zacts joined, zacts left 13:46 zacts joined 13:47 aborazmeh left 13:51 zacts left 14:21 qiqi left 14:27 zacts joined 14:37 espadrine_ left 14:43 zacts left 14:45 zakharyas joined 14:55 antoniogamiz joined 15:09 zakharyas left 15:11 zakharyas joined 15:18 jmerelo joined 15:21 MilkmanDan left
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.
15:25 kensanata left
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
15:29 MilkmanDan joined
jmerelo tobs: use it wisely. I know you will :-) 15:29
15:35 cpan-p6 left 15:36 cpan-p6 joined, cpan-p6 left, cpan-p6 joined 15:55 ufobat joined 16:05 antoniogamiz left 16:10 guifa joined
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
17:10 evalable6 left 17:11 evalable6 joined, ChanServ sets mode: +v evalable6
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?
17:14 ravenousmoose joined
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
17:30 natrys joined 17:31 ravenousmoose left 17:52 rindolf left 17:55 espadrine_ joined 17:56 quipa_ left 18:03 MidCheck joined 18:12 guifa left 18:21 zakharyas left 18:25 vrurg joined, veesh left 18:26 rindolf joined 18:28 ravenousmoose joined, veesh joined 18:29 natrys left 18:34 natrys joined 18:50 domidumont left 18:52 jmerelo left
timotimo i've done a lot of stuff with CAs, but i've never called a CA simulator a CAS 18:52
19:06 leont joined
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?
19:10 zakharyas joined
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
19:13 antoniogamiz joined
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
19:24 kaare_ left
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?
19:43 kensanata joined
antoniogamiz mmmmmmmmm 19:43
I will check that, ty :)
timotimo good luck! 19:44
19:47 natrys left 19:51 arkaitz joined 19:58 ravenousmoose left 20:01 zakharyas left
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
20:06 yqt left
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
20:09 ufobat_ joined
antoniogamiz definetely it has to do something with how travis works mm 20:11
20:13 MidCheck left, ufobat left
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
20:33 Manifest0 left 20:35 antoniogamiz left 20:39 Xliff left 20:41 Manifest0 joined 20:44 woolfy joined
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
21:08 ayerhart left 21:09 SCHAPiE left 21:10 Manifest0 left 21:11 SCHAPiE joined 21:12 espadrine_ left 21:15 Manifest0 joined 21:32 Manifest0 left 21:33 woolfy left 21:35 woolfy joined 21:36 kensanata left 21:37 Manifest0 joined 21:39 lizmat joined 21:47 pecastro left 21:50 molaf joined 21:56 Manifest0 left 21:57 arkaitz left 22:02 Manifest0 joined 22:06 SCHAAP137 joined, SCHAPiE left, SCHAAP137 is now known as SCHAPiE 22:09 ChoHag left 22:21 rindolf left 22:23 sauvin left 22:24 wamba left 22:25 sauvin joined 22:33 molaf left 22:35 Cabanossi left 22:39 Cabanossi joined 22:57 vrurg left, gfldex left 22:58 gfldex joined 23:24 MilkmanDan left 23:25 MilkmanDan joined 23:37 netrino_ left 23:44 khisanth_ left