Receber por email
← Voltar para o catálogo

unsafe

Forbid unsafe Haskell functions such as unsafePerformIO, unsafeCoerce, and other unsafe-prefixed functions. Use when writing or reviewing Haskell code that uses any unsafe-prefixed function.

3estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: Apache-2.0

Como adicionar

/plugin marketplace add ncaq/konoka

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/unsafe/svg)](https://www.skillteca.com.br/skills/unsafe)
#ai

Alerta por categoria

Receba novas skills de Escrita e Conteúdo toda segunda

1 email curto, só com as skills novas de Escrita e Conteúdo. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

unsafeな関数の禁止

名前にunsafeが付く関数は、 参照透過性や型安全性といったHaskellの根幹の保証を破壊するため、 原則として使用を禁止します。

unsafe接頭辞は「これを使うと言語の保証が効かなくなる」という作者からの警告です。

特に避けるべき関数

unsafePerformIO

IOアクションを純粋なコンテキストで実行します。

参照透過性を破壊します。 GHCの最適化により評価回数や評価順序が変わったり、 共有によって一度しか実行されなかったりするため、 副作用のタイミングを予測できなくなります。

unsafeDupablePerformIO

unsafePerformIOの制約をさらに緩めたものです。 複数のスレッドから同時に、 あるいは重複して実行される可能性があり、 unsafePerformIOよりも危険です。

unsafeInterleaveIO

IOアクションを遅延実行します。 実際に値が必要になるまで実行が遅延されるため、 副作用の発生タイミングが完全に非決定的になります。

[Description truncada. Veja o README completo no GitHub.]

Compartilhar X LinkedIn