Skip to content

Instantly share code, notes, and snippets.

View Perigord-Kleisli's full-sized avatar

Perigord Perigord-Kleisli

View GitHub Profile
@Perigord-Kleisli
Perigord-Kleisli / Main.hs
Last active December 4, 2023 00:17
AOC 2023 - Day 3
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeApplications #-}
module Main (main) where
@Perigord-Kleisli
Perigord-Kleisli / Main.hs
Created November 10, 2022 12:52
Simple Interpreter
{-# LANGUAGE LambdaCase #-}
module Main (main) where
import SimpleInteractiveInterpreter
import System.Console.Haskeline
main :: IO ()
main = runInputT defaultSettings (loop newInterpreter)
where
loop :: Interpreter -> InputT IO ()
@Perigord-Kleisli
Perigord-Kleisli / Regex.hs
Last active November 1, 2022 09:37
Simple Regex Parser and Engine
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE TupleSections #-}
module Main (
main
) where
import Text.Megaparsec hiding (match)
import Text.Megaparsec.Char
import Data.Void
import Control.Monad
use std::collections::HashMap;
trait Functor<T, U> {
type Out;
fn fmap<F: 'static>(self, f: F) -> Self::Out
where
F: FnOnce(&T) -> U + Clone;
}