- Create PR bumping version number
- Ensure it's building on CI
- Bump version in *.cabal file
- Commit new version to repo and push
- cabal sdist to generate a package
- cabal upload dist/pkg-x.y.x.tar.gz
- tag repo with this version
- Upload haddock changes
This file contains 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
``` | |
OCaml compilation pipeline | |
┌────────────────┐ | |
│ │ | |
│ Source code │ |
This file contains 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 ConstraintKinds #-} | |
{-# LANGUAGE DeriveGeneric #-} | |
{-# LANGUAGE FlexibleContexts #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE MultiParamTypeClasses #-} | |
{-# LANGUAGE PartialTypeSignatures #-} | |
{-# LANGUAGE TemplateHaskell #-} | |
{-# LANGUAGE TypeApplications #-} | |
{-# LANGUAGE TypeFamilies #-} |
This file contains 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
Today we'll be looking into Kmett's | |
[adjunctions](http://hackage.haskell.org/package/adjunctions) library, | |
particularly the meat of the library in Data.Functor.Adjunction. | |
This post is a literate haskell file, which means you can load it right up in | |
ghci and play around with it! Like any good haskell file we need half a dozen | |
language pragmas and imports before we get started. | |
> {-# language DeriveFunctor #-} | |
> {-# language TypeFamilies #-} |
This file contains 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
(eval-after-load "haskell-mode" | |
;; Replace the haskell-mode version with this version, | |
;; this will line up all imports as if they're all qualified | |
;; eg this | |
;; | |
;; import Data.Monoid | |
;; import Data.Text | |
;; | |
;; becomes | |
;; |
class Show a where
show :: a -> String
instance Show Int where
show = ... -- provided by default
show 1
This file contains 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
General musing on some projects I'd like to try writing with OCaml | |
- database bindings for MySQL that include proper type checking and embedding sql ala pgocaml | |
- general application that queries webservice, does DB stuff and then does webservice requests (eg Antiquarian) | |
- functor/monad/monoid library | |
- bindings for libyaml | |
- bindings for https://github.com/joyent/libuv Cross platform async IO | |
- library for connecting to Riak | |
- lightwieght monadic regions implementation | |
- property based testing library |
This file contains 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
> cat ~/.sbt/0.13/plugins/plugins.sbt | |
resolvers += Resolver.sonatypeRepo("snapshots") | |
addSbtPlugin("org.ensime" % "ensime-sbt" % "0.1.5-SNAPSHOT") | |
> sbt gen-ensime | |
[info] Loading global plugins from /Users/tim/.sbt/0.13/plugins | |
[info] Loading project definition from /Users/tim/code/scala/introduction-to-fp-in-scala/project | |
[info] Set current project to introduction-to-fp-in-scala (in build file:/Users/tim/code/scala/introduction-to-fp-in-scala/) | |
[error] Not a valid command: gen-ensime |
This file contains 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
``` | |
___ | |
| | | |
| | | |
------------------- | |
------------------- | |
| ___ | ___ | | |
| | | | | | | | | | |
| |-+-| | |-+-| | | |
| |_|_| | |_|_| | |
This file contains 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
module type Stack = | |
sig | |
type 'a t | |
val empty : 'a t | |
val isEmpty : 'a t -> bool | |
val cons : 'a -> 'a t -> 'a t | |
val head : 'a t -> 'a | |
val tail : 'a t -> 'a t | |
end |
NewerOlder