This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* | |
*** Local Variables: *** | |
*** coq-prog-name: "coqtop" *** | |
*** coq-prog-args: ("-emacs-U" "-I" "sf") *** | |
*** End: *** | |
*) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE GADTs #-} | |
import Control.Applicative | |
import Data.Dynamic | |
import Data.Maybe | |
type Id = Integer | |
data Val where | |
Var :: Id -> Val |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Formatter; | |
public class _interp { | |
//labels | |
static final int _value$_of = 0; | |
static final int _apply$_k = 1; | |
static final int _apply$_env = 2; | |
static final int _apply$_proc = 3; | |
//registers |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- No LANGUAGE pragmas! This is all barebones Haskell. | |
-- $ ghc --make -O2 -fllvm -fforce-recomp tagless.hs | |
import Control.Applicative | |
import Control.Monad.Reader hiding (fix) | |
import Control.Monad.State hiding (fix) | |
import Criterion.Main | |
-- An example of how multiple backends can be achieved for an EDSL |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Data.CAS | |
import Data.IORef | |
test1 = do ref <- newIORef 0 | |
let old = 0 | |
new = (old+1) | |
casIORef ref old new | |
test2 = do let old = 0 | |
ref <- newIORef old |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fix :: (a -> a) -> a | |
fix f = f (fix f) | |
fact' :: (Integer -> Integer) -> Integer -> Integer | |
fact' = \bang -> \n -> if n == 0 then 1 else n * bang (n-1) | |
fact :: Integer -> Integer | |
fact = fix fact' | |
onehundredandtwenty :: Integer |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Adam Foltzer | |
;; amb with ivars | |
(load "pmatch.scm") | |
;;;; Global scheduler queue and helpers; ugly! | |
(define *q* '()) | |
(define push-right! | |
(lambda (x) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE CPP, TypeFamilies #-} | |
{-# OPTIONS_GHC -Wall #-} | |
-- | Helpers for fast conversion of 'Data.Vector.Storable' vectors | |
-- into Accelerate arrays. | |
module Data.Array.Accelerate.IO.Vector where | |
import Data.Array.Accelerate ( arrayShape | |
, Array | |
, DIM1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
afoltzer@beetle ~/src/monad-par/examples [meta*]$ ghc-pkg list | grep accelerate | |
accelerate-0.9.0.1 | |
afoltzer@beetle ~/src/monad-par/examples [meta*]$ ghc --make -O2 radix_acc.hs | |
[1 of 1] Compiling Main ( radix_acc.hs, radix_acc.o ) | |
radix_acc.hs:19:1: | |
Warning: In the use of `M.unsafeFreeze' | |
(imported from Data.Array.MArray): | |
Deprecated: "Please import from Data.Array.Unsafe instead; This will be removed in the next release" | |
Linking radix_acc ... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE ForeignFunctionInterface #-} | |
module System.Posix.Affinity (setAffinityOS) where | |
import Control.Monad | |
import Foreign | |
import Foreign.C | |
import System.IO.Error | |
foreign import ccall unsafe "pin_pthread" pin_pthread :: CInt -> IO Errno |
OlderNewer