Skip to content

Instantly share code, notes, and snippets.

View keynmol's full-sized avatar
🏠
choosing the lowest hill to die on

Anton Sviridov keynmol

🏠
choosing the lowest hill to die on
View GitHub Profile
@keynmol
keynmol / llvm_bindings.scala
Created July 3, 2023 09:16
LLVM-C bindings for Scala 3 Native
package llvm_bindings
import _root_.scala.scalanative.unsafe.*
import _root_.scala.scalanative.unsigned.*
import _root_.scala.scalanative.libc.*
import _root_.scala.scalanative.*
object predef:
private[llvm_bindings] trait CEnumU[T](using eq: T =:= UInt):
given Tag[T] = Tag.UInt.asInstanceOf[Tag[T]]
@keynmol
keynmol / README.md
Last active June 5, 2023 12:19
Example of contextual logging with IOLocal and Scribe in Cats Effect

Run with scala-cli run context-logging.scala

Screenshot 2023-06-05 at 13 18 17

@keynmol
keynmol / librdata.scala
Created June 4, 2023 08:25
Librdata bindings
package librdata
import _root_.scala.scalanative.unsafe.*
import _root_.scala.scalanative.unsigned.*
import _root_.scala.scalanative.libc.*
import _root_.scala.scalanative.*
object predef:
private[librdata] trait CEnumU[T](using eq: T =:= UInt):
given Tag[T] = Tag.UInt.asInstanceOf[Tag[T]]
@keynmol
keynmol / curl-7.87.0.scala
Created March 24, 2023 09:41
Scala 3 Native Curl bindings + example program
package curl
import _root_.scala.scalanative.unsafe.*
import _root_.scala.scalanative.unsigned.*
import _root_.scala.scalanative.libc.*
import _root_.scala.scalanative.*
object predef:
private[curl] trait CEnum[T](using eq: T =:= Int):
given Tag[T] = Tag.Int.asInstanceOf[Tag[T]]
package libhandler
import _root_.scala.scalanative.unsafe.*
import _root_.scala.scalanative.unsigned.*
import _root_.scala.scalanative.libc.*
import _root_.scala.scalanative.*
object predef:
private[libhandler] trait CEnumU[T](using eq: T =:= UInt):
given Tag[T] = Tag.UInt.asInstanceOf[Tag[T]]
@keynmol
keynmol / unit-1.29.1.scala
Created March 17, 2023 15:41
NGINX Unit bindings (
package unit
import _root_.scala.scalanative.unsafe.*
import _root_.scala.scalanative.unsigned.*
import _root_.scala.scalanative.libc.*
import _root_.scala.scalanative.*
object aliases:
import _root_.unit.aliases.*
import _root_.unit.structs.*
@keynmol
keynmol / lmdb.scala
Created March 7, 2023 20:16
LMDB bindings for Scala 3 Native
package lmdb
import _root_.scala.scalanative.unsafe.*
import _root_.scala.scalanative.unsigned.*
import _root_.scala.scalanative.libc.*
import _root_.scala.scalanative.*
object predef:
private[lmdb] trait CEnumU[T](using eq: T =:= UInt):
given Tag[T] = Tag.UInt.asInstanceOf[Tag[T]]
This file has been truncated, but you can view the full file.
package libnotify
import scala.scalanative.unsafe.*
import scala.scalanative.unsigned.*
import scalanative.libc.*
import scalanative.*
object predef:
trait CEnum[T](using eq: T =:= Int):
@keynmol
keynmol / libnotify.scala
Created February 3, 2023 15:41
Libnotify and transitively glib bindings
This file has been truncated, but you can view the full file.
//> using platform "scala-native"
//> using nativeVersion "0.4.10"
//> using scala "3.2.2"
package t
import scala.scalanative.unsafe.*
import scala.scalanative.unsigned.*
import scalanative.libc.*
import scalanative.*
@keynmol
keynmol / lsp.scala
Created August 25, 2022 17:10
Langoustine Scala Native Example
//> using scala "3.1.3"
//> using platform "scala-native"
//> using lib "tech.neander::jsonrpclib-core::0.0.3-16-0d40b9-DIRTYce833c81"
//> using lib "tech.neander::langoustine-lsp::0.0.8"
//> using lib "com.lihaoyi::os-lib::0.8.1"
import langoustine.lsp.LSPBuilder
import scala.concurrent.Future