Skip to content

Instantly share code, notes, and snippets.

Tim McGilchrist tmcgilchrist

Block or report user

Report or block tmcgilchrist

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@tmcgilchrist
tmcgilchrist / stack.ml
Created May 18, 2014
Stack Data Type from Purely Function Data Structures.
View stack.ml
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
View gist:10e0ee30d660e7617ceb
```
___
| |
| |
-------------------
-------------------
| ___ | ___ |
| | | | | | | | |
| |-+-| | |-+-| |
| |_|_| | |_|_| |
View gist:a5cbd4cb04670154b60b
> 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
View gist:11e548b4c3d77d33002d
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
View gist:4d8fc777a3baea288038
class Show a where
    show :: a -> String

instance Show Int where
    show = ... -- provided by default

show 1 
View haskell-import-sort.el
(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
;;
View lisp.rb
# 30 minutes Lisp in Ruby
# Hong Minhee <http://dahlia.kr/>
#
# This Lisp implementation does not provide a s-expression reader.
# Instead, it uses Ruby syntax like following code:
#
# [:def, :factorial,
# [:lambda, [:n],
# [:if, [:"=", :n, 1],
# 1,
@tmcgilchrist
tmcgilchrist / gist:1026467
Created Jun 15, 2011
Installing pg gem on Snow Leopard
View gist:1026467
Install pg gem on Snow Leopard for PostgreSQL 9.
Run the following commands.
sudo port install postgresql90-server -universal
gem install pg -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config
@tmcgilchrist
tmcgilchrist / gist:1103621
Created Jul 25, 2011
Rails 3 Setup for Oracle 10g XE
View gist:1103621

Notes on Setting up Oracle 10g XE with Rails

Capturing my notes about setting up an Oracle 10g XE / Rails environment for development work. Tested using the following versions, others may work as well:

  1. Ubuntu 11.04
  2. Ruby 1.9.2
  3. Rails 3
  4. Oracle 10 XE
@tmcgilchrist
tmcgilchrist / gist:1271705
Created Oct 8, 2011
Personal Git Workflow
View gist:1271705

Git Workflow

Basic workflow I've been following, inspired by the RailsTutorial website.

Branch -> Edit -> Commit -> Merge -> Push

git init        => Create a new repository in the current directory

git add         => Add file to current changeset.
You can’t perform that action at this time.