Skip to content

Instantly share code, notes, and snippets.

View kaveet's full-sized avatar
🏠
Working from home

Kaveet Laxmidas kaveet

🏠
Working from home
View GitHub Profile
@kaveet
kaveet / titleCase.js
Created October 29, 2016 15:13
AngularJS Title Case Filter
/**
Transform a string to title case.
Usage:
{{ myString | titleCase }}
*/
angular
@kaveet
kaveet / safetails.hs
Created October 31, 2016 04:30
Haskell Safetail Implementations
module Safetails where
safetail :: Eq a => [a] -> [a]
safetail xs = if xs == [] then [] else tail xs
safetail' :: Eq a => [a] -> [a]
safetail' xs
| xs == [] = []
| otherwise = tail xs
@kaveet
kaveet / quicksort.hs
Last active November 15, 2016 19:01
Haskell Quicksort Implementation
module Quicksort where
quicksort :: (Ord a) => [a] -> [a]
quicksort [] = []
quicksort (x:xs) = quicksort [y | y <- xs, y <= x] ++ [x] ++ quicksort [y | y <- xs, y > x]
quicksort' :: (Ord a) => [a] -> [a]
quicksort' [] = []
quicksort' (x:xs) = (quicksort' small) ++ [x] ++ (quicksort' big)
where
@kaveet
kaveet / isEmpty.js
Created November 8, 2016 06:41
Javascript Comprehensive isEmpty Function for Objects
var hasOwnProperty = Object.prototype.hasOwnProperty;
function isEmpty(obj) {
if (obj == null) return true;
if (obj.length > 0) return false;
if (obj.length === 0) return true;
if (typeof obj !== "object") return true;
for (var key in obj) {
if (hasOwnProperty.call(obj, key)) return false;
}
@kaveet
kaveet / hover-dropdown.css
Created November 12, 2016 15:35
Dropdown on hover for Angular UI Bootstrap
/*
Display a dropdown menu on hover rather than on click. Useful for navigation menus.
Tested with angular-ui-bootstrap@2.2.0
*/
.dropdown:hover .dropdown-menu {
display: block;
}
-- fibonacci.hs
-- credit dtb@stackoverflow http://stackoverflow.com/a/1105840
-- Accessing the n-th fibonacci number: fib n = fibs !! n
module Fibonacci where
fib :: Integer -> Integer
fib 0 = 1
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
@kaveet
kaveet / reverse.hs
Created November 15, 2016 16:21
Haskell Reverse List
module Reverse where
reverse :: [a] -> [a]
reverse [] = []
reverse (x:xs) = reverse xs ++ [x]
@kaveet
kaveet / length.hs
Last active November 16, 2016 14:01
Haskell Recrusive Length Function
module Length where
length :: [a] -> Int
length [] = 0
length (_:xs) = 1 + length xs
@kaveet
kaveet / palindrome.hs
Created November 17, 2016 16:23
Haskell Palindrome Checker
module Palindrome where
palindrome :: Eq a => [a] -> Bool
palindrome [] = True
palindrome [_] = True
palindrome xs = (head xs) == (last xs) && (palindrome $ init $ tail xs)
@kaveet
kaveet / factorial.hs
Last active December 7, 2019 02:03
Haskell Recursive Factorial Implementation
-- Compute the factorial of n recrusively
module Factorial where
factorial :: Int -> Int
factorial 0 = 1
factorial n = n * factorial (n-1)