並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 25 件 / 25件

新着順 人気順

Dhallの検索結果1 - 25 件 / 25件

  • yamlについて思うこと

    yaml、どうしてこんなに使われているのだろうか。kubernetesにも責任があるというのはありそうな話だけど、色々考えてみるとそこまで簡単な話でもなさそうな気がする。例えばtravis-CIの設定ファイルがyamlであったりというように、この分野ではyamlは割と広く使われていたんじゃないかという気がする。思い起こせばGoogle AppEngineもapp.yamlに設定を書いていたし、設定にyamlというのは割とよくあることであった、のではないかなあ。 しかしなぜyamlなんだろうか。yamlのフォーマットには問題がたくさんあることが知られているし、自分も全く好きではない。 例えばyamlの問題の一つとして、キーに任意のデータ構造を持ってこれるという話があり、これが一部のプログラミング言語で問題を厄介にしている。またエイリアスがあってデータ構造がツリーにならない(複数の経路から同じ

      yamlについて思うこと
    • 経験5年のHaskellユーザがScalaを仕事で半年使ってみた

      haskell-scala-java ちょっと前までScalaを書いていたので、 Haskell好きな人がScalaを書いた感想を書きます。 タイトルは経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blogの模倣です。 あくまで1ユーザの感想です。 Scalaに慣れてしまうと違和感を忘れてしまうと思ったので、当時箇条書きで雑にメモしていたものを参照して書いています。 逆にScala使いがHaskellを知るメモに役立つかもしれません。 Haskell歴 when: 2013年から知って学び始めましたが、本格的に使い始めたのは2015年からで、5年ほど使っています where: どの言語を使っても良くて新しい言語を学ぶ必要がなければ基本的にHaskellを使っています what: 趣味OSSプロジェクトの大半 現在一番スターもらっ

        経験5年のHaskellユーザがScalaを仕事で半年使ってみた
      • リトルランゲージはプログラミングの未来だ

        chreke's blogより。 マクスウェルの方程式が書かれたTシャツを着たオシャレな女性 特に、ガブリエラ・ゴンザレスの『The end of history for Programming』を読み、アラン・ケイの『Programming and Scaling』の講演を見て、「リトルランゲージ」 (非常に特定な問題を解決するために設計された小さな言語)が、プログラミングの未来であると確信しました。どちらも素晴らしいので、是非読んでみて欲しいのですが、もし、時間があれば、私が「リトルランゲージ」とはどういう意味なのか、なぜそれが重要なのかを説明します。 「リトルランゲージ」とは何か? ジョン・ベントリーは、彼の名を冠した論文『Little Languages』の中で、「リトルランゲージ」という言葉を作り、彼は次のように定義しました。 [...] リトルランゲージは特定の問題領域に特化し

          リトルランゲージはプログラミングの未来だ
        • The yaml document from hell

          written by Ruud van Asseldonk published 11 January, 2023 For a data format, yaml is extremely complicated. It aims to be a human-friendly format, but in striving for that it introduces so much complexity, that I would argue it achieves the opposite result. Yaml is full of footguns and its friendliness is deceptive. In this post I want to demonstrate this through an example. This post is a rant, an

          • 今日は Haskell Day 2019 の日です - Pixel Pedals of Tomakomai

            咳が止まらない状態で非常に厳しいですが、来ていますので、自分用のメモを残しておきます。 関数型(function type)を見つめるプログラミング / 山下さん 関数の型、 Haskell では第一級 リスト型 a が型なら [a] も型 タプル a b が型なら (a, b) も型 タプル a b が型なら a -> b も型 a が domain 、 b が codomain 高階関数型 domain が関数 (a -> b) -> c codomain が関数 a -> (b -> c) こちらは意識されにくい 2変数関数 (a, b) -> c Haskell 以外でもよく使う セクション (+) は高階関数 a が domain、 b が codomain 逆に、 codomain が関数の高階関数は 2 項演算子 f: a -> a -> a `f` curry :: ((a

              今日は Haskell Day 2019 の日です - Pixel Pedals of Tomakomai
            • Little Languages Are The Future Of Programming

              I’ve become convinced that “little languages”—small languages designed to solve very specific problems—are the future of programming, particularly after reading Gabriella Gonzalez’s The end of history for programming and watching Alan Kay’s Programming and Scaling talk. You should go check them out because they’re both excellent, but if you stick around I’ll explain just what I mean by “little lan

                Little Languages Are The Future Of Programming
              • Nix is a better Docker image builder than Docker's image builder - Xe Iaso

                $50 of Fly.io CreditsCoupon code go-fly-nix. Only valid for new accounts that have not used a DevRel coupon code before. The Talk The title slide of the talk. It features a hot air balloon breaking into a shipping container with a crowbar. Art by Annie Rugyt. Hi, I'm Xe Iaso and today I'm gonna get to talk with you about one of my favourite tools: Nix. Nix is many things, but my super hot take is

                  Nix is a better Docker image builder than Docker's image builder - Xe Iaso
                • The Dhall configuration language

                  Don't repeat yourself Struggling with configuration drift? Create a single source of truth you can reference everywhere. "Configuration drift occurs when a standardized group of IT resources, be they virtual servers, standard router configurations in VNF deployments, or any other deployment group that is built from a standard template, diverge in configuration over time. … The Infrastructure as Co

                  • GitHub Trending RSS

                    GitHub Trending RSS Star The latest build: 7 October, 2023 All Languages Unknown Languages Unknown languages 1C Enterprise 2-Dimensional Array 4D ABAP ABAP CDS ABNF ActionScript Ada Adblock Filter List Adobe Font Metrics Agda AGS Script AIDL AL Alloy Alpine Abuild Altium Designer AMPL AngelScript Ant Build System Antlers ANTLR ApacheConf Apex API Blueprint APL Apollo Guidance Computer AppleScript

                    • Cedric Charly's Blog

                      Read the discussion on Hacker News, Reddit, and Lobste.rs Don’t be a YAML Engineer Imagine that you are a new software engineer entering the industry. You thought you were ready after studying your theory and the weekend side projects. Now, you get hit with a wave of new tools and concepts out of nowhere. Microservices? REST? Cloud Computing? RPC (What’s an IDL)? Docker (What’s a container)? Kuber

                      • Unification-free ("keyword") type checking

                        From my perspective, one of the biggest open problems in implementing programming languages is how to add a type system to the language without significantly complicating the implementation. For example, in my tutorial Fall-from-Grace implementation the type checker logic accounts for over half of the code. In the following lines of code report I’ve highlighted the modules responsible for type-che

                          Unification-free ("keyword") type checking
                        • Why Rust

                          Why Rust Published on 02/15/2020, 1830 words, 7 minutes to read Or: A Trip Report from my Satori with Rust and Functional Programming Software is a very odd field to work in. It is simultaneously an abstract and physical one. You build systems that can deal with an unfathomable amount of input and output at the same time. As a job, I peer into the madness of an unthinking automaton and give order

                          • treefmtで統一的なフォーマッタを実現する

                            はじめに treefmtというフォーマッタの上に被せるCLIが存在し,これによってあらゆるフォーマッタを統一的に扱うことが出来ます. つまり Prettier TypeScript, JavaScript, Markdown, JSON, CSS, etc... dprint TypeScript, JavaScript, Markdown, JSON, etc... nixpkgs-fmt Nix alejandra Nix taplo Toml fourmolu Haskell cabal-fmt Cabal satysfi-formatter SATySFi ocamlformat OCaml rustfmt Rust elm-format Elm black Python gofumpt Go yamlfix YAML dhall format Dhall etc... これらのフ

                              treefmtで統一的なフォーマッタを実現する
                            • Haskell Day 2021

                              日程の詳細はスケジュールをご覧ください。 発表者募集 発表者募集は締め切りました。 Haskell Day 2021 は YouTube プレミア公開を利用してオンラインで開催されます。発表をご希望の方は下記の要項をご確認の上、奮ってご応募ください。 応募資格 誰でも発表者として応募できます。 発表内容 Haskell に関する内容及び Haskell コミュニティが関心のありそうな内容であれば自由です。 参考(過去2回の発表タイトル): Haskell Day 2019 関数型(function type)を見つめるプログラミング HKD (Higher Kinded Datatype) 「しんさんきぼう」GHC の deriving テクノロジー Haskell メタプログラミングによる Egison のパターンマッチの実装 関数と型で理解する自動微分 GHCJS による Web フロ

                                Haskell Day 2021
                              • Actions CIでSlack通知にコンソール出力の一部を混ぜる話 - Qiita

                                そういや今年こんなことをやりましたということで一つ https://github.com/Pctg-x8/peridot では、GitHub Actionsを使用してCI/CDを組んでいます。元はTravis CIを使用していたんですが、ジョブ構成の柔軟さやCI以外の手順自動化に使えそうという点から今年の3月1に一気に移行しました。 そこで、Travis CI時代から使用しているCI結果のSlack通知もActionsに移植しまして、今現在ではこんな感じのAttachmentがついたメッセージが届くようになっています。 このAttachmentの本文には、エラーとなったジョブのコンソール出力の末尾20行が入っています。 この記事では、この出力を混ぜ込むまでにやったことを解説します。 要件と使えそうなコマンド この機能の要件としては以下の通りです。 rustcのエラーメッセージの最後の数行を

                                  Actions CIでSlack通知にコンソール出力の一部を混ぜる話 - Qiita
                                • Cargo.toml を壊れたままにしない

                                  Cargo.toml を壊れたままにしない Rust で Cargo.toml により依存パッケージのバージョン指定をしますが、これが壊れている場合が見受けられます。 このような問題の解説や、気付いて直すための方法についての話です。 この記事は Rust Advent Calendar 2020 の14日目の記事です。 前日になっても枠が空いていたので、最近思うところを急遽突っ込むことにしました。 前日の記事は『Dhallの型定義からRustの型を自動生成するマクロ』でした。 TL;DR もう少し詳しくは まとめ を参照のこと。 依存バージョンを指定するときは、マイナーバージョンやパッチバージョンまで含めて最新のものを指定しましょう。 cargo +nightly update -Z minimal-versions で、制約を満たす最小バージョンへの依存を使った Cargo.lock を

                                    Cargo.toml を壊れたままにしない
                                  • Using Dhall To Manage GitHub Actions Workflows

                                    In my previous post, I talked about how we use Github Actions to automate our workflows. As promised, I will show how we use Dhall to manage our GitHub Actions files. Don’t Repeat Yourself “Don’t Repeat Yourself” (DRY) is a programming principle that reduces repetition in code. As we created more actions in a growing number of repositories, we noticed that there were a lot of repeating steps, jobs

                                    • Oleg's gists - Do not default to HashMap

                                      There are two widely used associative containers in Haskell: Map from containers HashMap from unordered-containers Map is using Ord (total order), and most operations are . HashMap is using Hashable (some hash), and most operations are . HashMap is obviously better! It depends. Sometimes HashMap is the only choice, for example when the keys are Unique which has Hashable instance but does not have

                                      • ytt(YAML Templating Tool)入門 - Templating編 - IK.AM

                                        🗃 {Dev/Carvel/ytt} 🏷 YAML 🏷 ytt 🏷 k14s 🏷 Carvle 🗓 Updated at 2020-08-27T14:25:46Z  🗓 Created at 2020-08-19T06:44:46Z   🌎 English Page yttはスタンドアローンで使えるYAMLのテンプレートツールです。同じ領域のツールとしては Jsonnet Dhall Cue がありますが、テンプレートツールとしてのyttの特徴としては YAMLそのものを記述する(YAMLとしてvalid) YAMLのコメントとしてPython-likeなStarlark言語を記述することで動的な表現ができる 各ツールとの比較の詳細はこちら。 他のツールが専用の言語を使うのに比べ、yttはあくまでもYAML+コメントなので心理的な導入のハードルは低いかもしれません。 もちろ

                                          ytt(YAML Templating Tool)入門 - Templating編 - IK.AM
                                        • RecoilにインスパイアされてPureScript用仮想DOMつくった - oreshinyaのブログ

                                          追記 ここに記述した内容は既に古くなっています。 内部実装は既に書き直されていますし、Hooks likeなAPIも少しだけインターフェースが変更されています。 興味のある方は直接purescript-grainへ見に行ってください。 動機 Recoilが思ったより話題になっていたので、PureScriptだったらどういう表現ができるかなと思ってつくりたくなった。 そういうわけで、PureScriptにおける仮想DOM実装の3作目が爆誕してしまった。 結果 purescript-grain こういう感じになった 型クラスのインスタンスにした型が各状態になり各状態キーにもなるという感じになった。 実はここの表現に関してはかなり迷って、最初は、シンボル(型レベル文字列)と状態の型をもち、キーの型から状態の型への関数従属性をもった型クラスのインスタンスにすることで表現しようと考えたが、PureS

                                            RecoilにインスパイアされてPureScript用仮想DOMつくった - oreshinyaのブログ
                                          • ちょうどいいインターネット、Gemini / kzys - Message Passing

                                            個人的には TOML は「ちょうどいい」かなあ。YAML の大変さがなくて、Dhall ほど野心的ではない。言われてみると、TOML の作者も GitHub の共同創業者の一人なので、だいぶ有名人ですね。 ちょうどいいインターネット、Gemini 私がここ一年くらい気になっているプロジェクトに Gemini がある。Gemini は Gopher と Web (HTML + HTTP) のいいとこどりを目指すプロジェクトで、行志向のワイヤープロトコルと、その上にのる、これまた行志向の text/gemini フォーマットで構成されている。 ここでいう Gopher は、Go のマスコットではなくて、1993年発行の RFC 1436 で定義されている、Gopher プロトコルのこと。世の中は広いもので、2021年の今現在も Gopher を使っていたり、それでブログのようなことをしている

                                              ちょうどいいインターネット、Gemini / kzys - Message Passing
                                            • The appeal of bidirectional type-checking

                                              In this post I hope to explain why bidirectional type-checking has a lot of cultural cachet within the programming language theory community. To be clear, I’m an amateur and I have no formal background in computer science or type theory. Nonetheless, I believe I’ve learned enough and compared notes with others to motivate bidirectional type-checking. Subtyping The fundamental problem that bidirect

                                              • PureScript 入門 のそのまえ - エフアンダーバー

                                                QiitaでPureScriptを始めるのに苦戦している記事を読んで、 自分もこの前すごく苦労したことを思い出したので、 まだ感覚が残っているうちにいろいろ書いておくことにしました。 PureScriptの紹介が目的ではないので、 「PureScriptとは何か」とか「どんなコードを書くか」みたいな話は特にしません。 PureScriptを学ぶ上で知っておくと役に立つかもしれない知識について雑多に書くだけです。 PureScriptを始めるその前に PureScriptは比較的新しい言語で、かつ今のところ非常にマイナーな言語です。 そのため、現在資料がとても乏しく、いくらかき集めても、 関数型言語を何も知らない人間が理解するのは困難な状況です。 そこで、まず最初にやるべきはPureScriptの類似言語を学ぶことだと思います。 遠回りに感じるかもしれませんが、おそらくこちらの方が近道です。

                                                  PureScript 入門 のそのまえ - エフアンダーバー
                                                • Complexity in Operating Systems

                                                  Over the last years I’ve been working on very different operating systems. Operating systems are usually incredibly complex beasts. I think there are mainly three drivers of this complexity. Surprisingly enough, neither of these is having to deal with hardware. The first one is resource discovery, i.e. figuring out what the computer the OS is running on actually looks like. On x86, this involves p

                                                  • Dhall - Year in review (2019-2020)

                                                    The Dhall configuration language is now three years old and this post reviews progress in 2019 and the future direction of the language in 2020. If you’re not familiar with Dhall, you might want to visit the official website for the language. This post assumes familiarity and interest in the language. I would like to use this post to advertise a short survey you can take if you would like to provi

                                                      Dhall - Year in review (2019-2020)
                                                    1