Skip to content

Instantly share code, notes, and snippets.

View kana-sama's full-sized avatar
🌚

kana kana-sama

🌚
View GitHub Profile
// >> inter(["a", "b", "c"], "d")
// ["a", "d", "b", "d", "c"]
function inter<T>(xs: T[], s: T): T[] {
return xs.flatMap((x, i) => i === xs.length - 1 ? [x] : [x, s]);
}
// >> extractTok("ab,cd,ef", ",")
// ["ab", ",", "cd", ",", "ef"]
function extractTok(tok: string, template: string): string[] {
@kana-sama
kana-sama / README.glist.md
Last active May 14, 2023 11:14
в вашем телеграм-канале гисты

glist


Мотивация:

  • вести блог/канал круто, потому что так не теряются какие-то свои заметки
  • делать это в телеге неудобно, потому что неудобное форматирование, и код неудобно писать
  • делать это в гисте удобно, постоянно пишу и скидываю их
  • но в гисте неудобно искать, и все лежит просто свалкой
name: hspg
dependencies:
- base
- lens
- transformers
- generic-lens
- ghc-prim
executables:
# include <stdio.h>
# include <stdlib.h>
# include <stdbool.h>
# include <setjmp.h>
# undef _FORTIFY_SOURCE
# define _FORTIFY_SOURCE 0
typedef int64_t PID_t;
{-# LANGUAGE OverloadedLabels #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE NoFieldSelectors #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
!WA:2!1QttZTXr2jSyD2yeVX00lvKLTLhbBjdkbbbc9LTI9Yaqasafsq4bGIurY1WbyAamMdMPDpdijywLpyT1w6uQu8E(IzpMQsv4uUS7b9dyRomP2YPQCjQC2KZ(qCv5cZR7EMbZamqs(qqjboD3V3RF977xpi29N1w(wzYLj3S9MvBwTN8bpRPfrdrkO2AhnIfgptbd9doqLOj1WYYWrh3Cp1owvkEK5Yw4nnQy9zNO23PRfzDSJULPDIJ6qS6JR0YY8Cl)R(ndvnBblwZs30P5sLQ2OK8qXoSKLHf5EXIflEU(ed8B31XbBF3RFDg5ZOBDDF6F97quBXP9TLTDujojkOBQ7KOzB4p2DtCOdrVtheX(8xM4(4p7ynuZ(TB3yagrkxA1AlVXQfCGbYQ9jQ5o0gJmmQOzN4z29BI2fz6uhGwF)HklLVEdL6nYl3WFPAeeSKC9ALwD1c9HDUj2qDaIiZxTzzKQHtxzt1Ei4W330Lfs8nWjgrmvnUpWAa3p4iBKrBUGG(QKDft(6hd7ImQdxYvWWsvB5MoQgaDpRCV(G4orbGxBDwAQeYTmuTTzpvWw)ae7HtA6QLeYY4XJxlE2m3QPTvFslut9EylIJSDlGGXBkK6Dpw83sADq43O(x2xLGKwUVHH0MD1Dqht48ctUjZ1JUGxh2Xx5PINxVDBBKZR20g1dofYlKjBMBFSJvl3J05I9ZooPU2tlsafPPSUMUzhY(cKkVyQZW)mSnbKx1DiQoQX)gHnYYSPy78W6LwT0snwwo)ALidey(tI5A2uXegbMm6Ad3Q3nxqV2Dkp4EPos1uVNkZi520F3LPZvW0Ye9uKQnBpqMDC6(dordu9miuygceBeyHQzFidg2MslwONQUjGlTiT0pGUmDfAz4XzgFMMaET17K4yg(6cB(H6MTTicg4Sd5cobB3fptGdh)l8f2OYM6G43PM1EmhnWtW0b2AKaOzBD(NS6X2yvYoayoDN7yDyNQZvPVZzO)(XgQPBZSaBG235OA6oT6E
!WA:2!TZ1AqYr11z1miancmAx0kqlcyybe7YdXUZQvpWsiMzFODxTV0mZ(qybZ0Z09mDRD2UB1Dp7ld2WcgwBWH4nGTRuUsrTvLu5hovrghCioLnukjoXouHJwht6aKeN1o2ogCEiCItQkoKZ5E7EEViPvkvCCsPANz6UV9TV3Z578Do3Z90syS6TI0XUADxDu)u1lvV0I34kjftnPKPUrN6z1n73NpFJ4dVSr9P01Sn1ZMvwQtf1SsMYAZBu)mIMMQ6MXvuZOKf)Z2AfVtLumDARZuObgXnfZiBCJENqmLTQUg2kZ4gzftjRONvs28uExEgvnPchKs0YoV3bzsjTAsDtSXHDhPgBjCw15Nx0ukqmD9S2QgRiMZwr3Cyd6zy5pjV9kMZnmoMKT79vLhX(r3WgUK8IAPW2nIUQMDYo7EOyDhzzEBJQoV8gx2wp10YMwyNCDcp5lKNFjUGrqqWxWCQs5BDo1Gtn6Kr76WZeXkLywzFM85M1EIyzlAA7pzAvnvlf)HXVS9VGTPAMmyV24onD)5tUSKCYCPthBodzZE7EGr6z0bcBJhermNPyWfSmKZMTpjl)RALlP80YA2rXwRoB(4DgkAS4rJfksSW5WopjkkNt2mIM4uYw(JWAAYELfZARu4whXugV1irhP7bgyPCAUdb)UZ7ULqLuDrpzort5a9KlB2aJROAlFguajBQjMDmU4yMLnLZGFtJ4izm1ZzSKLC20mbjuxtQsMUQlxzwFAOy3x(0M4alQTPOTOVZWL99qNI6MKr7ms3Dpu4S6Is9K0gfKA2BlYu5q9P)WOei12G71FKuzfTSOFf2c1q0psIaZ0Qz8Fk(tIRH30Y40ncBiA53Cw(jfwgBQKkhtKxvlTU5uI0r(xsutL)Z9aBVNtjlArJszTm2kxoeiSMUM8ksOQGbzjfJPLm1xwlqnLg9qpHNsuvRhOB8gGEGdd9c9HF3yLNP(uVWTS4nbxsbllW3VQX2R2okUSgZG5ARXLMun1KfTKk5ctjMrnv8Kz1X
import Data.Generics.Uniplate.Data (universeBi)
import Data.List (nub, intercalate)
import Language.Python.Common
import Language.Python.Version3 (parseModule)
import System.Environment (getArgs)
fromName :: DottedNameSpan -> String
fromName dn = intercalate "." [s | Ident s _ <- dn]
extract :: StatementSpan -> [String]
@kana-sama
kana-sama / listdot.hs
Created April 27, 2022 23:26
list dot
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE MultiParamTypeClasses #-}
class ListDot t a | t -> a where
(•) :: ([a] -> [a]) -> a -> t
instance ListDot ([a] -> [a]) a where
(f • x) xs = f (x : xs)
@kana-sama
kana-sama / lib - Plugin.hs
Last active April 12, 2022 09:27
early exit
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE ViewPatterns #-}
module Plugin where