|
00:47
leppard|2 left
00:59
rmv left
01:37
wayland76 joined
|
|||
| wayland76 | I've almost never seen a reason to use BUILD rather than TWEAK. I think I've wanted COMPOSE {} more often than I've wanted BUILD. | 01:40 | |
|
01:40
topnep left
01:41
guifa left
01:42
topnep joined,
hulk joined,
kylese left
02:15
hulk left,
kylese joined
02:48
apogee_ntv left
02:50
apogee_ntv joined
03:09
guifa joined
03:16
guifa left
03:21
guifa joined
03:44
guifa_ joined
03:46
guifa left
05:26
abraxxa joined
05:30
abraxxa1 joined,
abraxxa left
05:49
Sgeo left
05:52
topnep left
05:53
topnep joined
05:54
rmv joined,
rmv left,
rmv joined
05:59
rmv left
|
|||
| librasteve | I use TWEAK 99% of the time | 06:13 | |
| and “is built” and “is default” | 06:14 | ||
| (also like AttrX::Mooish) | 06:15 | ||
|
06:17
leppard|2 joined
07:16
topnep_ joined
07:17
topnep left
07:26
librasteve_ joined
07:46
dakkar joined
07:47
abraxxa1 left,
dakkar left
07:48
dakkar joined
08:00
abraxxa joined
08:09
vasko45355861 left
08:10
vasko45355861 joined
09:36
librasteve_ left
|
|||
| lizmat | wayland76: but COMPOSE was deemed unnecessary, as the mainline of a role is run at role composition time? | 09:38 | |
| m: role A { say "hi" }; class B does A { } | 09:39 | ||
| camelia | hi | ||
| wayland76 | lizmat: Oh! Good to know. I don't think I've seen that explained anywhere. | 10:01 | |
|
10:58
apogee_ntv left
11:58
rmv joined,
rmv left,
rmv joined
12:03
rmv left
12:39
leppard|2 left
13:15
jjido joined
13:27
jjido left
14:00
rmv joined,
rmv left,
rmv joined
14:05
rmv left
14:10
greenfork left
14:11
greenfork joined
14:23
apogee_ntv joined
|
|||
| Voldenet | but BUILD is useful when you want to actually customize building logic | 14:55 | |
| m: class X { has $.x; has $.y is default(42); method BUILD(:$y, :$x) { $!x = $x // $y; $!y = $y if $y; }}; X.new(y => 1, x => 2).say; X.new(x => 5).say; X.new(y => 2).say | 14:56 | ||
| camelia | X.new(x => 2, y => 1) X.new(x => 5, y => 42) X.new(x => 2, y => 2) |
||
| Voldenet | it's a bit like this new construction logic in java 22, where you can have `class X extends Y { X(int n) { if(n < 0) throw new …; super(x); }}` | 15:03 | |
| before `super` the object is uninitialized so you can't access fields reliably | |||
| in java this does compilation error | 15:06 | ||
| instead of giving you nulls (which probably could work like this in java, since it guarantees zero-initializing everything before constructor) | 15:07 | ||
| welp, instead of `super(…)` you can have `this(…)` which probably is more obvious in this case | 15:10 | ||
| [Coke] is in the middle of a refactor and spends 15m to figure out why the "update the json file" step isn't working.... it's because I commented it out at some point. :| | 15:29 | ||
| lizmat | :-) sounds familiar :-) | ||
|
15:35
rmv joined,
rmv left,
rmv joined
15:43
lizmat left,
lizmat joined
16:31
dakkar left
16:37
abraxxa left
17:07
wayland joined,
wayland76 left
|
|||
| apogee_ntv | Selkie 0.10.0 released with new text spans allowing different highlight colors in different regions of text input. Also fixed a couple of edge case bugs with mouse inputs & ctrl-x getting swallowed on certain widgets even if not mapped. | 17:17 | |
| And there's a big perf improvement to complex, rapidly changing layouts. | 17:19 | ||
| lizmat | paging librasteve :-) | 17:27 | |
| apogee_ntv++ | 17:30 | ||
|
17:52
jjido joined
18:31
jjido left
18:45
abraxxa joined
18:46
abraxxa left
18:47
abraxxa joined
19:59
lizmat left,
lizmat joined
20:37
abraxxa left
22:03
rmv left
22:10
tadzik left
22:18
Sgeo joined
22:21
rmv joined
22:33
habere-et-disper joined
|
|||
| librasteve | sorry, I’m in the land of toasted banana bread | 22:44 | |
| so just woke up | 22:45 | ||
|
22:45
librasteve_ joined
|
|||
| oh, it’s nighttime there | 22:46 | ||
|
23:03
habere-et-disper left
23:07
jeken left
23:15
kelt0m joined
23:20
rmv left
|
|||