| paginate |
|---|
true |
Or, how to infer complexity using ADT's, and why booleans are evil...
| // Nesting | |
| type action = | |
| | Auth(Auth.action) | |
| let reduce = ... | |
| | Auth(action) => | |
| nestByLens( | |
| Auth.reduce, | |
| stateAuthLens, | |
| subaction => Auth(subaction), |
| // .config/ghostty/shader.glsl | |
| float ease(float x) { | |
| return pow(1.0 - x, 10.0); | |
| } | |
| float sdBox(in vec2 p, in vec2 xy, in vec2 b) | |
| { | |
| vec2 d = abs(p - xy) - b; | |
| return length(max(d, 0.0)) + min(max(d.x, d.y), 0.0); |
| import SwiftUI | |
| /// A UIViewControllerRepresentable that observes tab bar tap events and intercepts them | |
| /// to provide custom handling before tab selection occurs. | |
| /// | |
| /// This component injects itself into the UITabBarController delegate chain to intercept | |
| /// tap events, allowing you to handle special tabs (like modal presentations) without | |
| /// actually switching to them. | |
| /// | |
| /// - Parameter Tag: A CaseIterable enum representing all possible tab identifiers |
| type position = Css_AtomicTypes.PropertyPosition.t; | |
| type overflow = Css_AtomicTypes.Overflow.t; | |
| module Icons = Radix__Icons; | |
| module Responsive = { | |
| [@deriving make] | |
| type t('a) = { | |
| initial: option('a), | |
| xs: option('a), | |
| sm: option('a), |
| # This commit, when merged will: | |
| # Upgrade dependencies for X, Y, Z | |
| # Add an X, to do a Y | |
| # Improve a Z, to better A | |
| # :art: - Improving structure / format of the code.' | |
| # :zap: - Improving performance. | |
| # :fire: - Removing code or files. | |
| # :bug: - Fixing a bug. | |
| # :ambulance: - Critical hotfix. |
In our last post, we went over some of the basic concepts in cryptography. Over the course of the following few sections in this post, we'll do a deep-dive into ReasonML. Not only to explain what it is, but also dive into some of its properties, slightly more advanced topics and why it could be an awesome option for your next Javascript project.
Over the course of the past few years there have been two notably big trends in developing with Javascript. The first being that we're realizing dynamic languages are not ideal persé. While there is a good place for them, generally speaking, when applications get larger and more interconnected, they tend to become brittle. There are ways of safeguarding this using tests, but we're only testing for the faults we know of and can easily introduce new bugs because we haven't tested a particular use-case. Even the old 100% coverage doesn't help with that as it merely states 100% of the code has been touched. It doesn't test for bad code or w
| /* | |
| * Our 'constructor' (i.e. our functor) is just a container | |
| * of some value a and some value b, with a `get` that wraps | |
| * them in a fixed length array so we can deconstruct it. | |
| */ | |
| // magicalType a b | |
| const magicalConstructor = (a, b) => { | |
| const aVal = a; | |
| const bVal = b; | |
| get = () => [aVal, bVal]; |
| // https://jesseduffield.com/in-react-the-wrong-abstraction-kills-efficiency/ | |
| // App.js | |
| import React, { Component } from "react"; | |
| import { createStore } from "redux"; | |
| import { Provider } from "react-redux"; | |
| import CounterSection from "./CounterSection"; | |
| import "./App.css"; | |
| function counter(state = 0, action) { | |
| switch (action.type) { |
| failed Building static HTML for pages - 2.306s | |
| ERROR #95313 | |
| Building static HTML failed for path "/" | |
| See our docs page for more info on this error: https://gatsby.dev/debug-html | |
| 10 | function InvariantError(message) { |