並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 209件

新着順 人気順

OCamlの検索結果121 - 160 件 / 209件

  • How to print anything in OCaml

    ONE of the big benefits of OCaml is its powerful REPL (also called the toplevel), the interactive command-line utility where you can load modules, type in and execute code, and see its results. The modern REPL, utop, has powerful auto-completion and integration with the build system dune, which enables productive workflows like loading an entire project's libraries in the REPL and interactively ex

      How to print anything in OCaml
    • Optics vs Lenses, Operationally

      Optics vs Lenses, Operationally (Update: I’ve given a talk about this blog post, which can be found here.) I’ve been thinking a lot about lenses and optics. They’re both abstract gadgets that model various sorts of bidirectional processes. They are found in machine learning, game theory, database systems, and so on. While optics are more general, it’s understood that they’re equivalent to lenses i

      • Announcing MirageOS 4.0.0 | MirageOS

        On behalf of the MirageOS team, I am delighted to announce the release of MirageOS 4.0.0! Since its first release in 2013, MirageOS has made steady progress towards deploying self-managed internet infrastructure. The project’s initial aim was to self-host as many services as possible aimed at empowering internet users to deploy infrastructure securely to own their data and take back control of the

        • Fizzixnerd Blog

          Hello! Today I'm releasing a project on which I've been working, that is in an early stage of development, into the open source world. It is integration and bindings to Godot (currently just 4.2) from a new language: OCaml. It is called Godotcaml. Details below! Why Godot? There are many reasons to choose Godot, but the reason I'll focus on is that it provides a full game-development IDE from whic

            Fizzixnerd Blog
          • GitHub - andrejbauer/spartan-type-theory: Spartan type theory

            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

              GitHub - andrejbauer/spartan-type-theory: Spartan type theory
            • Improving the dead code elimination algorithm in js_of_ocaml - Micah Cantor

              Reducing code size with a new global optimization pass in js_of_ocaml. Published: November 13, 2023 Introduction This summer I worked as a software engineer intern at Tarides from their Paris office. My project centered on improving the dead code elimination algorithm in the OCaml to JavaScript compiler, js_of_ocaml. In this post, I'll give some background on why these changes were needed and an o

                Improving the dead code elimination algorithm in js_of_ocaml - Micah Cantor
              • Getting OCaml Through the Eye of a Needle

                I think OCaml is a great language. While it’s always too simplistic to put languages on a straight line, I feel it’s alright to say that it’s somewhere in between Java/C#/Go and Rust/Haskell for a couple of reasons: Immutability is the default, but you can use types that are mutable if you need/want to You can throw exceptions if you want, or play it “safe” with a Result type Concurrency can be ha

                  Getting OCaml Through the Eye of a Needle
                • OCaml 5.1 と Eio で HTTPS クライアントを書く

                  Eio とは Eio は、OCaml 5.0 から導入された effect handler を用いた非同期処理ライブラリです。つい先日 1.0 がリリースされ、いまアツいです(筆者調べ)。 Eio では既存の Lwt や Async と異なり処理結果が Lwt.t などの型でラップされないため、bind(>>=)や ppx_lwt の let%lwt x = ... のような記法を用いずに(direct style で)コードを書くことができるという特徴があります。例えば単純な例として、5 秒まってから "Hello world!" と出力するようなコードは、Lwt では以下のように >>= を使って書く必要がありますが: open Lwt.Infix Lwt_main.run ( Lwt_unix.sleep 5.0 >>= fun () -> Lwt_io.printf "Hello

                    OCaml 5.1 と Eio で HTTPS クライアントを書く
                  • Oxidizing OCaml: Locality

                    OCaml with Jane Street extensions is available from our public opam repo. Only a slice of the features described in this series are currently implemented. Rust, OCaml, and Resource Management Coming from OCaml, the Rust programming language has many appealing features. Rust’s system for tracking lifetime and ownership allows users to safely express patterns that are awkward in OCaml, such as: Stac

                      Oxidizing OCaml: Locality
                    • MoonBit | MoonBit Docs

                      MoonBit is an end-to-end programming language toolchain for cloud and edge computing using WebAssembly. The IDE environment is available at https://try.moonbitlang.com without any installation; it does not rely on any server either. Status and aimed timeline​ MoonBit is currently in beta-preview. We expect to reach beta in 2024/11/22, and 1.0 in 2025. When MoonBit reaches beta, it means any backwa

                      • Docker上にOCaml+Coqの環境を構築して動かしてみるまで - Qiita

                        はじめに CoqをDocker上にインストールしたのでその手順をまとめます。 CoqのコードはOCamlに変換できるので、変換したコードをOCamlから呼び出してみます。 Dockerのインストールは済んでいる前提で進めていきます。 OPAMのインストール OCaml、CoqをインストールするためにまずOPAMをインストールします。 OPAMはOCamlのパッケージマネージャです。 OPAMをインストールするとOCamlは自動的に入りますが古いバージョンなので新しいバージョンを別にインストールします。 Alpine Linuxのコンテナを起動します。

                          Docker上にOCaml+Coqの環境を構築して動かしてみるまで - Qiita
                        • GitHub - ocaml-multicore/eio: Effects-based direct-style IO for multicore OCaml

                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                            GitHub - ocaml-multicore/eio: Effects-based direct-style IO for multicore OCaml
                          • Multicore OCaml - What's coming in 2021

                            Securing the foundations: Hardware-assisted secure Unikernels

                              Multicore OCaml - What's coming in 2021
                            • R5RSのformal semanticsをOCamlで書いた

                              R5RSのformal semanticsをOCamlで書いた 背景 bitのバックナンバーを読んでいたら見つけた 「プログラム検証入門」という記事(1980年9月〜12月号掲載)が非常に面白かった。 その記事に参考文献として載っていた 「数理情報学入門―スコット・プログラム理論」という本を買ってみたら、 これまたすごく面白かった。 この本で使っている記号が、R5RSのformal semanticsで使っている記号と 大体同じであることを思い出し、R5RSのformal semanticsを読み直してみたら、 以前よりしっかり理解できて、これまた非常に楽しかった。 楽しかったのだが、 call-with-valuesの定義 がおかしいことに気づいた。 cwv: E* -> K -> C [call-with-values] cwv = twoarg(λε1ε2κ.applicate ε1

                              • Retrofitting Effect Handlers onto OCaml

                                あけましておめでとうございます、びしょ~じょです。 これは言語実装Advent Calendar2022 17日目の記事です。 諸事情ありましたが端的に申し上げると私の怠慢で大幅に投稿日が遅れました。 1. はじめに OCaml 5.0が去年末にリリースされた。 並列処理のプリミティブに加え、algebraic effectsを用いた並行処理も書けるようになり、これはとても素晴らしいことですよ。 本日はOCaml 5.0のベースとなるMulticore OCamlにおけるalgebraic effectsの実装論文『Retrofitting Effect Handlers onto OCaml』[1]について解説する。 該当論文ではeffect handlersの実装デザインにあたって以下の4つを考慮している: Backward compatibility 存のコード資産に(表層構文はもち

                                  Retrofitting Effect Handlers onto OCaml
                                • GitHub - moonbitlang/moonbit-compiler

                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                    GitHub - moonbitlang/moonbit-compiler
                                  • 7 OCaml Gotchas

                                    Labelled and Optional Arguments There's another gotcha, way worse. Partial application of such a function is hell on earth :( (ie type inference support is half there)

                                      7 OCaml Gotchas
                                    • Functional C#: Handling failures, input errors

                                      The topic described in this article is a part of my Applying Functional Principles in C# Pluralsight course. In this article, I’m going to write about how to deal with failures and invalid input in a functional way. Functional C#: Immutability Functional C#: Primitive obsession Functional C#: Non-nullable reference types Functional C#: Handling failures and input errors Handling errors in C#: the

                                      • GitHub - ocaml-wasm/wasm_of_ocaml

                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                          GitHub - ocaml-wasm/wasm_of_ocaml
                                        • 多相関数と依存型をちゃんと理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

                                          比較的最近(今年の9月)、多相関数の記事を書きました。「多相関数」「総称関数」という言葉は知っていても、理解があやふやな人もいそうです。基本的なところを復習しましょう。話を明確にするために、少し圏論を使います。 [さらに追記]下の追記における「間違いです」が間違いだったようです。用語法の流儀が複数あるので、どっちも許容でした。追記内の表は、2つの用語法の対照表になります。[/さらに追記] [追記] この記事内で使っている言葉「依存積型」と「依存和型」は間違いです。申し訳ありません。正しい呼び名は次のとおりです。 記号 間違った 呼び方 1 正しい 呼び方 2 別な呼び方 依存積型 依存指数型/依存関数型 パイ型 依存和型 依存積型 シグマ型 「依存型と総称型の圏論的解釈」の冒頭で釈明(?)説明を書いています。 間違いも記録として残しておく方針なので、お手数ですが、本文内の「依存積型」を「依

                                            多相関数と依存型をちゃんと理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
                                          • Isolating Xwayland in a VM - Thomas Leonard's blog

                                            In my last post, Qubes-lite with KVM and Wayland, I described setting up a Qubes-inspired Linux system that runs applications in virtual machines. A Wayland proxy running in each VM connects its applications to the host Wayland compositor over virtwl, allowing them to appear on the desktop alongside normal host applications. In this post, I extend this to support X11 applications using Xwayland. T

                                            • What the interns have wrought, 2023 edition

                                              We’re once again at the end of our internship season, and it’s my task to provide a few highlights of what the dev interns accomplished while they were here. The program was big! We had 152 software engineering interns, drawn from 58 schools across 19 different countries. And that’s not even counting the 31 tech interns in areas like production engineering, IT engineering, network engineering, and

                                                What the interns have wrought, 2023 edition
                                              • OCaml Game Engine: ECS

                                                I’m currently developing a game engine in OCaml called camlcade. Before I dive into how I designed camlcade’s Entity-Component-System (ECS), here are a couple of short video demos showing what the engine can currently do: The engine is still very much in progress, and I plan to continue working on it when I have the time. It’s also a small, pet project of mine that I focused on during winter break

                                                • Introducing OxCaml

                                                  Posts about interviewing at Jane Street and our internship program At Jane Street, we’ve been actively making improvements to OCaml for a long time. Over the last few years, we’ve started to build some fairly ambitious extensions to the language. Our aim is to make OCaml a great language for performance engineering. This work has always been open source, and our hope is to contribute these extensi

                                                  • Necro ML: Generating OCaml Interpreters

                                                    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 Necro ML: Generating OCaml Interpreters Louis Noizet Alan Schmitt Ab

                                                    • 多相関数: 補遺 - 檜山正幸のキマイラ飼育記 (はてなBlog)

                                                      2020年9月に書いた一連の記事があります。 蒸し返し: アドホック多相 vs パラメトリック多相 多相関数の「パラメトリック性 vs 満足性」 多相関数と型クラス これらは多相関数に関する記事です。昨日の記事も多相関数を扱っています。 多相関数と依存型をちゃんと理解しよう 9月のシリーズ記事と昨日の記事では、多相関数の定義が違います。これは混乱を招くかも知れないので、この記事で追加の説明をしておきます。 内容: 定義はTPO依存 関手性と自然性 多相関数の少し一般的な定義 9月の記事での多相関数 昨日の記事での多相関数 パラメトリック性 定義はTPO依存 同じ言葉を複数の記事で使い、それらの定義がズレていたのですが、僕はそれが悪いとは思っていません。ただ、関連性が強い記事で異なる定義を採用していると混乱を招くリスクがあるので、断り書きはするべきでしょう。 言葉と定義に関する僕のスタンスは

                                                        多相関数: 補遺 - 檜山正幸のキマイラ飼育記 (はてなBlog)
                                                      • OCaml Set Up (With WSL and OPAM) - Qiita

                                                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                                          OCaml Set Up (With WSL and OPAM) - Qiita
                                                        • 関数型言語で学ぶプログラミングの基本 技術の泉シリーズ | 川井 俊輝 | 工学 | Kindleストア | Amazon

                                                            関数型言語で学ぶプログラミングの基本 技術の泉シリーズ | 川井 俊輝 | 工学 | Kindleストア | Amazon
                                                          • OCaml Web Development: Essential Tools and Libraries in 2025

                                                            Should you use OCaml for web projects? Web development trends are a hotly debated topic in the computer programming world and the familiar faces of languages and frameworks are unlikely to change: hypertext markup language or HTML, CSS, and JavaScript are the core technologies (with server-side technologies such as PHP, Python, etc.), and React, Vue, Svelte, and Angular are proving to be as popula

                                                              OCaml Web Development: Essential Tools and Libraries in 2025
                                                            • Design of the Austral Compiler

                                                              Austral is a new systems programming language. It features linear types for safe, compile-time memory and resource management; capability-based security to prevent supply chain attacks; and strong modularity. It is designed with fits-in-head simplicity as the goal. A while back I wrote a post on the lessons I learnt writing the Austral compiler. This post is a more detailed walkthrough of the boot

                                                                Design of the Austral Compiler
                                                              • GitHub - Naereen/Tiny-Prolog-in-OCaml: A tiny implementation of a small subset of the Prolog language, 🐫 in OCaml. With small and fun examples.

                                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                  GitHub - Naereen/Tiny-Prolog-in-OCaml: A tiny implementation of a small subset of the Prolog language, 🐫 in OCaml. With small and fun examples.
                                                                • 8 months of OCaml after 8 years of Haskell in production

                                                                  Thanks! I hope you enjoyed your time at Bloomberg 🤗 Indeed, this particular example could be written better with the usage of pattern matching. I wanted to show the difference between guards and if-then-else. But looks like this particular example is not that convincing. I'll change it to a better one when I come up with it! Meanwhile, you might have some other example in mind?

                                                                    8 months of OCaml after 8 years of Haskell in production
                                                                  • MacoCaml: Staging Composable and Compilable Macros

                                                                    209 MacoCaml: Staging Composable and Compilable Macros NINGNING XIE, University of Toronto, Canada LEO WHITE, Jane Street Capital, UK OLIVIER NICOLE, Tarides, France JEREMY YALLOP, University of Cambridge, UK We introduce MacoCaml, a new design and implementation of compile-time code generation for the OCaml language. MacoCaml features a novel combination of macros with phase separation and quotat

                                                                    • Melange 4.0 is here | Sandtracks

                                                                      Today, we're introducing Melange 4.0, the latest version of our backend for the OCaml compiler that emits JavaScript. Melange is now compatible with OCaml 5.2! In this release, Melange starts emitting more ES6 constructs, supports more JavaScript builtins, improves error handling, and makes using Dune virtual libraries fully supported. Read on for more details. Embracing OCaml 5.2 ​OCaml 5.2 was r

                                                                      • The First Wasm_of_ocaml Release is Out!

                                                                        The first feature-complete release of Wasm_of_OCaml (also known as WSOO) is out! A low-level virtual machine and portable compilation target, Wasm is popular with many developers thanks to its flexibility and wide compatibility. We introduced you to Wasm and the benefits of bringing support for it to OCaml in our blog post on it in 2023. Since then, Wasm_of_ocaml has undergone new developments, so

                                                                          The First Wasm_of_ocaml Release is Out!
                                                                        • OCaml の補完とフォーマットをVSCode上で実現するための試行錯誤

                                                                          私は プログラミングの基礎や大学の講義資料でプログラミングを勉強しており、OCaml の開発者ではないもののサンプルコードとして OCaml を読んでいます。 この記事では、そういったコードリーディングを目的とした補完やフォーマットのための環境構築をしようとしてハマってしまっていたのでそれについてメモします。 (ビルド周りについては触れません) 筆者の環境は MacOS です。 とりあえず OCaml の環境を作る たまたま修理に出して新品になった Mac があるので、ここに環境を作っていきます。 まずは OCaml の package manager であるopamを入れます。 これはパッケージだけで無く OCaml 本体も入れられので、このコマンドを最初に使えるようにします。 インストール方法は公式であるHow to install opamにあるので、参照します。 > opam us

                                                                            OCaml の補完とフォーマットをVSCode上で実現するための試行錯誤
                                                                          • GitHub - based-ghost/react-functional-select: Micro-sized & micro-optimized select component for React.js

                                                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                              GitHub - based-ghost/react-functional-select: Micro-sized & micro-optimized select component for React.js
                                                                            • Dinosaure's website - Again, re-update of my blog after 2 years.

                                                                              ocamlmirageosblogIt's been 2 years since my blog has been updated. The first reason is that I had a lot of work to do on MirageOS 4. The second reason is a simple question: how to deploy several sites with one IP address? The third is to use ONLY OCaml. Behind these innocent questions and staking out between futile and necessary projects, I took the time to finally finish the deployment of my blog

                                                                              • 並行並列OCaml5.0

                                                                                こんにちは、びしょ〜じょです。 これはMeta Languages Advent Calendar 2021の3日目の記事です。 今日は12月3日、冴草きいちゃんの誕生日です。いいね? めでたいです。 本日は、来るOCaml5.0のリリースに先駆けてカンタンに紹介します。 はじめに OCaml 4.14が4.x系最後のマイナーバージョンとなり、2022年にメジャーアップデートして5.0がリリースされる機運がかなり高まってきました。 5.0ではMulticore OCamlの成果が初めてメインラインにマージされ、これにより並行と並列の2つの目玉機能が入ります。 並行と並列のプリミティブですよ!! モダンですねえ。 だいたいこの辺の話を部分的に深掘ります。 With the convergence between the multicore and standard runtime acros

                                                                                  並行並列OCaml5.0
                                                                                • Playing with Caml Light on DOS | Frederic Cambus

                                                                                  OCaml has been on my radar for some years now, and I think it was MirageOS which sparked my interest in the language. Lately, I started reading more about OCaml and its ecosystem, and indulged myself in an historical detour. For more background information on Caml and the Caml Light implementation in particular, please refer to "A History of Caml". Distribution archives for Caml Light are availabl