並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 564件

新着順 人気順

プログラミング言語の検索結果361 - 400 件 / 564件

  • GitHub - borgo-lang/borgo: Borgo is a statically typed language that compiles to Go.

    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 - borgo-lang/borgo: Borgo is a statically typed language that compiles to Go.
    • Flix | The Flix Programming Language

      • Ante

        For exploring algebraic effects, safe shared mutability, and other novel features Ante is currently in active development and the compiler is in a very early state. In addition, the features listed on this website detail the language itself rather than the subset that is implemented by the current compiler. If you are interested to see which features are implemented, please look at the github page

        • はじめに

          Rust 裏本 高度で危険な Rust Programming のための闇の技法 NOTE: この文書はドラフトです。重大な間違いを含んでいるかもしれません。 私に与えられたのは、望んだようなプログラムではなく、身を震わせるような暗黒と言い表せないような孤独であった。そして私はついに、誰ひとり口にしようともしなかった恐ろしい真実、ささやくことすらできない神秘中の神秘を目にしたのだ。石のように硬く、耳障りな音をたてるこの言語は、ロンドンが古きロンドンではなく、パリが古きパリではないように、Rust の御代をとこしえにするものではなく、実はきわめて危険で、不完全に防腐処理された、だらしなく寝そべった死体だったのだ。そこにはコンパイル時に生まれた奇妙な生き物たちが所在なさげに蔓延っていた。 (訳注: H.P. ラヴクラフトの小説「あの男」のパロディのようです。) この本は、危険な Rust プロ

          • Haskell+LLVM構成で作る自作コンパイラ - Qiita

            Haskellのパーサコンビネータmegaparsecと、コンパイラ基盤であるLLVMを使って、コンパイラを作ってみます。モチベーションとしてはコンパイラはC/C++を使って作るのが定番ですが、型の恩恵を受けながら開発したいなあということでHaskellでも作れないか調べてみました。 コンパイラ作成の流れ パーサコンビネータのMegaparsecで四則演算のパーサを作成します。 LLVM IR構築のライブラリであるllvm-hs-pureでLLVM IRのコードへ変換するコンパイラを作成します。 簡単な式をコンパイルしてLLVMのインタープリタlliで実行します。 LLVMのコンパイラllcでアセンブラを生成してgccでバイナリまで生成します。 環境 あらかじめ以下をインストールしておいてください。 stack 1.9.3 Haskell 8.6.5 LLVM 9.0.0 コマンドラインで

              Haskell+LLVM構成で作る自作コンパイラ - Qiita
            • Glicol

              • Pointers Are Complicated II, or: We need better language specs

                Pointers Are Complicated II, or: We need better language specs Some time ago, I wrote a blog post about how there’s more to a pointer than meets the eye. One key point I was trying to make is that just because two pointers point to the same address, does not mean they are equal in the sense that they can be used interchangeably. This “extra information” that distinguishes different pointers to the

                • Introduction - The Rust Performance Book

                  Introduction Performance is important for many Rust programs. This book contains techniques that can improve the performance-related characteristics of Rust programs, such as runtime speed, memory usage, and binary size. The Compile Times section also contains techniques that will improve the compile times of Rust programs. Some techniques only require changing build configurations, but many requi

                  • GitHub - pen-lang/pen: The parallel, concurrent, and functional programming language for scalable software development

                    Pen is the parallel, concurrent, and functional programming language focused on application programming following Go's philosophy. It aims for further simplicity, testability, and portability to empower team (v. individual) and/or long-term (v. short-term) productivity. Its syntax, type system, effect system, and module system are fashioned to achieve those goals being simple and easy to grasp for

                      GitHub - pen-lang/pen: The parallel, concurrent, and functional programming language for scalable software development
                    • Speed of Rust vs C

                      The run-time speed and memory usage of programs written in Rust should about the same as of programs written in C, but overall programming style of these languages is different enough that it's hard to generalize their speed. This is a summary of where they're the same, where C is faster, and where Rust is faster. Disclaimer: It's not meant to be an objective benchmark uncovering indisputable trut

                      • 新しいシステムプログラミング言語Nim・日本初の解説書! 『プログラミングNim』発行! 技術の泉シリーズ、8月の新刊

                        新しいシステムプログラミング言語Nim・日本初の解説書! 『プログラミングNim』発行! 技術の泉シリーズ、8月の新刊 インプレスグループで電子出版事業を手がける株式会社インプレスR&Dは、『プログラミングNim』(著者:浅田 睦葉)を発行いたします。 最新の知見を発信する『技術の泉シリーズ』は、「技術書典」や「技術書同人誌博覧会」をはじめとした各種即売会や、勉強会・LT会などで頒布された技術同人誌を底本とした商業書籍を刊行し、技術同人誌の普及と発展に貢献することを目指します。 『プログラミングNim』 https://nextpublishing.jp/isbn/9784844379560 著者:浅田 睦葉 小売希望価格:電子書籍版 1,800円(税別)/印刷書籍版 2,400円(税別) 電子書籍版フォーマット:EPUB3 印刷書籍版仕様:B5判/カラー/本文282ページ ISBN:97

                          新しいシステムプログラミング言語Nim・日本初の解説書! 『プログラミングNim』発行! 技術の泉シリーズ、8月の新刊
                        • AWK As A Major Systems Programming Language — Revisited

                          AWK As A Major Systems Programming Language — Revisited Preface I started this paper in 2013, and in 2015 sent it out for review to the people listed later on. After incorporating comments, I sent it to Rik Farrow, the editor of the USENIX magazine ;login: to see if he would publish it. He declined to do so, for reasonably good reasons. The paper languished, forgotten, until early 2018 when I came

                          • GitHub - darrenks/atlas: concise functionless functional esolang

                            A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

                              GitHub - darrenks/atlas: concise functionless functional esolang
                            • scrapscript

                              greet <| person::ron 3 . greet : person -> text = | #cowboy -> "howdy" | #ron n -> "hi " ++ text/repeat n "a" ++ "ron" | #parent #m -> "hey mom" | #parent #f -> "greetings father" | #friend n -> "yo" |> list/repeat n |> string/join " " | #stranger "felicia" -> "bye" | #stranger name -> "hello " ++ name . person : #cowboy #ron int #parent (#m #f) #friend int #stranger text "hi aaaron" Scrapscript i

                              • GitHub - ThakeeNathees/pocketlang: A lightweight, fast embeddable scripting language.

                                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 - ThakeeNathees/pocketlang: A lightweight, fast embeddable scripting language.
                                • GitHub - magmide/magmide: A dependently-typed proof language intended to make provably correct bare metal code possible for working software engineers.

                                  This repo is still very early and rough, it's mostly just notes, speculative writing, and exploratory theorem proving. Most of the files in this repo are just "mad scribblings" that I haven't refined enough to actually stand by! If you prefer video, this presentation talks about the core ideas that make formal verification and Magmide possible, and the design goals and intentions of the project: I

                                    GitHub - magmide/magmide: A dependently-typed proof language intended to make provably correct bare metal code possible for working software engineers.
                                  • Rustにおける「厳密な型付け」という文化 - Qiita

                                    はじめに Rustの特徴としてはメモリ安全性やGCなしで高速といったことがよく挙げられます。それらもRustの利点ではありますが、個人的に魅力を感じる部分の一つに「厳密な型付けをする文化」があると思っています。それはあまり明文化されておらず、個人的に感じているだけなのですが、Rustを使う動機の1つになりうると思うので、ここで宣伝してみます。 ちなみにこの記事のきっかけの1つが アンサー: なぜTypeScriptの型定義に凝るのか です。これを読んでいて、「自分はRustの型付け方針が好きなんだなぁ」とあらためて気づきました。 技術的な正確性より「気持ち」多めなのでポエムということで。 「厳密な型付けをする文化」とは Rustは静的型付き言語なので、ソースコード上の様々なところで型付けが行われます。これ自体は他の静的型付き言語と同様ですが、Rustではどのような型を付けるかということにつ

                                      Rustにおける「厳密な型付け」という文化 - Qiita
                                    • tree-sitter文法入門 | フューチャー技術ブログ

                                      こちらはPostgreSQL Advent Calendar 2022 カレンダー2枚目・15日目の投稿となります。 前回は、@hmatsu47さんのSupabase で TCE(透過的列暗号化)を軽く試してみたでした。 はじめにこんにちは、フューチャーでアルバイトをしている齋藤です。以前は同社のインターンでSQLフォーマッタを作成していました(記事)。現在はインターン中に作成していたSQLフォーマッタをPostgreSQLの構文に対応させる作業に取り組んでいます。 このフォーマッタではSQLパーサにtree-sitter-sqlを利用していますが、対応していない構文がいくつか存在します。本記事では、未対応の構文であるBETWEEN述語を例に、tree-sitterの構文拡張の手順を紹介します。開発中のSQLフォーマッタはOSS公開予定ですので、ぜひ仲間を増やしたいという思いから記事にしま

                                        tree-sitter文法入門 | フューチャー技術ブログ
                                      • プログラミング言語における再帰の初出はLISPではなかった - Arantium Maestum

                                        ポール・グレハムの記事の一つにWhat Makes Lisp Different?というものがある: www.paulgraham.com ポール・グレハムらしくよく書かれていて、C言語などと比較した場合のLispの特徴をうまく捉えているように思う。 その中の一つが Recursion. Recursion existed as a mathematical concept before Lisp of course, but Lisp was the first programming language to support it. (It's arguably implicit in making functions first class objects.) こうある通り、私も今まで深く考えたこともなく「プログラミングにおける再帰はLispが由来」と考えていたのだが、前回の記事を書く

                                          プログラミング言語における再帰の初出はLISPではなかった - Arantium Maestum
                                        • わかる!?Rustの所有権システム

                                          「Rustの所有権が難しい」という話しがときどきありますが、所有権システムの理解を助ける記事にしてみたいと思います。 所有権とはリソースを開放する権利のこと 所有権とは関数がリソース(資源)を開放する権利のことです。所有するというより消費されてしまうイメージに近いです。 以下のように変数の束縛での解説が多いですが、たぶんつまずくのは関数のほうかなと。 let a = String::from("abc"); let b = a; println!("{}", a); // bに所有権が移動するのでコンパイルエラー let c: u32 = 1; let d: u32 = c; println!("c = {}, d = {}", c, d); // 基本データ型はCopyトレイトを実装しているのでコンパイル可能 というわけで、ここから関数の例で解説します…。 以下のfoo関数はb: Bar

                                            わかる!?Rustの所有権システム
                                          • GitHub - losvedir/transit-lang-cmp: Programming language comparison by reimplementing the same transit data app

                                            This repository implements the same simple backend API in a variety of languages. It's just a personal project of mine to get a feel for the languages, and shouldn't be taken too seriously. So far I've built it in C#, Typescript (Deno), Elixir, Go, Rust, and Scala. Star the repository and/or follow me on Twitter (@losvedir) if you want updates on the project. I hope to eventually get to Swift, Kot

                                              GitHub - losvedir/transit-lang-cmp: Programming language comparison by reimplementing the same transit data app
                                            • GitHub - zesterer/tao: A statically-typed functional language with generics, typeclasses, sum types, pattern-matching, first-class functions, currying, algebraic effects, associated types, good diagnostics, etc.

                                              You can now test Tao in the browser! A statically-typed functional language with polymorphism, typeclasses, generalised algebraic effects, sum types, pattern-matching, first-class functions, currying, good diagnostics, and much more! For more example programs, see... hello.tao: Hello world input.tao: Demonstrates a more complex example of IO effects calc.tao: A CLI calculator, demonstrating parser

                                                GitHub - zesterer/tao: A statically-typed functional language with generics, typeclasses, sum types, pattern-matching, first-class functions, currying, algebraic effects, associated types, good diagnostics, etc.
                                              • ANTLRを業務で活用した話 | フューチャー技術ブログ

                                                はじめにこんにちは、TIG コアテクノロジーユニットの平岡です。 コアテクノロジーユニットはフューチャーグループ全体のビジネスを支えるコアとなる技術をグループ横断で提供することをミッションにしています。またOSS活動も活発に行っています。コアテクノロジーユニットのメンバーが以前に投稿した記事をいくつか紹介しておきますので、是非そちらもご覧ください。 RedmineからGoogle Hangouts Chat へ連携するプラグインを作成しました! その問い合わせ、AIが解決します!~Redmineチケットレコメンドシステムのご紹介~ SQL開発者を幸せにする!? Sublime Text 3でも使える uroboroSQL Formatter を公開しました ANTLRとは皆さんはANTLRをご存知でしょうか?ANTLRとはparser(構文解析器)を生成するためのツール(パーサジェネレータ

                                                  ANTLRを業務で活用した話 | フューチャー技術ブログ
                                                • Matzミーティングに潜入!Ruby開発者・まつもとゆきひろさんに聞くRuby秘話|ZOZO DEVELOPERS BLOG

                                                  こんにちは、広報の坂井(@hana_yonde)です! ZOZOテクノロジーズでは月に1度、技術顧問であるまつもとゆきひろさん(通称:Matz)とのオンラインミーティングを実施し、勉強会を行っています。 「社員なら誰でも参加自由!」ということで、ミーティングにお邪魔してきました!社員があれこれ聞いていたので、当日出た質問とMatzさんからの回答を抜粋してお届けしたいと思います。 Rubyの人気が低下…?日本のプログラマーのガラパゴス化についてー 最近、プログラミング言語の人気ランキングなどで「Rubyの順位が徐々に下がってきている」と感じることがあります。Rubyの人気がなくなってしまうと、日本のプログラマーがガラパゴス化するというか、世界から孤立してしまうんじゃないかなと思っているのですが、MatzさんはじめRubyを作っている方たちはどう考えていらっしゃるのでしょうか? Matz:ご質

                                                    Matzミーティングに潜入!Ruby開発者・まつもとゆきひろさんに聞くRuby秘話|ZOZO DEVELOPERS BLOG
                                                  • Python Tips: Python で main 関数を定義することのメリット

                                                    今回は Python のスクリプトにおいてエントリーポイントとなる main 関数を定義することのメリットについて説明します。 # わざわざ main 関数を定義してその中に処理を書く def main(): ... if __name__ == "__main__": main() Python では本来 main 関数を定義する必要はありませんが、経験者が書いたスクリプトではよく main 関数が書かれています。 筆者は Python を学び始めた頃にそのようなコードを見て「必要ないものをなぜわざわざ書くのだろう?」と疑問に思いました。 今回は筆者自身がかつて抱いたこの疑問に答えてみます。 尚、 main という名前を使うのはただの慣習です。 この名前の関数にしないといけない制約は特にありません。 本記事において、「 main 関数を定義する」というのは、正確には上のコードのように m

                                                      Python Tips: Python で main 関数を定義することのメリット
                                                    • Lispはなぜ神の言語と呼ばれるのか - SEむううみんのプログラミングパラダイス

                                                      古から存在するプログラミング言語Lisp。その通り名の一つに「神の言語」というものがある。 なんという甘美な響きだろうか。この名前だけで男子中学生は全員習得することを決心するだろう。そのくらいインパクトのある名前である。文部科学省はプログラミング教育を推進するにあたって、この通り名を公式に採用することを真剣に検討されると良いと思う。 さて、「神の言語」の勉強を始めてみて驚くだろう。どのあたりが神なのかよくわからないのだ。たしかに丸括弧は多い。多いが、それと神との関連性はよくわからない。 何か土着の信仰の話なのだろうか?あなたがそう戸惑うのも無理からぬことだ。 私自身、前からこのフレーズは聞いたことがあったが、あまり理解していなかった。そこで今回改めて調べてみたので共有しようと思う。 「神の言語」の由来 そもそも、Lispは神の言語だと誰が言い出したのか?どうやら海外でそのような歌が作られた

                                                      • GitHub - nanochess/bootLogo: Logo language in 508 bytes (x86 boot sector)

                                                        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 - nanochess/bootLogo: Logo language in 508 bytes (x86 boot sector)
                                                        • GitHub - HigherOrderCO/Kind: A next-gen functional language

                                                          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 - HigherOrderCO/Kind: A next-gen functional language
                                                          • A Tale of Yak Shaving: Accidentally Making a Language, for an Engine, for a Game

                                                            A Tale of Yak Shaving: Accidentally Making a Language, for an Engine, for a Game It's a wise saying, because we game developers have so much fun making the underlying foundations, that we never get around to adding the actual gameplay. This is an article about how badly I disregarded that advice, and what happened because of it. As you can guess, I made my own game engine. It was an gloriously unw

                                                            • 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

                                                              • ゲーム開発に使われるプログラミング言語 - SEGA TECH Blog

                                                                ゲーム=プログラム? みなさんこんばんは。セガゲームス開発技術部の林です。 長年、技術と名のつく部門で技術者をやっています。このブログも TECH とついているためぜひ何か情報を発信してみたいと考えていましたが、やっと順番が回ってきました。 これまでやってきたことを控えめに表現するとゲームタイトルを開発しているチームのお手伝いです。遠慮せずに表現すると、技術的に難易度の高い部分を引き受けて成功に導くのが役割です。 そのため、家庭用ゲーム・アーケードゲーム・スマートフォンアプリなどいろいろなタイプや規模のゲーム開発に触れる機会が数多くありました。そこで、今回ブログのテーマとしてはその全てに関わる内容をご紹介したいと思います。 ゲーム開発に使用するプログラミング言語について取り上げます。 プログラム上のテクニックや技術の詳細ではなく、実際の開発現場でどのプログラミング言語が何に使われているのか

                                                                • Cognition

                                                                  Lisp programmers claim that their system of s-expression code in addition to its featureful macro system makes it a metaprogrammable and generalized system. This is of course true, but there's something very broken with lisp: metaprogramming and programming aren't the same thing, meaning there will always be rigid syntax within lisp (its parentheses or the fact that it needs to have characters tha

                                                                  • Rustが最も人気のあるプログラミング言語トップ20に

                                                                    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                                                      Rustが最も人気のあるプログラミング言語トップ20に
                                                                    • GitHub - crablang/crab: A community fork of a language named after a plant fungus. All of the memory-safe features you love, now with 100% less bureaucracy!

                                                                      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 - crablang/crab: A community fork of a language named after a plant fungus. All of the memory-safe features you love, now with 100% less bureaucracy!
                                                                      • GitHub - robertmuth/Cwerg: The best C-like language that can be implemented in 10kLOC.

                                                                        Cwerg aims to be a complete "from-scratch" compiler for a C-like language. The frontend is WIP. The multi-target backend is fairly far along and can be used independently from the frontend. Documentation: Frontend Docs (misc. documentation) Cwerg Examples: Sexpr Syntax, Proposed Concrete Syntax Backend Docs (misc. documentation) Cwerg IR Examples (examples demonstrating backend API usage) Most com

                                                                          GitHub - robertmuth/Cwerg: The best C-like language that can be implemented in 10kLOC.
                                                                        • Juliaの速さの核心に迫る〜インタプリタ、コンパイラ、JITコンパイラ〜 - SEむううみんのプログラミングパラダイス

                                                                          新星プログラミング言語Julia。 Rubyの動的さとC言語の速度を両立させた、公認会計士の資格を取得したジャニーズJr.みたいな、そんなのアリかよって感じの言語だ。 Juliaの宣伝文句はすごい。引用してみよう。 僕らが欲しい言語はこんな感じだ。まず、ゆるいライセンスのオープンソースで、Cの速度とRubyの動的さが欲しい。Lispのような真のマクロが使える同図象性のある言語で、Matlabのように分かりやすい数学の記述をしたい。Pythonのように汎用的に使いたいし、Rの統計処理、Perlの文字列処理、Matlabの線形代数計算も要る。シェルのように簡単にいくつかのパーツをつなぎ合わせたい。チョー簡単に習えて、超上級ハッカーも満足する言語。インタラクティブに使えて、かつコンパイルできる言語が欲しい。 (そういえば、C言語の実行速度が必要だってのは言ったっけ?) こんなにもワガママを言った

                                                                          • zig言語でtomlパーサを書いてみた

                                                                            数ヶ月前にzig言語というやつの存在を知って、これはちょっと面白そうだなと思ったので、勉強がてらなにかやってみよう、と思っていた。ある日、tomlのパーサはどうだろうかと思い立ってしばらくやっていて(Ghost of Tsushima で作業が中断したりしつつ)、まあまあ出来上がってきたと思うので、現在のところのソースコードをgithubに置いておいた(https://github.com/jmuk/zig-toml)。 というわけで、zig言語をちょっと書いてみた感想を残しておく。なお、利用したのはzig 0.6.0なので、今後いろいろ変わってくる可能性もあることは強調しておきたい。 zig言語のよいところ・興味深いところ 型の扱いがzigでは興味深いところだった。zigはかなりいろんなところでcomptimeというマーカをつけてコンパイル時にコンパイラが事前処理をするようなことができる

                                                                              zig言語でtomlパーサを書いてみた
                                                                            • The Next 7000 Programming Languages

                                                                              1 Why Are Programming Languages the Way They Are? and Where Are They Going? In 1966 the ACM published Peter Landin’s landmark paper “The next 700 programming languages” [22]. Seven years later, Springer’s “Lecture Notes in Computer Science” (LNCS) was born with Wilfred Brauer as editor of the first volume [5]. Impressively, the contributed chapters of this first volume covered almost every topic o

                                                                                The Next 7000 Programming Languages
                                                                              • The Natural Number Game

                                                                                To play the new Lean 4 version of the game, click here; to play the old deprecated Lean 3 version of the NNG, click here. You will be redirected to the current Lean 4 version of the game in 15 seconds.

                                                                                • EndBASIC

                                                                                  EndBASICBASIC interpreter + DOS environment, reimagined. Launch interpreter EndBASIC is an interpreter for a BASIC-like language and is inspired by Amstrad's Locomotive BASIC 1.1 and Microsoft's QuickBASIC 4.5. Like the former, EndBASIC intends to provide an interactive environment that seamlessly merges coding with immediate visual feedback. Like the latter, EndBASIC offers higher-level programmi

                                                                                  新着記事