Skip to content

Instantly share code, notes, and snippets.

@neko-kai
neko-kai / hslua-0.3.4-use-system-lua-instead-of-bundled-lua.patch
Created November 6, 2011 11:41
fix for "unknown symbol`lua_neutralize_longjmp'"
--- hslua.cabal 2011-11-06 13:27:04.508004327 +0200
+++ hslua.cabal2 2011-11-06 13:31:33.935004333 +0200
@@ -16,26 +16,12 @@
The package is standalone: full Lua interpreter version 5.1.4
is distributed in this package as well.
Category: Scripting
-Extra-source-files: src/*.h
+Extra-source-files: src/ntrljmp.h
Library
>>> Unpacking source...
>>> Unpacking arx-libertatis-1.0.tar.xz to /var/tmp/portage/games-rpg/arx-libertatis-1.0/work
>>> Source unpacked in /var/tmp/portage/games-rpg/arx-libertatis-1.0/work
>>> Preparing source in /var/tmp/portage/games-rpg/arx-libertatis-1.0/work/arx-libertatis-1.0 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/games-rpg/arx-libertatis-1.0/work/arx-libertatis-1.0 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/games-rpg/arx-libertatis-1.0/work/arx-libertatis-1.0_build"
cmake --no-warn-unused-cli -C /var/tmp/portage/games-rpg/arx-libertatis-1.0/work/arx-libertatis-1.0_build/gentoo_common_config.cmake -DCMAKE_INSTALL_PREFIX=/usr -DUNITY_BUILD=ON -DBUILD_TOOLS=OFF -DBUILD_CRASHREPORTER=OFF -DGAMESBINDIR=/usr/games/bin -DCMAKE_INSTALL_DATAROOTDIR=/usr/share -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_INSTALL_DO_STRIP=OFF -DCMAKE_USER_MAKE_RULES_OVERRIDE=/var/tmp/portage/games-rpg/arx-libertatis-1.0/work/arx-libertatis-1.0_build/gentoo_rules.cmake /var/tmp/portage/games-rpg/arx-libe
{-# LANGUAGE CPP, OverloadedStrings #-}
-- | This module handles building multipart/form-data. Example usage:
--
-- > {-# LANGUAGE OverloadedStrings #-}
-- > import Network
-- > import Network.HTTP.Conduit
-- > import Network.HTTP.Conduit.MultipartFormData
-- >
-- > import Data.Text.Encoding as TE
-- >
@neko-kai
neko-kai / ArrowForkDiscardEff.scala
Last active March 12, 2018 16:52
.eff fork+discard function for cats Arrow
//import scalaz._
//import scalaz.syntax.arrow._
//
//def eff[F[_, _]: Arrow, A, B](a: F[A, B])(effFn: F[B, Unit]): F[A, B] = {
// val z = Arrow[F].arr(identity[B]) &&& Arrow[F].arr(identity[B])
//
// a >>> z >>> effFn.second[B].mapsnd(_._1)
//}
@neko-kai
neko-kai / ArrowForkPull.scala
Last active March 12, 2018 16:57
.fork and .pull for cats Arrow and Function1 (`=>`)
import shapeless._
import shapeless.ops.product._
import shapeless.syntax.std.product._
import cats._
import cats.data._
import cats.arrow._
import cats.syntax.applicative._
import cats.syntax.strong._
import cats.syntax.compose._
import cats.syntax.arrow._
@neko-kai
neko-kai / CovariantOverride.scala
Created March 13, 2018 02:23
FlatMap Covariant override in scala
class AbsBuilder[+A] {
type This[+X] <: AbsBuilder[X]
def add: AbsBuilder[A] = this
def flatMap[B](f: A => This[B]): AbsBuilder[B] =
new AbsBuilder[B]
def map[B](f: A => B): AbsBuilder[B] =
@neko-kai
neko-kai / StagedInjection.scala
Created August 4, 2018 22:38
Naive effectful instantiation in distage
import distage._
import distage.config._
import com.typesafe.config._
import scala.concurrent.{Await, Future}
import scala.concurrent.duration.Duration
import scala.concurrent.ExecutionContext.global
case class DbConf()
case class MsgQueueConf()
@neko-kai
neko-kai / Day.kt
Last active November 3, 2018 19:56
day-kt
package com.github.kaishh.day
import arrow.*
import arrow.core.*
import arrow.data.*
import arrow.syntax.function.*
import arrow.instances.*
import arrow.typeclasses.*
/**
@neko-kai
neko-kai / PerfTest.scala
Created January 7, 2019 00:38
logstage perf tests
package com.github.pshirshov.izumi
import com.github.pshirshov.izumi.logstage.api.logger.LogRouter
import com.github.pshirshov.izumi.logstage.api.{IzLogger, Log}
object PerfTest {
final val acceptingNullRouter = new LogRouter {
override def acceptable(id: Log.LoggerId, messageLevel: Log.Level): Boolean = true
override protected def doLog(entry: Log.Entry): Unit = {}
@neko-kai
neko-kai / quantified.scala
Last active April 2, 2019 13:53
Tagless final for ZIO via quantified constraints
package quantified
import cats.Monad
import scala.language.implicitConversions
/**
* C[_] constraint applied to type F[_, _] quantified in first parameter, i.e.
*
* {{{