Skip to content

Instantly share code, notes, and snippets.

View kayvank's full-sized avatar
🏠
@127.0.0.1

Kayvan ≅ کیوان kayvank

🏠
@127.0.0.1
View GitHub Profile
@kayvank
kayvank / concurrnetSqlite.hs
Last active November 15, 2022 14:52
concurrent sqlite
#!/usr/bin/env stack
{- stack
script
--resolver lts-18.28
--package sqlite-simple
--package async
--package text
-}
{-
-- | the purpose of this code is :
docker system prune --volumes
docker system prune --all
_/build-dars
dc up -d --build
find . -name "*.dar"
#### output of the find command: ###
➜ eleox git:(js-kayvan-EID-17-packageId) ✗ find . -name "*.dar"
./daml/.daml/dist/eleox-do-not-use-0.0.1.dar
./daml/.packages/eleox-triggers/.daml/dist/eleox-triggers-0.0.1.dar
./daml/.packages/eleox/.daml/dist/eleox-0.0.1.dar
@kayvank
kayvank / nixos 22.05 emacs 27.02
Created December 13, 2021 20:20
getenv PATH does not reflect nix-shell $PATH
Here is my workflow:
$ nix-shell
$ emacs&
from emacs 27.02 (getenv "PATH")
/run/wrapper/bin:/home/kayvan/.nix-profile/bin:/etc/profiles/per-user/kayvan/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin
-------------------------- from zsh echo $PATH ---------
echo $PATH
@kayvank
kayvank / symetricConcurrency.hs
Created November 22, 2021 15:10
Example of Symmetric Concurrency Combinators from Parallel concurrent programming in Haskell
#!/usr/bin/env stack
{-
stack
--resolver lts-17.13 runghc
--package http-conduit
--package async
-}
--
--
@kayvank
kayvank / stmAsync.hs
Created November 22, 2021 00:14
haskell aysnc implementation using stm
#!/usr/bin/env stack
{-
stack
--resolver lts-17.13 runghc
--package HTTP
--package http-conduit
-}
--
-- chapter-10, Parallel-concurrent-programming in haskell
@kayvank
kayvank / unboundedChannel.hs
Created November 19, 2021 21:45
haskell Asynchronous Exception Safety for Channels
#!/usr/bin/env stack
{-
stack
--resolver lts-17.13 runghc
-}
--
-- chapter-9, Parallel-concurrent-programming in haskell
-- chmod 755 ./unboundedChannel.hs && ./unboundedChannel.hs
--
@kayvank
kayvank / cancellation.hs
Created November 19, 2021 20:37
haskell cancel-able async impl
#!/usr/bin/env stack
{-
stack
--resolver lts-17.13 runghc
--package HTTP
--package http-conduit
-}
--
-- chapter-9, Parallel-concurrent-programming in haskell
-- chmod 755 ./cancellation.hs && ./cancellation.hs
@kayvank
kayvank / channel.hs
Created November 19, 2021 19:42
haskell MVAr channel and multicast channel impl
#!/usr/bin/env stack
{-
stack
--resolver lts-17.13 runghc
-}
--
-- chapter-7, Parallel-concurrent-programming in haskell
-- chmod 755 ./channel.hs && ./channel.hs
--
{-# LANGUAGE OverloadedStrings #-}
@kayvank
kayvank / myAsync.hs
Last active November 19, 2021 23:27
waitany haskell aync impl
#!/usr/bin/env stack
{-
stack
--resolver lts-17.13 runghc
--package HTTP
--package http-conduit
-}
--
-- chapter-8, Parallel-concurrent-programming in haskell
@kayvank
kayvank / Perms.scala
Created March 19, 2021 02:47
Permutations on a List
///////////////////////////////////////////////////////////
/// may seem more complicated thatn it realy is for:
/// 1- concat behaves diff in haskell from Scala, so I need to modify it a bit
/// 2- There is no concatMap in Scala Collection API, there is one in Scala Cats, but didnt want to use cats for this assignment
//////////////////////////////////////////////////////////////
/// About the solution:
/// The general notion is to extend the `inserts` function to the entire collection where `inserts` inserts all the way an elelemt may be inserted in a colletion
////////////////////////////////////////////////////////////
object Perms {