KEEP
kotlindl
Our great sponsors
KEEP | kotlindl | |
---|---|---|
52 | 16 | |
2,951 | 1,142 | |
1.8% | 4.7% | |
5.6 | 8.4 | |
3 days ago | 18 days ago | |
Markdown | Kotlin | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
KEEP
-
More on OOP: Polymorphism this time
The nitty-gritty is in the KEEP. They show in the end how they considered to add type classes, and then discarded the idea.
-
Making Lenses Practical in Java
Lenses work today. And I think the value class feature will be awesome.
https://github.com/Kotlin/KEEP/blob/master/notes/value-class...
-
Adding Coeffect System to Java with Project Loom
Seems like Kotlin Context Receivers then (https://github.com/Kotlin/KEEP/blob/master/proposals/context-receivers.md).
-
Rust: A Critical Retrospective
Kotlin has value classes. Here's a good overview of how they work in Kotlin: https://github.com/Kotlin/KEEP/blob/master/notes/value-class...
That document is a few years old now and was intended as a design document. But Value classes shipped with Kotlin 1.5. Apparently they are compatible with the project Valhalla value objects that will be added to the JVM at some point. So, this stuff is coming.
I had to look it up because even though I write Kotlin a lot, value classes are not something I have used at all. Looks useful but not that big of a deal and doesn't really solve a problem I have. Data classes and records (in Java) are a bigger deal IMHO.
In practice, the way you deal with immutability in Kotlin is to keep most of your data structures immutable by default unless they need to be mutable. E.g. there's a List and a MutableList interface. Most lists are immutable unless you create a MutableList. Same with val vs. var variables. Val variables can't be reassigned and you kind of use var only by exception when you really have to. The compiler will actually warn you if you do it without good reason. A data class with only vals can't be modified. Java is a bit more sloppy when it comes to mutability semantics. It has records now but all the fields have setters by default. It has var but no val assignments (you can use final to force this but few people do). And so on.
Semantically this is not as strong as what Rust does of course but it's good enough to make e.g. concurrency a lot easier. Mostly, if you avoid having a lot of mutable shared state, that becomes a lot easier.
You could imagine a Kotlin like language with much stronger semantics implementing borrow checking instead of garbage collection. It wouldn't be the same language of course but I don't think it needs to be very different. Using it would not be a massively different.
-
Java record pattern matching in JDK 19
I'd be very interested in a comparison between scala 3 using/given and Kotlin new context receivers https://github.com/Kotlin/KEEP/blob/master/proposals/context...
- Why no one recommends the use of the standard library's Result class but a custom sealed class approach?
-
[Question][Kotlin] Dexter Runtime Permissions development has stopped, whats the alternative?
This will be furthermore simplified with multiple receivers coming very soon
-
Java 20 looks like it may be one of the biggest updates in years
Tfw no pattern matching. :(
-
JSpecify: Express specifications (initially, just nullness properties) in a machine-readable way
I'm aware that kotlin decided against this in kotlin itself, see https://github.com/Kotlin/KEEP/issues/82.
- State of Valhalla
kotlindl
-
Kotlin Deep Learning Android app - Working
This is a really nice sample app (works out of the box) that Jetbrains have made to showcase the capabilities of this Kotlin Deep Learning library https://github.com/Kotlin/kotlindl
-
What libraries do you use for machine learning and data visualizing in scala?
There are Java bindings for TensorFlow, but that's quite low level. I tried to see if I can get some Keras API for Scala, but I'm no expert and haven't had enough time to invest in this, so it's stuck in alpha. Maybe I develop it slow burning over the next year. A bit envious that Kotlin has a Keras-like library.
-
KotlinDL 0.3 Is Out With ONNX Integration, Object Detection API, 20+ New Models in ModelHub, and Many New Layers
Could you please add an issue with your use-case and proposed solution? Or write here more details. Do you need just serialization to objects in memory? or just in bytes?
Introducing version 0.3 of our deep learning library, KotlinDL.
The answer to the second question (from the GitHub page):
-
Machine Learning in Kotlin (Question)
I'm not in Machine Learning but maybe KotlinDL ?
While KotlinDL seems to be a good solution by Jetbrains, I would personally stick to Java frameworks like DL4J for a better community support and likely more features.
-
Numpy for kotlin
For deep learning this is your best bet: https://github.com/jetbrains/kotlindl
-
Kotlin Team AMA #3: Ask Us Anything
Please, visit our tutorials and examples for KotlinDL. It covers all possible use-cases for AI implementation at this moment.
Regarding AI: currently, you implement neural networks for solving classification and regression tasks for tabular data, or in Computer Vision with Kotlin Deep Learning Library (KotlinDL).
What are some alternatives?
KorGE - KorGE Game Engine. Multiplatform Kotlin Game Engine & Korlibs
htmx - </> htmx - high power tools for HTML
kotlin-wrappers - Kotlin wrappers for popular JavaScript libraries
Decompose - Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing (navigation) and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.)
tensorflow-keras-scala - Scala-based Keras API for the Java bindings to TensorFlow. Issue tracker: https://codeberg.org/sciss/tensorflow-keras-scala/issues
kotlinx-datetime - KotlinX multiplatform date/time library
multik
kotlinx.html - Kotlin DSL for HTML
compose-multiplatform - Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
ktor - Framework for quickly creating connected applications in Kotlin with minimal effort