Skip to content

Instantly share code, notes, and snippets.

@limansky
limansky / numbers.hs
Created Dec 19, 2011
The problem of list order
View numbers.hs
import Data.List (delete)
squarable x = x `elem` [y^2 | y <- [2..x] ]
nexts x rest = foldr check [] rest
where check v good = if squarable (x + v) then v:good
else good
search ls [] = [ls]
search ls rs = nexts (last ls) rs >>= \v -> search (ls ++ [v]) (delete v rs)
@limansky
limansky / grouplist.hs
Created Dec 22, 2011
Problem of grouping list values.
View grouplist.hs
-- ghci example
-- *Main> group [1,2,3,4,7,8,13]
-- [(1,4),(7,8),(13,13)]
group = foldr f []
where f x [] = [(x,x)]
f x as@((a,b):as') = if a == x+1 then (x,b):as'
else (x,x):as
-- *Main> ungroup [(1,4),(7,8),(13,13)]
-- [1,2,3,4,7,8,13]
ungroup [] = []
View gist:4262706
#include <vector>
#include <algorithm>
#include <functional>
#include <iostream>
using namespace std;
bool gt(int a, int b)
{
return a < b;
View build.sbt
name := "Testmail"
version := "0.0.1"
scalaVersion := "2.9.1"
// you can also add multiple repositories at the same time
resolvers ++= Seq(
"Scala Tools Releases" at "https://oss.sonatype.org/content/groups/scala-tools/"
)
@limansky
limansky / gitlab
Last active Dec 21, 2015
GitLab initscript for 6-0
View gitlab
#!/sbin/runscript
# GitLab 5.2 and 5.3 init script for Gentoo Linux
# see https://github.com/gitlabhq/gitlabhq/blob/master/doc/installation.md
GITLAB_BASE=/mnt/data/gitlab/gitlab
GITLAB_USER=gitlab
depend() {
need net redis
}
@limansky
limansky / conf.d
Created Sep 12, 2013
Initscript for headless virtualbox
View conf.d
# Virtual machine name
VMNAME="guest"
# User, owing virtual machine
VMUSER="vboxuser"
# Stop mode. One off acpipowerbutton | savestate
VMSTOP="savestate"
@limansky
limansky / Linear.scala
Created Jan 12, 2017
Linear type class
View Linear.scala
package me.limansky
import shapeless.ops.hlist.Prepend
import shapeless.{::, <:!<, Generic, HList, HNil, LabelledGeneric, Lazy}
trait Linear[L] {
type Repr <: HList
def linear(t: L): Repr
}
@limansky
limansky / MapReader.scala
Last active Jun 25, 2017
Read Map[String, String] to case class
View MapReader.scala
package me.limansky
import cats.Monoid
import shapeless.labelled.{FieldType, field}
import shapeless.{::, HList, HNil, LabelledGeneric, Lazy, Witness}
trait MapReader[T] {
def read(m: Map[String, String]): T
}
View tinymount-0.2.8-r1.ebuild
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ru uk"
inherit qmake-utils l10n
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI=("https://github.com/limansky/${PN}.git")
inherit git-r3
@limansky
limansky / build.sbt
Created Jun 11, 2019
sbt cross build issue demo
View build.sbt
lazy val root = project.in(file("."))
.aggregate(core, moduleA, moduleB)
.settings(
crossScalaVersions := Nil
)
lazy val core = project.in(file("core"))
.settings(
crossScalaVersions := Seq("2.11.12", "2.12.8")
)