|
6macros: discussing the finer points of Perl 6 macros, Qtrees, and how to stay sane | irclog: irclog.perlgeek.de/6macros/today Set by moderator on 28 July 2015. |
|||
|
01:53
ilbot3 joined
04:12
vendethiel joined
08:30
vendethiel- joined
08:48
vendethiel joined
09:40
vendethiel joined
10:56
andreoss joined
17:13
andreoss joined
|
|||
| masak | andreoss: sorry for the late reply. being a parent of a small child while working full time right now. | 18:10 | |
| andreoss: code blocks are not first class in 007. subs are, though. `is parsed` ought to make it possible to write macros on par with `if`, taking a block or an xblock. | 18:12 | ||
| andreoss: your question about symbols reminds me of the musings in github.com/masak/007/issues/159 | 18:13 | ||
| andreoss | i was looking for a way to make implicit return possible, and it appears it could be done by altering Q::StatementList variable in the BUILD method of Val::Sub | 18:36 | |
| i'm not sure if it's a correct approach though | |||
| also type() might be a macro, but i didn't find any reflection mechanism so apparently it would need to match against every type separately | 18:42 | ||
| masak | I've been thinking seriously lately about refurbishing 007's object system | 18:45 | |
| would place Type and Object right in the middle of it, as the two "axiomatic" objects | 18:46 | ||
| but one thing I've realized after thinking about this for a few days is that more types need to be defined before those two objects need to be fully fleshed out | 18:47 | ||
| the chief example being that Type needs to have three fields ("attributes" in Perl 6 lingo), and these need to be kept in some sequential data structure, such as an Array | 18:49 | ||
| anyway, ramblings aside... I think type() will not end up being a macro, but maybe a property on Object | 18:52 | ||
|
18:55
andreoss joined
|
|||
| andreoss | some kind of MOP? | 18:56 | |
| masak | aye | 18:57 | |
| basically a very small one, like EcmaScript's, without metaobjects | |||
| ES has Object and Function in the middle as axiomatic objects | 18:58 | ||
| I want Object and Type, but basically the same idea | |||
| Object and Type are both instances of Type. Object is the base type of Type. | 19:01 | ||
| but I find it hard to think about, and before I find it easy-ish to think about, I don't want to attempt an implementation | 19:05 | ||
| I almost wish I could clone myself, douse the clone with intelligence-enhancing drugs, and have him explain to me how to tie all the bootstrapping knots | 19:08 | ||
| masak wonders what's in the way of implementing a working `swap` macro | 19:09 | ||
| well, #212 for one, but not just that. something is very off with scoping and quasis in general. | 19:10 | ||
| just as with infix:<ff>, or at least a rudimentary version of it | 19:13 | ||