タグ

2021年10月1日のブックマーク (7件)

  • Implementing functional languages: a tutorial - Microsoft Research

    This book gives a practical approach to understanding implementations of non-strict functional languages using lazy graph reduction. The book is intended to be a source of practical labwork material, to help make functional-language implementations `come alive’, by helping the reader to develop, modify and experiment with some non-trivial compilers. The unusual aspect of the book is that it is mea

    Implementing functional languages: a tutorial - Microsoft Research
    rydot
    rydot 2021/10/01
  • Idris 2の数量的型が解決した問題、導入した問題 | κeenのHappy Hacκing Blog

    # Idris2の数量的型が解決した問題導入した問題 ---------------------- [第一回関数型プログラミング(仮)の会 - connpass](https://opt.connpass.com/event/222709/) === # About Me --------- ![κeenのアイコン](/images/kappa2_vest.png) * κeen * [@blackenedgold](https://twitter.com/blackenedgold) * GitHub: [KeenS](https://github.com/KeenS) * GitLab: [blackenedgold](https://gitlab.com/blackenedgold) * [Idein Inc.](https://idein.jp/)のエンジニア * Lisp, ML

    rydot
    rydot 2021/10/01
  • プログラング言語Idrisに入門させたい(v0.9)

    これは筆者(κeen)がIdris Advent Calendar 2020に投稿した内容を土台とし、一冊のになるように増補改訂を行なったものです。 書では依存型のあるHaskellことIdrisについて紹介します。Idrisは純粋関数型言語であり構文もHaskellに似ていますが、大きな特徴として依存型があることが挙げられます。依存型があるとリストの長さを指定したり整数同士の割り算でゼロ除算が起きないことを保証したり、究極的には数学の証明をしたりもできます。また、依存型以外にもインタラクティブな開発環境を使った型駆動開発であったりElaborator Reflactionによるメタプログラミングだったりと注目に値する言語機能も揃っています。 総じてIdrisは非常に尖った言語です。作者がプログラミング言語理論の研究者ということもあり、かなり攻めた言語機能が入っています。依存型を搭載し

    プログラング言語Idrisに入門させたい(v0.9)
    rydot
    rydot 2021/10/01
  • GitHub - cisco/ChezScheme: Chez Scheme

    Tip: Clone this repo with git clone --filter=blob:none to avoid eagerly downloading large boot files for older versions. Chez Scheme is both a programming language and an implementation of that language, with supporting tools and documentation. Supported platforms (bytecode interpreter may work for others): Windows: x86, x86_64, AArch64 Mac OS: x86, x86_64, AArch64, PowerPC32 Linux: x86, x86_64, A

    GitHub - cisco/ChezScheme: Chez Scheme
    rydot
    rydot 2021/10/01
  • 形式検証の視点から再確認したいMaybe型/Option型からnull許容データベースへのデータ変換 - Qiita

    はじめに 記事は第一回関数型プログラミング(仮)の会における発表内容の詳細です。 関数型言語において、Maybe/Option型データを外部データベースに保存する際やJSONに変換する際、NULL許容データに変換して扱われることが多いです。 しかしながら、Maybe/Option型とNULL許容データは細かい点で異なるため、注意してデータ変換を実装しないと思わぬバグを生むことになります。 そこで記事では、Maybe/Option型をNULL許容データに変換することに対して、形式検証の視点から考察していきます。 また、Haskellによる実装例もありますので、コードを確認したい方はそちらも参考にしていただけると幸いです。 形式検証による視点 形式検証を考える際に必要なのは、プログラムの仕様を論理式で形式的に記述することです。 今回は、まずデータ変換自体の数学的なモデルを考えて、その後、H

    形式検証の視点から再確認したいMaybe型/Option型からnull許容データベースへのデータ変換 - Qiita
    rydot
    rydot 2021/10/01
  • アクターモデルのサポート状況について

    アクターモデルのサポート状況について、簡単にまとめます。 アクターモデルの定義 これに従う。 広義の立場では、アクター=チャネル+非同期タスクと解釈すれば、GoRustは組込のアクターモデルと持っていると考えてもよいですが、ここではいちいち取り上げません。狭義の立場では、アクターの位置透過性やスーパービジョンのような機能も概念に含まれてくるが、必須のものとはしないことにします。 アクターモデルが使えるツール(ライブラリ/フレームワーク) やはりこの分野ではakkaが最強ですが、Virtual Actorsをサポートしている、Dapr, Orleans, proto.actorあたりも注目に値します。Rustにも実装が増えてきています。 ツール名 言語/プラットフォーム URL github stars actor distributed persistence event sourcin

    アクターモデルのサポート状況について
    rydot
    rydot 2021/10/01
  • Common Newbie Mistakes and Bad Practices in Rust: Bad Habits

    When you are coming to Rust from another language you bring all your previous experiences with you. Often this is awesome because it means you aren’t learning programming from scratch! However, you can also bring along bad habits which can lead you down the wrong rabbit hole or make you write bad code. The code written in this article is available on the Rust Playground using the various (playgrou

    rydot
    rydot 2021/10/01