Skip to content

Instantly share code, notes, and snippets.

View merklol's full-sized avatar
😎

Maxim Smolyakov merklol

😎
  • smorodina.mobi
  • Shanghai, China
View GitHub Profile
@merklol
merklol / FList.kt
Last active December 8, 2020 15:29
Singly linked list in Functional Programming Style
sealed class FList<out A> {
object Empty : FList<Nothing>()
data class Node<out A>(val head: A, val tail: FList<A>) : FList<A>() {
override fun toString() =
foldLeft("[", { acc: String, initial: A -> "$acc$initial, " }).dropLast(2) + "]"
}
companion object {
fun <A> of(element: A): FList<A> = Node(element, Empty)
@merklol
merklol / StopWatch.kt
Created October 9, 2020 14:42
StopWatch using RxJava
class StopWatch {
private val disposableBag = CompositeDisposable()
var onTick: (String) -> Unit = {}
var elapsedTime: Long = 0
companion object {
const val INITIAL_VALUE = "00:00:00"
}
fun start() {