Exerosis
01/23/2025, 8:54 AMYoussef Shoaib [MOD]
01/23/2025, 10:24 AMsuspendthrowRaiseYoussef Shoaib [MOD]
01/23/2025, 10:48 AMYoussef Shoaib [MOD]
01/23/2025, 3:44 PMExerosis
01/28/2025, 7:17 AMYoussef Shoaib [MOD]
01/28/2025, 4:54 PMsuspendfun interface Amb {
  suspend fun flip(): Boolean
}suspend fun Amb.drunkFlip(): String {
  val caught = flip()
  val heads = if (caught) flip() else error("too drunk")
  return if (heads) "heads" else "tails" 
}private suspend fun <R> selectAll(block: suspend Amb.() -> R): List<Result<R>> = buildList {
  handle {
    val amb = Amb {
      this@handle.use { resume ->
        resume(true)
        resume(false)
      }
    }
    add(runCatching { block(amb) })
  }
}[Success(heads), Success(tails), Failure(java.lang.IllegalStateException: too drunk)]Exerosis
01/31/2025, 3:28 AMcontext(Others...) fun <From, To> List<From>.map(
   mapper: context(Others...) (From) -> (To)
) = ...Youssef Shoaib [MOD]
01/31/2025, 3:36 AMRaiseHandlerPromptmapperExerosis
01/31/2025, 3:57 AMYoussef Shoaib [MOD]
01/31/2025, 7:01 AMYoussef Shoaib [MOD]
05/27/2025, 11:24 AM@RestrictsSuspension@RestricitsSuspension