The unsafe side
I like Haskell and Purescript, and I love telling people how safe they are. However, they are not perfect, there are still unsafe aspects and I have to be honest about them. "If it compiles, it works" isn't always true.
Type safer
I was chatting with friends about types. It seems that "type" means so many different things in different programming languages, "type safe" does not really mean anything without context. So here is this blog post, of me trying to explain what do I think about types, and how it helps us to program.
Type Level Permission Checking
Few days ago I was working on some API handlers in our server written in Haskell with the framework Yesod. There was a mistake, some secret data was accessible to normal users because we forgot to check the user's type, luckily it's not on production yet.
前回よりはもう少し実用的な例を.Template Haskell を使って,Haskell のコード中に JSON をそのまま埋め込むことができるようにする.また,あらかじめ用意しておいた JSON ファイルをコンパイル時に読み込み,指定したデータ型の値にする.
Type-level TypeScript
この記事は CAMPHOR- Advent Calendar 2017 の21日目の記事です.@ryota-ka です.普段は HERP という会社でリードエンジニアとして働いています.一昨日19日にサービスのティザーサイトを公開したばかりなので見てください.
Result export type Success<T> = { ok: true, result: T, } export type Failure<E> = { ok: false, error: E, } export type Result<T, E> = | Success<T> | Failure<E>
modifyC modify関数を以下のように定義する function modify<T extends object, K extends keyof T>(key: K, f: (old: T[K]) => T[K], struct: T): T オブジェクトのキーとmapする関数を受け取って、キーに入っている値をMapする関数
TypeScript で少し快適に JavaScript を書こう
概要 TypeScript はね、よいよ。 はじめに JavaScript を書きたくない人間は多い。 なぜかといえばしんどいからである。 だけれども大人はお仕事をしているので、JavaScript で動く何らかを開発しないといけないことがある。