Skip to content

Instantly share code, notes, and snippets.

@wlaurance
Last active December 28, 2015 07:49
Show Gist options
  • Select an option

  • Save wlaurance/7467026 to your computer and use it in GitHub Desktop.

Select an option

Save wlaurance/7467026 to your computer and use it in GitHub Desktop.
Clojure notes

(ns Clojure/conj)

Stu Halloway

###data.fressian

Self describing

Chunks by default

Uses Byte Code Encoding Scheme

High Data Compression ratio to generic.

Mikera

###core.matrix

Array programming as a language extension.

####Abstraction

(+ a b) ; add two arrays together

####API

Broadcasting scalars

(+ [[0 1 2][3 4 5 ][6 7 8]] _)

####Implementation

Uses protocols to dispatch on the first type

Jennifer Smith

###The Internet of Strings

####Background: Web apps

What are the lines between systems?

Implicit contracts and a lot of trust in the current way we do things.

####Solution: More explicit contracts.

But have we seen this before? [WSDL XSD]

  • High coupling
  • Big upfront design of contracts and schemas - resulting in horrible change
  • Any data format, as long as it's XML
  • WSDL was usually generated
  • And it was WSDL

Do we need a contract for everything? Depends

Aria Haghighi

###Prismatic - Schema

Enforce a Schema for Function arguments and other things in clojure.

It is not as strict as core.typed and allows even cooler things to happen.

schema

Doug Selph

###Personalized Medicine

PREDICT - system to help make healthy decisions based on patient history.

Started out as Rails project. Added Erlang piece, then a clojure piece.

Eventually it will be all clojure

Chris Chouser and Jonathan Claggett

###illuminated macros

Macros

  1. Collect input
  2. compute
  3. emit output

seqex

From Greek to Clojure

Focuses on core.logic

Mathematical relations mapped to clojure.

Harmonikit

Rich Hickey - Awesome

Carin Meier

###Learning to talk to Machines

AR Drones

Speech Acts. JL Austin "How to Do Things with Words". John Searle "Speech Acts" 1969.

Elephant 2000 - John McCarthy

Illocutionary speech acts

Speech Acts with AR drones.

TIMOTHY BALDRIDGE

###core.async

Sometimes you want to not be synchronous

####Channel (chan) unbuffered channel - a logical point for two threads to communicate data through.

Callback hell is callback hell.

Use promises, similar take as some node people.

####Thread (thread _) returns a channel

It is a hardcore heavy weight thread

####go

Is more of a logical thread. Any code in a go block turns into functions that are attached to a channel

What a channel with fixed buffer there is a back pressure. A nice clean fix to producer/consumer solutions.

####buffers

dropping-buffers - drops puts if buffer is full

sliding-buffers

####alts

Alts are interesting. Alts use random number gens to take from different channels as to not starve some channels. Priority levels can also be set.

Ports nicely to clojure-script

srichie

###Cascalog

A way to generate hadoop jobs.

cascalog

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment