Skip to content

Instantly share code, notes, and snippets.

@Agnishom
Agnishom / diagram.hs
Created June 22, 2018 09:04
Code for creating an circle with spokes
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE TypeFamilies #-}
import Diagrams.Prelude
import Diagrams.Backend.SVG.CmdLine
rules :: Diagram B
rules = foldr1 (<>) hands
where
@Agnishom
Agnishom / Vass.hs
Last active June 20, 2018 09:53
Vector Addition State Systems
module Lib where
import Data.Graph
import Data.Vector
import Data.Map
newtype State = State Int
data Transition = Transition { addV :: [Int],
toState :: State
@Agnishom
Agnishom / books.md
Created June 3, 2018 11:26
Book Recommendations

Analysis Books (top most is most recommended)

  1. Understanding Analysis - Stephen Abott

Download Link

  1. BV Rao's notes on Analysis I

Download Link

@Agnishom
Agnishom / backup.py
Created May 22, 2018 03:07
Confessions Backup
import requests
import json
# replace the access_token with your own. You can get one at https://developers.facebook.com/tools/explorer/?method=GET&path=cmiconfessionz%2Ffeed&version=v3.0
starturl = "https://graph.facebook.com/v3.0/cmiconfessionz/feed?access_token="
cururl = starturl
confessionData = []
@Agnishom
Agnishom / Main.hs
Last active May 11, 2018 12:02
CRUD App
{-# OPTIONS_GHC -Wall #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
@Agnishom
Agnishom / Assignment3.java
Created March 31, 2018 18:12
Java Assignment
public static void main(String[] args)
{
int l = 3;
Conveyor conveyor = new Conveyor();
Thread nonHazardous[] = new Thread[l];
Thread hazardous[] = new Thread[l];
//populate
for (int i = 0; i < l; i++){
nonHazardous[i] = new Thread(new Item(conveyor, i*10, 3000, false));
@Agnishom
Agnishom / episode1.md
Last active January 10, 2018 04:12
Periodical Haskell Materials for Gregg

Episode 1

Objective: To understand the basic philosophy of Haskell, to know the distinction between functional programming and other paradigms of programming, setting up the haskell interpreter, getting acquinted to the basic syntax, basic understanding of the type system, currying

The Haskell Philosophy

Read any one of these (but not necessarily all three)

  • Prelude (CIS 194: Introduction to Haskell (Fall 2016))
  • Read the sections:
@Agnishom
Agnishom / isPrime.hs
Created October 13, 2017 08:28
Strange Efficiency Issues
-- Just an utility function to calculate [root(x)]
intSqrt :: Integer -> Integer
intSqrt n = acc 1 n n
where
acc a b n
| a == (b-1) = a
| m*m > n = acc a m n
| m*m <= n = acc m b n
where
@Agnishom
Agnishom / proof.txt
Last active October 10, 2017 14:59
Possible Proof of Non Recursively Enumerablity of Universality
Diag = {M | M does not accept M}
HP = {(M, x) | M accepts x}
Co-Univ = {M | there exists w such that M does not accept w}
Claim: HP <= Diag <= Co-Univ
Reduction from HP to Diag
Say HP has input (M, x)
Design Turing Machine N such that:
@Agnishom
Agnishom / footnote01.md
Last active November 23, 2017 03:50
Haskell Footnotes
  • We viewed computation just as the process of rewriting. Is this notion powerful enough? Can we use such a model to compute whatever we like?

    • It turns out that we can. Functional programming is based on an abstraction called the Lambda Calculus
    • To have a sense of the multitude of the strange systems that are really just as powerful as traditional computers, see Esoteric Languages. BrainF and FRACTRAN are particularly interesting. Rule 110 could be an honorable mention
    • Having said that, Haskell could be a pleasant and practical language to program in.
  • In class, we defined plus in terms of succ.

    • Can you define mult standing for multiplication, in terms of plus
      • Install the Haskell interpreter on your device and check if your program works. Alternately, use the repl.it environment online.
  • C