Skip to content

Instantly share code, notes, and snippets.

View 3v0k4's full-sized avatar

Riccardo 3v0k4

View GitHub Profile
@3v0k4
3v0k4 / Main.purs
Created December 28, 2018 17:21
AdventOfCode 2018 PureScript - Day 9
module Main where
import Prelude
import Effect (Effect)
import Effect.Console (logShow)
import RRBList ((!!), length, insertAt, deleteAt, singleton)
import RRBList.Types (List)
import Data.Foldable (maximumBy)
import Data.Maybe (Maybe(..), fromJust)
import Math ((%))
@3v0k4
3v0k4 / Main.purs
Created December 23, 2018 16:53
AdventOfCode 2018 PureScript - Day 8
module Main where
import Prelude
import Effect (Effect)
import Effect.Console (logShow)
import Data.String.Yarn (fromChars)
import Data.List (List(..), (!!))
import Data.Foldable (sum, foldr)
import Data.Maybe (Maybe(..))
import Text.Parsing.StringParser.CodeUnits (anyDigit, char)
@3v0k4
3v0k4 / Main.purs
Created December 22, 2018 21:59
AdventOfCode 2018 PureScript - Day 7
module Main where
import Prelude
import Effect (Effect)
import Effect.Console (logShow)
import Data.String.Yarn (fromChars, toChars)
import Data.List (List(..), concat, elem, fromFoldable, head, nub, sort, take, (:), (\\))
import Data.Traversable (sequence)
import Partial.Unsafe (unsafePartial)
import Data.Maybe (fromJust, fromMaybe)
@3v0k4
3v0k4 / Main.purs
Created December 20, 2018 13:38
AdventOfCode 2018 PureScript - Day 6
module Main where
import Prelude
import Effect (Effect)
import Effect.Console (logShow)
import Data.String.Yarn (fromChars)
import Data.List (List(..), elem, filter, fromFoldable, length, nub, sortBy, (..), (:), take)
import Data.Foldable (foldl, minimum, maximum, sum)
import Data.Traversable (sequence)
import Partial.Unsafe (unsafePartial)
@3v0k4
3v0k4 / Main.purs
Created December 18, 2018 10:05
AdventOfCode 2018 PureScript - Day 5
module Main where
import Prelude
import Effect (Effect)
import Effect.Console (logShow)
import Data.String.Yarn (toChars)
import Data.List (List(..), reverse, groupBy, (:), length, fromFoldable, slice, group, (..), filter)
import Data.Char.Unicode (toLower)
import Data.List.NonEmpty (NonEmptyList, length, head) as NEL
import Data.Foldable (foldl, foldr, minimum)
@3v0k4
3v0k4 / Main.purs
Created December 17, 2018 20:18
AdventOfCode 2018 PureScript - Day 4
module Main where
import Prelude
import Effect (Effect)
import Effect.Console (logShow)
import Data.Foldable (foldl, foldMap, maximumBy)
import Data.Traversable (sequence)
import Data.Maybe (Maybe(..), fromMaybe)
import Data.List (List(..), filter, fromFoldable, group', range, sort, (:))
import Data.Map (Map, empty, lookup, insert, toUnfoldable)
@3v0k4
3v0k4 / Main.purs
Created December 13, 2018 18:41
AdventOfCode 2018 PureScript - Day 3
module Main where
import Prelude
import Effect (Effect)
import Effect.Console (logShow)
import Data.Foldable (foldl, sum)
import Data.Maybe (Maybe(..))
import Data.List (List(..), fromFoldable, (:), concatMap)
import Data.Map (Map, empty, lookup, insert, values)
import Data.Tuple (Tuple(..), snd)
@3v0k4
3v0k4 / Main.purs
Created December 12, 2018 08:49
AdventOfCode 2018 PureScript - Day 2
module Main where
import Prelude
import Effect (Effect)
import Effect.Console (logShow)
import Data.Foldable (foldl)
import Data.Maybe (Maybe(..))
import Data.List (List(..), fromFoldable, zip, filter, (:))
import Data.Map (Map, empty, lookup, insert, toUnfoldableUnordered)
import Data.String.Yarn (toChars)
@3v0k4
3v0k4 / Main.purs
Last active December 11, 2018 19:54
AdventOfCode 2018 PureScript - Day 1
module Main where
import Prelude
import Data.Monoid.Additive (Additive(..))
import Effect (Effect)
import Effect.Console (logShow)
import Data.Foldable (sum, foldMap, find)
import Data.Maybe (Maybe(..))
import Data.List (List(..), fromFoldable, (:))
import Data.Map (Map, empty, lookup, insert)
const Result = require('folktale/result')
const R = require('ramda')
const first = xs => Result.fromNullable(xs[0])
const parse = s => Result.try(() => JSON.parse(s))
const upper = s => s.toUpperCase()
const shout = s => s.concat('!')