Skip to content

Instantly share code, notes, and snippets.

View msakai's full-sized avatar

Masahiro Sakai msakai

View GitHub Profile
{-# OPTIONS_GHC -Wall #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
-- https://en.wikipedia.org/wiki/Okapi_BM25
module OkapiBM25
( Database
, mkDatabase
, query
) where
import psycopg2
dsn = "postgresql://user:password@localhost:5432/"
db_name = "test_db"
conn = psycopg2.connect(dsn)
try:
conn.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT)
with conn.cursor() as cur:
import Control.Monad
import Turtle
main :: IO ()
main = sh $
forM_ [(1::Int)..2] $ \i -> do
j <- select [(1::Int)..3]
liftIO $ print (i, j)
{-
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
module QueryInterface where
-- Maybe (GHC.Exts.DictBox a)
data QueryIntefaceResult a where
{-# OPTIONS_GHC -Wall #-}
-----------------------------------------------------------------------------
-- |
-- Module : RWLock
-- Copyright : (c) Masahiro Sakai 2023
-- License : BSD-3-Clause
--
-- Simple implement of various variants of RWLocks.
--
{-# OPTIONS_GHC -Wall #-}
-----------------------------------------------------------------------------
-- |
-- Module : FairLock
-- Copyright : (c) Masahiro Sakai 2023
-- License : BSD-3-Clause
--
-- Simple Lock implemented using STM.
-- When multiple threads are blocked on a Lock, they are woken up in FIFO order.
@msakai
msakai / RCO_pastexam1.hs
Last active April 25, 2023 02:57
RCOの中途採用コーディング試験の過去の出題例1
module Main where
{-
https://www.rco.recruit.co.jp/career/engineer/entry/pastexam
例題:1 「相手の思考を推理する」過程をプログラムで表現してください。
※こちらは回答例がございません。予めご了承ください。
問題内容
A,B,Cの3人が1〜5の5枚のカードを使ってインディアンポーカーをします。
@msakai
msakai / Main.hs
Created April 2, 2023 03:47
GHC creates too many windows threads
module Main (main) where
import Control.Concurrent.Async
import Control.Concurrent
import Control.Exception
import Control.Monad
import Data.IORef
import Foreign.C
import System.Random.MWC
{-# OPTIONS_GHC -Wall #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE ScopedTypeVariables #-}
-- translated from https://github.com/chokkan/liblbfgs
module LineSearch
( Params (..)
, defaultParams
, lineSearch
, lineSearchMoreThuente
) where
@msakai
msakai / pandas_itertuples.ipynb
Created September 22, 2017 10:18
pandasのitertuplesってカラム数によって型を変えるのか…… こういうのホントやめて欲しい……
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.