Skip to content

Instantly share code, notes, and snippets.

View joanllenas's full-sized avatar
👾

Joan Llenas joanllenas

👾
View GitHub Profile
<ng-template ngFor let-resource [ngForOf]="resources">
<li>
<button (click)="resource.expanded = !resource.expanded">Open</button>
</li>
<li *ngIf="resource.expanded">
Something fancy here
</li>
</ng-template>
@rupertlssmith
rupertlssmith / GameState.elm
Last active October 9, 2024 09:35
Exploring State Machines with phantom types in Elm
module GameState
exposing
( Game(..)
, GameDefinition
, PlayState
, loading
, updateGameDefinition
, updatePlayState
, updateScore
, toReady
@serras
serras / advent-haskell-2020.md
Created December 15, 2020 09:04
Advent of Haskell 2020

Talking about Toys

Every year Santa 🎅 brings joy (and presents 🎁) to all the kids in the world. Well, not when I was a child! Following the usual Spanish traditions, the Three Reyes Magos brought me presents in their camels 🐫 following the Star 💫 Nowadays, it's Sinterklaas who puts pepernoten in my shoes 👞. Because in fact there's not one, but a group of present-bringing people, distributed across the globe 🌐, each with their own part of the world to cover (or you really thought just one man and eight reindeers could do it all by their own?)

In order to communicate, they need a way to exchange information about presents. Since they are all very wise, they've agreed to use Haskell, so this information is represented using algebraic data types. Here are some types related to building blocks:

data Block = Block BlockBrand String Color
data BlockBrand = LegoKNex