!CENmKDnMngVwJJrTry:matrix.org

Inko

226 Members
The Inko programming language. | #inko:matrix.org4 Servers

Load older messages


SenderMessageTime
15 Jan 2022
@_discord_311956979297812480:t2bot.ioNot_A joined the room.21:22:11
16 Jan 2022
@_discord_538009668035805195:t2bot.ioPatAPizza joined the room.23:26:13
17 Jan 2022
@yorickpeterse:matrix.orgYorick PeterseMaking some solid progress with the type checker. Currently working on defining/checking method signatures, which is a bit tricky due to different types of methods having different rules16:00:19
@yorickpeterse:matrix.orgYorick Peterse e.g. module methods can't yield, but instance methods can, and for instance methods the type of self/Self differs based on the presence of a when clause 16:00:45
@yorickpeterse:matrix.orgYorick Peterse e.g. for class Array[T] { fn to_string when T: ToString }, self is basically Array[T: ToString] rather than just Array[T] 16:01:20
@yorickpeterse:matrix.orgYorick Peterse * e.g. for class Array[T] { fn to_string when T: ToString { ... } }, self is basically Array[T: ToString] rather than just Array[T] 16:01:30
@yorickpeterse:matrix.orgYorick PeterseI think the biggest obstacle at the moment (and probably this week as a whole), is that the various method types to implement are similar enough that you want to reuse code, but different enough that this isn't easy19:16:39
@yorickpeterse:matrix.orgYorick PeterseI think I got instance method signatures done, just not entirely sure yet if I'm happy with the code, but that's a problem for tomorrow 🙂22:56:02
18 Jan 2022
@_discord_553754597651513345:t2bot.ioライアン changed their display name from Ryan to ライアン#2827.00:24:21
@_discord_553754597651513345:t2bot.ioライアン changed their profile picture.00:24:23
@_discord_553754597651513345:t2bot.ioライアン changed their display name from ライアン#2827 to ライアン.00:24:24
@_discord_179886464824246272:t2bot.ioinjuly#6820 changed their profile picture.06:09:33
@_discord_332114013045653506:t2bot.ioArnaud[Madlib] changed their display name from Askero to Arnaud[Madlib]#7886.15:15:16
@_discord_332114013045653506:t2bot.ioArnaud[Madlib] changed their display name from Arnaud[Madlib]#7886 to Arnaud[Madlib].15:15:17
@yorickpeterse:matrix.orgYorick Peterse Now for the tricky bit: disallowing ref T as input/output for async methods 15:22:19
@yorickpeterse:matrix.orgYorick Peterse Verdagon#9572: How does Vale handle refs and concurrency, if at all? The challenge is 1) not allowing you to send refs across threads 2) not allowing sending of owned values across threads if they still have refs. I've been looking into this, and it seems you basically can't handle that unless: 1) you insert runtime checks (which can get expensive) 2) disallow moving when refs exist (limiting) 3) use a different approach 17:36:38
@yorickpeterse:matrix.orgYorick Peterse For that last one: an option is to disallow moving when a ref exists, then introduce weak refs that do allow moving. You still can't send them across threads, but you can remove the need for ref counting at runtime 17:37:16
@yorickpeterse:matrix.orgYorick PeterseThe problem is that you may still need to insert a check when sending to clear any weak refs17:37:35
@yorickpeterse:matrix.orgYorick Peterse Actually that check is very similar: either you check ref counts and error when there are any, or you clear weak refs and potentially error when you try to load one later 17:38:03
@yorickpeterse:matrix.orgYorick PeterseI think the weak ref approach is pretty similar to Vale's generational references, except it relies on indirection opposed to fat pointers17:38:27
@yorickpeterse:matrix.orgYorick Peterse Generics make this annoying too, because if you have e.g. async fn some_message[T](values: Array[T]) { ... }, the compiler has to check every call-site to make sure that whatever is passed to values doesn't contain a ref or weak 17:39:40
20 Jan 2022
@_discord_431561327761424394:t2bot.io[cthulhu] changed their profile picture.04:44:33
@_discord_431561327761424394:t2bot.io[cthulhu] changed their display name from ApacheActual#6945 to [cthulhu].04:44:35
@_discord_353814396092547074:t2bot.ioFuturesight 𝄢᮷⁂⁘♫∞ joined the room.21:54:03
22 Jan 2022
@_discord_295345340859678720:t2bot.ioredninja106 joined the room.04:07:35
@_discord_640758321866866699:t2bot.ioarwn#2335 changed their profile picture.22:32:46
23 Jan 2022
@_discord_132185638983303168:t2bot.ioJackojc#5426 changed their display name from Jackojc [wot++/klaxon] to Jackojc#5426.15:44:33
24 Jan 2022
@_discord_781745960829059072:t2bot.ioForeignSasquatch#6574 changed their display name from ForeignSasquatch to ForeignSasquatch#6574.03:46:29
@_discord_756201167142256661:t2bot.ioNikos Plugachev the Piccolist changed their display name from Nikos Plugachev the Piccolist to Nikos Plugachev#2827.04:39:56
@_discord_756201167142256661:t2bot.ioNikos Plugachev the Piccolist changed their display name from Nikos Plugachev#2827 to Nikos Plugachev the Piccolist.04:39:57

There are no newer messages yet.


Back to Room List