The transpiler reads all of its input from the standard input. The eight first lines must contain the strings that represent each brainfuck instructions in the output, in this order:
<
>
+
-
// this file is not valid Brainfuck as Brainfuck has no notion of comments | |
// and all symbols within comments would be interpreted as commands | |
// but let's pretend those are comments for the sake of this being readable | |
// given a stack of values [....,s06,s05,s04,s03,s02,s01,s00,d,n] | |
// this function rolls the stack `n` times at a depth `d` | |
// for instance: | |
// input: [5,4,3, 2,1,0, 3,2] | |
// output: [5,4,3, 1,0,2] |
<!DOCTYPE html> | |
<html> | |
<head> | |
<style> | |
table td { | |
vertical-align: baseline; | |
} | |
.left-column { | |
padding-top: 50px; | |
} |
{-# LANGUAGE UndecidableInstances #-} | |
import Control.Applicative (liftA2) | |
import Data.Dependent.Map qualified as D | |
import Data.Foldable (foldlM) | |
import Data.List (permutations) | |
import GHC.Generics | |
import Text.Parsec | |
import Text.Parsec.Char | |
import Text.Parsec.String |
{-# LANGUAGE TemplateHaskell #-} | |
import Control.Lens | |
import Control.Lens.TH | |
-------------------------------------------------------------------------------- | |
-- Characters | |
-- | |
-- Some of the fields are only relevant to some characters, but are |
{-# LANGUAGE BlockArguments #-} | |
{-# LANGUAGE ImportQualifiedPost #-} | |
{-# LANGUAGE LambdaCase #-} | |
{-# LANGUAGE OverloadedStrings #-} | |
module Main where | |
import Data.Char | |
import Data.List (intercalate) | |
import Data.Map.Strict qualified as M |
-- {-# LANGUAGE Haskell2010 #-} | |
{-# LANGUAGE RankNTypes #-} | |
a :: m i | |
a = x y | |
x :: (i -> forall p. p f i) -> m i | |
x l = undefined | |
y :: i -> (forall p f. p f i) |
#! /usr/bin/env runhaskell | |
{-# LANGUAGE Haskell2010 #-} | |
{-# LANGUAGE MultiParamTypeClasses #-} | |
{-# LANGUAGE RankNTypes #-} | |
import Control.Applicative | |
import Control.Lens | |
import Control.Monad | |
import Data.Tree |
[alias] | |
st = status | |
ci = commit | |
co = checkout | |
br = branch | |
ff = merge --ff-only | |
fa = fetch --all | |
rh = reset --hard | |
cp = cherry-pick | |
d = diff --color |
{-# LANGUAGE AllowAmbiguousTypes #-} | |
{-# LANGUAGE InstanceSigs #-} | |
{-# LANGUAGE ScopedTypeVariables #-} | |
{-# LANGUAGE TypeApplications #-} | |
{-# LANGUAGE TypeFamilies #-} | |
module Foo where | |
import Control.Monad.Reader | |
import Data.Kind (Type) |