| patrickb | any opposition to merging the vararg prs? (now is the right time) | 07:15 | |
| github.com/MoarVM/MoarVM/pull/1969 | |||
| github.com/rakudo/rakudo/pull/5998 | |||
| Geth | nqp/main: f876d6f479 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION Bump MoarVM to get NativeCall varargs support, patrickb++ |
08:17 | |
| rakudo/main: 61f0918808 | (Patrick Böker)++ (committed using GitHub Web editor) | 5 files Add vararg support to NativeCall (#5998) This depends on MoarVM PR #1969. Variadic calls are modelled via a slurpy arg. Pointers are passed via the `Pointer.to()` method. The C type of the values is determined by looking at the values themselves. |
08:59 | ||
| lizmat | grrr.... | 09:01 | |
| looks like all of NativeCall is now broken :-( | 09:04 | ||
| patrickb ^^ | |||
| MVMArray: Index out of bounds | |||
| m: use nqp; nqp::atpos(nqp::list,-1 # basically this | 09:05 | ||
| camelia | ===SORRY!=== Error while compiling <tmp> Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1) at <tmp>:1 ------> ::atpos(nqp::list,-1 # basically this<HERE><EOL> |
||
| lizmat | m: use nqp; nqp::atpos(nqp::list,-1) # basically this | ||
| camelia | MVMArray: Index out of bounds in block <unit> at <tmp> line 1 |
||
| Geth | rakudo/main: 488783a7d8 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION Bump NQP to get NativeCall varargs support, patrickb++ |
09:20 | |
| rakudo/main: f4cb406bae | (Elizabeth Mattijsen)++ | lib/NativeCall.rakumod Only check varargs logic if there are any args at all Otherwise an MVMArray: Index out of bounds error will occur in that case. |
09:25 | ||
| lizmat | ok, that was easy enough to check | ||
| and fix | |||
|
09:52
librasteve_ joined
|
|||
| Geth | rakudo/main: eb8c9b138a | (Elizabeth Mattijsen)++ | src/Raku/Actions.nqp Revert "RakuAST: don't allow &( ) contextualizer" It looks like the contextualizer logic is also called for syntax constructs such as ".&{ 3 }". More checks are needed. So revert for now. This reverts commit dd78e653d5925e00e0604fddd46ee9d8b9f28977. |
10:57 | |
| roast: 37bd55c86a | (Elizabeth Mattijsen)++ | S32-exceptions/misc2.t Make test for $] less Perl centric In RakuAST this causes an "unexpected closing bracket" error, which makes *way* more sense for "say $]" for anybody who is not a die-hard Perl 4 programmer. Also, in RakuAST, this is legal: my @a; say @a[++$]; # using anonymous state variable |
11:11 | ||
| roast: 99806613ef | (Elizabeth Mattijsen)++ | 2 files Lose some superfluous "use v6" |
11:14 | ||
| rakudo/main: 41a1b3cd19 | (Elizabeth Mattijsen)++ | 3 files RakuAST: allow ≔ as a unicode alternative for := |
11:40 | ||
| lizmat | m: 42.${ 3 } # wow, that's an ancient error | 11:49 | |
| camelia | ===SORRY!=== Error while compiling <tmp> Unsupported use of ${ 3 }. In Raku please use: $( 3 ) for hard ref or $::( 3 ) for symbolic ref. at <tmp>:1 ------> 42.${ 3 }<HERE> # wow, that's an ancient error |
||
| lizmat | hard ref ? symbolic ref ? | ||
| m: $::( 3 ) | 11:50 | ||
| camelia | No such symbol '' in block <unit> at <tmp> line 1 |
||
| ab5tract | back before we had enough letters around to fully type out a word like 'reference' :) | 11:51 | |
| m: role R {}; role S does R {}; use nqp; dd nqp::istype(role T does S {}, R) | |||
| camelia | 0 | ||
| ab5tract | m: role R {}; role S does R {}; use nqp; dd nqp::istype(role T does S {}.HOW.compose(T), R) | ||
| camelia | 1 | ||
| lizmat | m: Q|$::( 3 )|.AST.EVAL | ||
| camelia | ===SORRY!=== Error while compiling /home/camelia/EVAL_0 Variable '$3' is not declared. Perhaps you forgot a 'sub' if this was intended to be part of a signature? at /home/camelia/EVAL_0:1 ------> <BOL><HERE>$::( 3 ) |
||
| lizmat | that feels more sane | ||
| ab5tract | re: the above role stuff -- how can this be possible? compose is called in PRODUCE-META-OBJECT | 11:55 | |
| is there a (global?) hierarchy table that isn't being updated or something? | 11:56 | ||
| m: Q| role R {}; role S does R {}; use nqp; dd nqp::istype(role T does S {}.HOW.compose(T), R) |.AST.EVAL | |||
| camelia | 1 | ||
| ab5tract | m: Q| role R {}; role S does R {}; use nqp; dd nqp::istype(role T does S {}, R) |.AST.EVAL | ||
| camelia | 0 | ||
| lizmat | well, there *is* a type cache that nqp::istype uses | 11:57 | |
| nqp::settypecache | 11:58 | ||
| appears to be called in .publish_type_cache in several metamodel classes | 11:59 | ||
| ab5tract | hm, but ParametricRoleHOW calls nqp::settypecache in its compose | 12:01 | |
| :/ | |||
| oops, sorry that was NQPParametriceRoleHOW | 12:03 | ||
| patrickb | lizmat: Thanks for finding and fixing my PR! | 12:24 | |
|
12:26
ds7832 joined
12:38
ds7832 left
|
|||
| lizmat | patrickb: yw | 13:03 | |
|
14:22
librasteve_ left
|
|||
| timo | is there a way to put adverbs on the module when using `try require ::("Foo");` syntax? | 14:32 | |
| meaning auth, ver, and api | |||
| lizmat | not to my knowledge | 14:48 | |
| I usually do "use foo:ver<1.2.3>".EVAL | 14:49 | ||
| timo | that's not so cool :) | ||
| i'm not sure how to properly work with something i pulled in with `try require Bla::Bla::Bla`, I can get as far as `say Bla::Bla::Bla` giving me a ModuleHow, and `Bla::Bla::Bla::<EXPORT>` giving me a PackageHOW. But after that, how do i correctly get at the things? the only thing I could find was to go `Bla::Bla::Bla::<EXPORT>.WHO<ALL>.WHO<TheThingIWanted>` | 15:03 | ||
| lizmat | atm I haz no idea, maybe ugexe nine have | 15:42 | |
| ugexe | you cannot use adverbs with require at all | 15:49 | |
| which yes is a problem | |||
| m: require Test:ver<asdfkjasldfjasdfasf>; | 15:50 | ||
| camelia | ( no output ) | ||
| timo | not surprised that ugexe already knows about this :) | 15:56 | |
| [Coke] | m: require Test:ver<asdfkjasldfjasdfasf>; flunk('oh no') | ||
| camelia | ===SORRY!=== Error while compiling <tmp> Undeclared routine: flunk used at line 1. Did you mean 'link'? |
||
| [Coke] | (just checking which way that was failing) | ||
| ugexe | you'd have to export flunk | 16:20 | |
| m: require Test:ver<asdfasdf> <&flunk>; flunk("asfd") | 16:21 | ||
| camelia | not ok 1 - asfd # Failed test 'asfd' # at <tmp> line 1 |
||
|
19:59
ds7832 joined
22:27
[Coke] left
|
|||