並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 49件

新着順 人気順

"programming language"の検索結果1 - 40 件 / 49件

  • 新刊『型システムのしくみ』の発売を4/18に予定しています

    ご来店ありがとうございます。新刊発売予定のお知らせです。 2025年4月18日(金)、遠藤侑介著『型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語』の発売を予定しています。なお、2025年4月16日(水)から開催されるRubyKaigi 2025会場のBOOKSTOREにて、著者サイン会に合わせた先行発売を予定しています(紙書籍のみ。部数には限りがあります)。ジュンク堂池袋本店様でも4月16日から販売していただける予定です。 『型システムのしくみ』について 多くのプログラミング言語では、さまざまな場面で「型」が登場します。特に静的型付き言語では、プログラムを実行せずに潜在的な問題をあぶり出す「型検査」の有用性が広く知られるようになりました。最近では動的型付き言語でも、型ヒントや静的解析ツールとして、この機能を部分的に取り入れる動きがあります。 型検査の背

      新刊『型システムのしくみ』の発売を4/18に予定しています
    • 「Rust」が10周年--エレベーター故障から始まったシステムプログラミング言語の歴史

      Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2025-05-30 07:00 オープンソース運動の創始者の1人であるEric S. Raymond氏は、次の言葉が有名だ。「全ての良いソフトウェアは開発者の個人的な希望から始まる」。Mozillaのソフトウェア開発者であるGraydon Hoare氏がプログラミング言語「Rust」の開発に着手したときも、まさにそうだった。 2006年、Hoare氏は自宅マンションのエレベーターがたびたび故障することを不満に思っていた。同氏は後に、「コンピューターに携わるわれわれが、故障しないエレベーターも作れないとは、ばかげた話だ」と語っている。同氏は、エレベーターが頻繁に故障する原因として、制御ソフトウェアのメモリーエラーを疑っていた。このソフトウェアは「C」または「

        「Rust」が10周年--エレベーター故障から始まったシステムプログラミング言語の歴史
      • 令和の時代にPerlに入門する - ハンドルネームの敬称は省略できます

        こんにちは、id:rokuokunです。 Perlとの出会いは突然やってきます。 いつ求められてもサッと対応できるように、いち早くPerlを書けるようになっておきましょう。 perl --version 今回入門するにあたり使用するバージョンは Perl 5.40.0 です。 インストール作業については割愛しますが、困ったらplenvを使っておけばいいと思います。 ❯ perl --version This is perl 5, version 40, subversion 0 (v5.40.0) built for darwin-2level Copyright 1987-2024, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Pu

          令和の時代にPerlに入門する - ハンドルネームの敬称は省略できます
        • 型システムを知りたい人のための型検査器作成入門

          @ 関数型まつり2025(2025-06-14) https://fortee.jp/2025fp-matsuri/proposal/5699c262-e04d-4f58-a6f5-34c390f36d0d

            型システムを知りたい人のための型検査器作成入門
          • Turing Machines

            ALAN M. TURING 23 June 1912 – 7 June 1954 F | | P(T) R P(u) R P(r) R P(i) R P(n) R P(g) R P( ) R P(M) R P(a) R P(c) R P(h) R P(i) R P(n) R P(e) R P(s) R -> B B | | L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) -> F In 1928, David Hilbert, one of the most influential mathematicians of his time, asked whether it is possible to create an algo

              Turing Machines
            • 型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語

              紙書籍をお届けします(PDFがついてきます) PDFのみ必要な場合は、こちらからPDF単体を購入できます 通常はご注文から2~3営業日で発送します。 年末年始や大型連休など、1週間から10日程度、配送のお休みをいただく場合があります。詳しくはお知らせをご覧ください。 型システムがようやくわかった! 遠藤侑介 著 184ページ A5判/1色刷 ISBN:978-4-908686-20-7 2025年4月15日 第1版第1刷 現代の開発環境では、エディタ上でコードを書いている最中から、実行もせずにエラーが判明することがあります。コードの補完でも、文脈に適した候補が魔法のように提示されてきます。こうした機能で中心的な役割を果たすのが「型システム」です。 では、なぜ型システムはプログラムのエラーを早期に発見したり、適切な補完候補を絞り出せたりするのでしょうか? 背景となる数学の理論を教科書で学ぶ以

                型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語
              • Lua の代替スクリプト言語まとめ

                Lua の代替スクリプト言語 組み込み用のスクリプト言語として使える Lua はライトな反面、動的型付けや 1-based index といった仕様がボトルネックになりがちです。そうした状況の中、相応の短所も抱えた Lua の代替となりえる C/C++ 開発用組み込み用のスクリプト言語が多く開発されています。しかしながら、それらを横並びで比較及び評価した記事をあまり見かけませんでした。そこで、本記事では AltLua となりうる言語を取り上げ、それぞれの特徴を検証していきます。 Lua 向けトランスパイラ言語 コンパイルして Lua を出力するトランスパイラ言語について。Lua VM 上で動作するため、既存の Lua ライブラリの利用が可能な他、軽量で高速な強みを十分に生かせることが期待できます。 github stars やリリースなどの情報は 2025 年現時点のものを記載します。 M

                  Lua の代替スクリプト言語まとめ
                • tbsp - tree-based source-processing language

                  tbsp - tree-based source-processing language tbsp is an awk-like language that operates on tree-sitter syntax trees. to motivate the need for such a program, we could begin by writing a markdown-to-html converter using tbsp and tree-sitter-md [0]. we need some markdown to begin with: # 1 heading content of first paragraph ## 1.1 heading content of nested paragraph for future reference, this markdo

                  • We need visual programming. No, not like that.

                    SummaryMost visual programming environments fail to get any usage. Why? They try to replace code syntax and business logic but developers never try to visualize that. Instead, developers visualize state transitions, memory layouts, or network requests. In my opinion, those working on visual programming would be more likely to succeed if they started with aspects of software that developers already

                    • - Curry Programming Language

                      -- Returns the last number of a list. last :: [Int] -> Int last (_ ++ [x]) = x -- Returns some permutation of a list. perm :: [a] -> [a] perm [] = [] perm (x:xs) = insert (perm xs) where insert ys = x : ys insert (y:ys) = y : insert ys Curry is a declarative multi-paradigm programming language which combines in a seamless way features from functional programming (nested expressions, higher-order f

                        - Curry Programming Language
                      • Why Go's Error Handling is Awesome

                        Go's infamous error handling has caught quite the attention from outsiders to the programming language, often touted as one of the language's most questionable design decisions. If you look into any project on Github written in Go, it's almost a guarantee you'll see the lines more frequently than anything else in the codebase: if err != nil { return err } Although it may seem redundant and unneces

                        • Implementing Logic Programming

                          Most of my readers are probably familiar with procedural programming, object-oriented programming (OOP), and functional programming (FP). The majority of top programming languages on all of the language popularity charts (like TIOBE) support all three to some extent. Even if a programmer avoided one or more of those three paradigms like the plague, they’re likely at least aware of them and what th

                            Implementing Logic Programming
                          • The Vine Programming Language

                            The Vine Programming Language description Docs GitHub Discord

                            • GitHub - aspizu/goboscript: goboscript is the Scratch compiler

                              Installation and documentation goboscript is a text-based programming language that compiles to Scratch. Write Scratch projects in text, and compile it into a .sb3 file -- which can be opened in the Scratch editor, TurboWarp or be uploaded to the Scratch website. goboscript makes developing advanced Scratch projects FAST. goboscript syntax is concise and easy to read. Use a version-control system

                                GitHub - aspizu/goboscript: goboscript is the Scratch compiler
                              • GitHub - actonlang/acton: The Acton Programming Language

                                Acton is a general purpose programming language, designed to be useful for a wide range of applications, from desktop applications to embedded and distributed systems. In a first approximation Acton can be described as a seamless addition of a powerful new construct to an existing language: Acton adds actors to Python. Acton is a compiled language, offering the speed of C but with a considerably s

                                  GitHub - actonlang/acton: The Acton Programming Language
                                • zinc: the zinc systems programming language

                                  #Zinc, a systems programming language prototype Zinc is my attempt at a low-level systems programming language prototype. I found this parser, called Owl mirrored here, that generates parsers for visibly pushdown languages. Visibly pushdown languages are those where recursion to other grammar productions must be guarded by tokens which can only be used for that purpose. While somewhat limiting, th

                                  • Tree Calculus

                                    Tree Calculus was discovered by Barry Jay. Check out his blog! This website and demos are maintained by Johannes Bader. See here for more background, resources and contact info. Tree Calculus captures the essence of computation Intensional Tree Calculus can perform program analysis without quotation: The ability to reflect on programs is built right into the reduction rules. This means that anythi

                                    • The Dusa Programming Language

                                      Dusa is a logic programming language designed by Rob Simmons and Chris Martens, the first implementation of finite-choice logic programming. If you’ve heard of Datalog (as implemented in systems like Soufflé), you may want to start by reading about how Dusa is datalog. If you’ve heard of answer set programming (as implemented in systems like Potassco), you may want to start by reading about how Du

                                      • GitHub - maurymarkowitz/RetroBASIC: BASIC interpreter in lex/yacc/c, designed to run practically any early program no matter the dialect - HP, DEC, Dartmouth and others will all run in RetroBASIC.

                                        RetroBASIC is an interpreter for programs written using 1970s/80s variations of BASIC. It is patterned mostly on MS-BASIC as seen on Commodore machines and Apple II (and many others). It also includes the alternate string manipulation methods from Dartmouth BASIC v4 and HP Timeshared BASIC, the latter of which was widely used in early microcomputer interpreters. The ultimate goal is to support alm

                                          GitHub - maurymarkowitz/RetroBASIC: BASIC interpreter in lex/yacc/c, designed to run practically any early program no matter the dialect - HP, DEC, Dartmouth and others will all run in RetroBASIC.
                                        • Where Should Visual Programming Go? @ tonsky.me

                                          There’s a wonderful article by Sebastian Bensusan: “We need visual programming. No, not like that.” (the dot is part of the title ¯\_(ツ)_/¯). In it, Sebastian argues that we shouldn’t try to replace all code with visual programming but instead only add graphics where it makes sense: Most visual programming environments fail to get any usage. Why? They try to replace code syntax and business logic

                                            Where Should Visual Programming Go? @ tonsky.me
                                          • GitHub - codr7/hacktical-c: A practical hacker's guide to the C programming 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 - codr7/hacktical-c: A practical hacker's guide to the C programming language.
                                            • MoonBit compiler is available on GitHub | MoonBit

                                              We’re excited to announce that the MoonBit compiler, complete with a Wasm backend, is now open source and available on GitHub! Initially developed as a private project over the past two years, this approach allowed us to move quickly and focus on building a strong foundation. Now, we’re ready to gradually open the doors and invite the community to help shape its future. The source code is released

                                                MoonBit compiler is available on GitHub | MoonBit
                                              • Gleam is Pragmatic

                                                I’ve spent the past several years working with functional programming languages in my free time – primarily Haskell and OCaml. I love both languages but also find aspects of each frustrating. Haskell is terse and elegant with type classes providing a powerful mechanism for ad-hoc polymorphism. However, it can also be confusingly implicit and I personally find lazy evaluation to have more downsides

                                                • GitHub - VineLang/vine: an experimental new programming language based on interaction nets

                                                  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 - VineLang/vine: an experimental new programming language based on interaction nets
                                                  • GitHub - mpatajac/jillc: Compiler for the Jill programming language (an alternative to Jack from the nand2tetris course)

                                                    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 - mpatajac/jillc: Compiler for the Jill programming language (an alternative to Jack from the nand2tetris course)
                                                    • GitHub - faiface/par-lang: Toy process language with an interactive playground for exploring concurrency

                                                      Par (⅋) is an experimental concurrent programming language. It's an attempt to bring the expressive power of linear logic into practice. 📚 Don't worry if you don't know anything about logic, you might have interacted with it without knowing anyway. Functional programming is based on intuitionistic logic. Rust's ownership system is based on affine logic, which is very similar to linear logic. The

                                                        GitHub - faiface/par-lang: Toy process language with an interactive playground for exploring concurrency
                                                      • GitHub - aartaka/pretty.c: Making C Look ✨Pretty✨and Lua/Lisp/Python-esque

                                                        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 - aartaka/pretty.c: Making C Look ✨Pretty✨and Lua/Lisp/Python-esque
                                                        • Acton Programming Language

                                                          Distributed cloud systems made easy Acton is a fault tolerant distributed programming platform for building mission critical systems. The easy way. Explore More ⇩ Distributed Computing built in Write programs that seamlessly run as a distributed system over an entire data center or region. All without a single line of RPC code. Durable State Acton automatically persists the state of your applicati

                                                          • Announcing dotnet run app.cs - A simpler way to start with C# and .NET 10 - .NET Blog

                                                            We are super excited to introduce a new feature that was released as part of .NET 10 Preview 4 that makes getting started with C# easier than ever. You can now run a C# file directly using dotnet run app.cs. This means you no longer need to create a project file or scaffold a whole application to run a quick script, test a snippet, or experiment with an idea. It’s simple, intuitive, and designed t

                                                              Announcing dotnet run app.cs - A simpler way to start with C# and .NET 10 - .NET Blog
                                                            • Github - denismm/mystical_ps

                                                              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 - denismm/mystical_ps
                                                              • Koto Programming Language

                                                                A lightweight scripting language for Rust applications. About Docs Install Playground Docs Playground

                                                                • https://dl.acm.org/doi/10.1145/3689746

                                                                  • GitHub - paulmooreparks/ClifferBasic: ClifferBasic is a sample program for the Cliffer CLI library that implements a very simple BASIC interpreter environment as a REPL (Read-Eval-Print Loop). This project demonstrates the usage of the Cliffer CLI library

                                                                    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 - paulmooreparks/ClifferBasic: ClifferBasic is a sample program for the Cliffer CLI library that implements a very simple BASIC interpreter environment as a REPL (Read-Eval-Print Loop). This project demonstrates the usage of the Cliffer CLI library
                                                                    • Rigorous Nonsense - Implementing Brainfuck

                                                                      APL is a pretty great language for quickly iterating on program architecture. In particular, here is a quick comparison of a couple brainfuck implementations. The brainfuck virtual machine is essentially a minimal Harvard architecture: we have an instruction space, a data tape, and indices into each. If you are unfamiliar with the (tiny!) specification, take a look at brainfuck’s official website.

                                                                      • Programming languages should have a tree traversal primitive

                                                                        There should be a control flow construct in programming languages that can handle tree-like traversal in a nice way, similar to how for/foreach loops can handle linear traversal. It's a bit of a missing gap in the current set of control flow constructs most languages these days have settled on. Its a thing I end up having to do *all the time* and it seems like there should be some shortcuts for it

                                                                          Programming languages should have a tree traversal primitive
                                                                        • Functional programming languages should be so much better at mutation than they are

                                                                          Functional programming languages should be so much better at mutation than they are A lot of people think that functional programming is mostly about avoiding mutation at all costs. Even though persistent data structures are great and there is definitely some truth to it, this view just doesn't really hold up in reality. Many data structures fundamentally require some form of mutation (e.g. union

                                                                            Functional programming languages should be so much better at mutation than they are
                                                                          • Some programming language ideas

                                                                            Published on 21-02-2025 This post is me writing down some ideas for programming languages or programming language features. Mainly to get them out of my head into the world without having to write an actual compiler for them 😅 I start by providing some context and then present my ideas. Hopefully it’s interesting. Explanation of existing concepts Here are a few short explanations and references t

                                                                            • Implementing Type Systems as Macros

                                                                              There’s a neat paper Type Systems as Macros by Chang, Knauth, and Greenman [1] that describes how to implement a typed language using an untyped host language and macro expansion. The paper is neat, but I found the code hard to follow—the paper uses a compact notation that’s convenient for print, but not so much for reproducing on one’s own. This post is my attempt to implement and explain in more

                                                                              • Why Algebraic Effects?

                                                                                Why Algebraic Effects Algebraic effects1 (a.k.a. effect handlers) are a very useful up-and-coming feature that I personally think will see a huge surge in popularity in the programming languages of tomorrow. They’re one of the core features of Ante, as well as being the focus of many research languages including Koka, Effekt, Eff, and Flix. However, while many articles or documentation snippets tr

                                                                                  Why Algebraic Effects?
                                                                                • 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