🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
guifa throwing this out here on the dev channel too: I'm thinking of last minute ideas for the Toronto conference. Any ideas? Any topics y'all think folks should hear about? 01:29
lizmat well, RakuAST I guess :-) 08:22
Xliff How can I RakuAST "$output ~= 'a'" ? 08:34
~= is MetaInfix, no? 08:35
lizmat m: say Q|$_ ~= 'a'|.AST 08:37
camelia RakuAST::StatementList.new(
RakuAST::Statement::Expression.new(
expression => RakuAST::ApplyInfix.new(
left => RakuAST::Var::Lexical.new("\$_"),
infix => RakuAST::MetaInfix::Assign.new(
RakuAST::Infix.new("~")
lizmat .AST is your friend
Xliff lizmat++
lizmat m: say Q|$_ ~= 'a'|.AST.statements.head
camelia RakuAST::Statement::Expression.new(
expression => RakuAST::ApplyInfix.new(
left => RakuAST::Var::Lexical.new("\$_"),
infix => RakuAST::MetaInfix::Assign.new(
RakuAST::Infix.new("~")
),
right => RakuAST::QuotedStrin
lizmat m: say Q|$_ ~= 'a'|.AST.statements.head.expression
camelia RakuAST::ApplyInfix.new(
left => RakuAST::Var::Lexical.new("\$_"),
infix => RakuAST::MetaInfix::Assign.new(
RakuAST::Infix.new("~")
),
right => RakuAST::QuotedString.new(
segments => (
RakuAST::StrLiteral.new("a"…
Xliff m: say Q|$a = 'qq\$name'|.AST 08:48
camelia ===SORRY!=== Error while compiling
Variable '$a' is not declared. Perhaps you forgot a 'sub' if this was
intended to be part of a signature?
------> <BOL>⏏$a = 'qq\$name'
Xliff m: say Q|$_ = 'qq\$name'|.AST
camelia RakuAST::StatementList.new(
RakuAST::Statement::Expression.new(
expression => RakuAST::ApplyInfix.new(
left => RakuAST::Var::Lexical.new("\$_"),
infix => RakuAST::Infix.new("="),
right => RakuAST::QuotedString.new(…
Xliff Hmmm... Can QuotedLiteral do single quote semantics, yet? 08:53
lizmat you can do a RakuAST::StrLiteral.new("foo") 08:55
Xliff Yeah, but was hoping I could avoid the double quote shenannigans. 09:01
At any rate. Thanks, lizmat!
lizmat I'm not sure which shenanigans you mean?
Xliff "$name" when I really want '$name' 09:02
'$' warts and all
Does Q||.AST not work for method calls? 09:41
m: my $c; Q|my $t = $c.method("a")|.AST.say
camelia ===SORRY!=== Error while compiling
Confused
------> my $t = $c.method("a")⏏<EOL>
lizmat Xliff: actually, sometimes the parsing is missing something essential, and it gets confused as you saw 09:44
I'm still trying to figure out what it is that is triggering this :-( 09:45
Xliff Thanks.
lizmat m: Q|my $c; my $t = $c.method("a")|.AST.say
camelia ===SORRY!=== Error while compiling
Confused
------> my $c; my $t = $c.method("a")⏏<EOL>
lizmat m: Q|my $c; my $t = $c.method("a");|.AST.say
camelia ===SORRY!=== Error while compiling
Confused
------> my $c; my $t = $c.method("a")⏏;
09:46
lizmat m: Q|my $c; my $t = $c.foo("a");|.AST.say
camelia ===SORRY!=== Error while compiling
Confused
------> my $c; my $t = $c.foo("a")⏏;
lizmat m: Q|my $c; my $t = $c.foo(42);|.AST.say
camelia ===SORRY!=== Error while compiling
Confused
------> my $c; my $t = $c.foo(42)⏏;
lizmat m: Q|my $c; $c.foo(42);|.AST.say
camelia ===SORRY!=== Error while compiling
Confused
------> my $c; $c.foo(42)⏏;
lizmat yeah... confusing it is indeed
m: Q|{ my $c; $c.foo(42) }|.AST.say 09:47
camelia ===SORRY!=== Error while compiling
Confused
------> { my $c; $c.foo(42)⏏ }
Geth rakudo/main: 3ebdffd400 | (Elizabeth Mattijsen)++ | 6 files
RakuAST: introducing RakuAST::Doc modules

These provide the building blocks for creating a simplified representation of rakudoc (aka pod). For now, this only includes creation, deparsing and .raku + tests. The following classes are provided: ::Block, ::Paragraph, ::Verbatim, ::Table, ::Markup
... (28 more lines)
17:26
Geth rakudo/main: 7f4554c171 | (Elizabeth Mattijsen)++ | 6 files
RakuAST: move s/Pod/Doc/ for declarators

Introduces the RakuAST::Doc::Declarator class + .raku + deparsing
  + test. Used to be called RakuAST::Pod::Declarator
18:14
nine m: say <ok> 19:26
evalable6 ok
nine m: say <ok> 19:28
camelia ok
nine m: say <ok> 19:50
camelia ok
lizmat I think it's ok? 22:15