Skip to content

Instantly share code, notes, and snippets.

upload :: Verbosity -> [Repo] -> Maybe Username -> Maybe Password -> [FilePath] -> IO ()
upload verbosity repos mUsername mPassword paths = do
let uploadURI = if isOldHackageURI targetRepoURI
then legacyUploadURI
else targetRepoURI{uriPath = uriPath targetRepoURI `FilePath.Posix.combine` "upload"}
Username username <- maybe promptUsername return mUsername
Password password <- maybe promptPassword return mPassword
let auth = addAuthority AuthBasic {
auRealm = "Hackage",
auUsername = username,
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeOperators #-}
import GHC.TypeLits
data Stack :: * -> Nat -> * where
Nil :: Stack t 0
Cons :: a -> Stack a b -> Stack a (1 + b)
module Main where
import Control.Applicative ((<$>), (<*>))
import Control.Concurrent (Chan, ThreadId, forkIO,
getChanContents, killThread, newChan,
threadDelay, writeChan)
import Control.Exception.Base (SomeException (..), catch, finally,
handle)
import Control.Monad (forM_, forever)
import Control.Monad.IO.Class (MonadIO, liftIO)
require 'parslet'
module Strings
class Parser < Parslet::Parser
rule(:spaces) { match['\s\n'].repeat }
rule(:eq) { str("=") >> spaces }
rule(:colon) { str(";") >> spaces }
rule(:string) { str('"') >> (str('\\') >> any | str('"').absent? >> any).repeat.as(:internal) >> str('"') >> spaces }
diff --git a/compiler/utils/Outputable.lhs b/compiler/utils/Outputable.lhs
index 953797e..30f1f09 100644
--- a/compiler/utils/Outputable.lhs
+++ b/compiler/utils/Outputable.lhs
@@ -810,7 +810,7 @@ pprHsChar c | c > '\x10ffff' = char '\\' <> text (show (fromIntegral (ord c) ::
-- | Special combinator for showing string literals.
pprHsString :: FastString -> SDoc
pprHsString fs = [-v-]{+h+}cat (map text (showMultiLineString (unpackFS fs)))
Script started on Wed Jan 7 18:45:58 2015
aquila ~ % cat Test.hs
module Main where
import Control.Concurrent
main = do
threadDelay 1000000
putStrLn "hello"
aquila ~ % ghc Test.hs

Keybase proof

I hereby claim:

  • I am mlen on github.
  • I am mlen (https://keybase.io/mlen) on keybase.
  • I have a public key whose fingerprint is B865 E86A D36C 11A5 C1F8 C1D9 AAD4 CEC9 6B94 92C4

To claim this, I am signing this object:

@mlen
mlen / objc-test.c
Created February 6, 2011 21:55
using objc from c
/*
* Compile with:
* gcc -g -Wall -pedantic -framework Foundation -framework ScriptingBridge -o objc-test objc-test.c
*/
#include <objc/objc-runtime.h>
#include <stdlib.h>
#include <stdio.h>
void listClasses() {
@mlen
mlen / test.rb
Created February 9, 2011 19:37
Calling privilidged methods from sandbox ($SAFE = 4)
#!/usr/bin/env ruby
class Sandbox
@@call = -> this, method, *args do
this.method(method).call(*args)
end
def self.method_added name
super
@mlen
mlen / p59.rb
Created September 23, 2011 21:21
Problem 59 from projecteuler.net
# I'm too lazy to load this from a file
ciphertext = [79,59,12,2,79,35,8,28,20,2,3,68,8,9,68,45,0,12,9,67,68,4,7,5,23,
27,1,21,79,85,78,79,85,71,38,10,71,27,12,2,79,6,2,8,13,9,1,13,9,
8,68,19,7,1,71,56,11,21,11,68,6,3,22,2,14,0,30,79,1,31,6,23,19,10,
0,73,79,44,2,79,19,6,28,68,16,6,16,15,79,35,8,11,72,71,14,10,3,79,
12,2,79,19,6,28,68,32,0,0,73,79,86,71,39,1,71,24,5,20,79,13,9,79,
16,15,10,68,5,10,3,14,1,10,14,1,3,71,24,13,19,7,68,32,0,0,73,79,
87,71,39,1,71,12,22,2,14,16,2,11,68,2,25,1,21,22,16,15,6,10,0,79,
16,15,10,22,2,79,13,20,65,68,41,0,16,15,6,10,0,79,1,31,6,23,19,28,
68,19,7,5,19,79,12,2,79,0,14,11,10,64,27,68,10,14,15,2,65,68,83,