Skip to content

Instantly share code, notes, and snippets.

View rishavs's full-sized avatar
💭
Its the end of the world as we know it, but I'm feeling fine

Rishav Sharan rishavs

💭
Its the end of the world as we know it, but I'm feeling fine
View GitHub Profile
using Love;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SceneManager
{
public class SceneWatchdog : Scene
@dallinbeutler
dallinbeutler / VeldridImGUI.fs
Created July 9, 2019 18:21
a simple example to get a graphical or game window and GUI going in F# with Veldrid and ImGUI
module ElmEye
open Veldrid
open Veldrid.StartupUtilities
let CreateApp windowWidth windowHeight name =
let windowCI = WindowCreateInfo(
X = 400,
Y =400,
WindowWidth = windowWidth,
WindowHeight = windowHeight,
@cjgajard
cjgajard / app.cr
Last active September 12, 2019 08:20
Kemal controllers pattern
# src/{{app_name}}.cr
require "kemal"
require "./controllers/*"
alias Env = HTTP::Server::Context # this could be provided by Kemal
module Main
get "/", &->index(Env)
get "/:name", &->greet(Env)
end
@evancz
evancz / Architecture.md
Last active December 21, 2022 14:28
Ideas and guidelines for architecting larger applications in Elm to be modular and extensible

Architecture in Elm

This document is a collection of concepts and strategies to make large Elm projects modular and extensible.

We will start by thinking about the structure of signals in our program. Broadly speaking, your application state should live in one big foldp. You will probably merge a bunch of input signals into a single stream of updates. This sounds a bit crazy at first, but it is in the same ballpark as Om or Facebook's Flux. There are a couple major benefits to having a centralized home for your application state:

  1. There is a single source of truth. Traditional approaches force you to write a decent amount of custom and error prone code to synchronize state between many different stateful components. (The state of this widget needs to be synced with the application state, which needs to be synced with some other widget, etc.) By placing all of your state in one location, you eliminate an entire class of bugs in which two components get into inconsistent states. We also think yo