並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 173件

新着順 人気順

schemeの検索結果121 - 160 件 / 173件

  • Cirkoban: Sokoban meets cellular automata written in Scheme -- Spritely Institute

    Last week, we released a small puzzle game called Cirkoban. Cirkoban is the very first publicly accessible application developed by Spritely that features the Goblins distributed programming library running in web browsers. We bet big on Hoot, our Scheme-to-WebAssembly compiler, a little over a year ago in order to bring Goblins to the web. That bet is starting to pay off! In this post, we’ll talk

      Cirkoban: Sokoban meets cellular automata written in Scheme -- Spritely Institute
    • Lispって何?[Lisp入門の入門] - Qiita

      Lispとは Lispと聞いて、「は?それ何?」と思ったそこのあなた!是非この記事を読んでみてください! Lispは、人工知能プログラムやWebアプリ開発に使われてきています。 オライリー社の動物本と呼ばれる本の中でも、Lispは非常に印象的ですよね。 目が5つある象みたいなキャラクターでおなじみ。宇宙から来た動物みたいで、一度見たら忘れないはず。 出典: Land of Lisp 独特なプログラミング言語なので、一度やってみる価値があります。 この記事で入門の入門の文法を学べます。読みながら一緒に書いていきましょう! はじめに Common Lisp入門・基本などの記事がありますが、ここでは入門の入門です。 インストールから始まり、基本的な文法を一緒に書きながら学んでいきましょう。 これまでC,Java,Ruby,JavaScriptなどを書いたことがありますが、Lispはホントに特殊で

        Lispって何?[Lisp入門の入門] - Qiita
      • Matt Roelle | Fennel: The Practical Lisp

        04/08/2022 Fennel? Around 6 months ago, I discovered a little lisp called Fennel. It compiles to Lua, meaning it's extremely portable since Lua runs basically anywhere. Lua interop is seamless. It runs flawlessly on desktop, in the web, on mobile devices, gaming consoles and on microcontrollers to name a few. Lua is written in portable C code and embeddable by design, extending any game engine wit

        • Dak Language

          Play If you want to jump in and see what it looks like, explore the Dak Tour. Zen Full access to JavaScript. Be one with the host. No runtime. Participate in the library ecosystem. Perfect is the enemy of good. Versions are infinite. Be useful today. Survive to thrive. Be fast. Stay fast. JavaScript is ubiquitous. It's ecosystem is diverse and populated. Dak attempts to provide a path to leverage

            Dak Language
          • Gerbil Scheme

            Contribute!

            • What Remains Technical Breakdown | dustmop.io blog

              What Remains is a narrative adventure game for the 8-bit NES video game console, and was released in March 2019 as a free ROM, playable in emulator. It was created by a small team, Iodine Dynamics, over the course of two years of on and off development. It’s currently in the hardware phase as a limited batch of cartridges are being created from all recycled parts. The game plays out over 6 stages,

              • 10行LISP評価器の実装例(各言語まとめ) - Qiita

                筆者いつもの各言語お遊び記事です.【関連記事】その1,その2,その3 目的 (表)様々なプログラミング言語によるラムダ式(静的スコープ)実装のリファレンスとするため. (裏)ラムダ式プログラミングを実装レベルで布教するため.難解プログラミングじゃないやい. 【参考】ラムダ式プログラミング一時間体験講座(Python/Ruby/JavaScript同時並行版) LISP評価器の仕様 基本構文:lambda,if.Lisp-1のレキシカルスコープ.シンボルとして文字列を使用. 基本関数:=,+,-.値として整数が利用可能. 実行コードはJSONの配列構造.カレントディレクトリのsample.jsonから読み込み. 評価器本体で10行程度(1行80字以下目安,基本関数適用やユーティリティ関数定義は除く). 実行コードは基本的にS式表現と同じであり,構文・関数名と共にSchemeのサブセット仕様と

                  10行LISP評価器の実装例(各言語まとめ) - Qiita
                • つい忘れて調べるXcodeの設定〜スキーム追加編〜 - Qiita

                  1.はじめに 仕事でBuild Target、Schemeの追加をする時、毎回忘れてググって調べるという悪循環を繰り返します。このスパイラルから抜け出る為に自分用の簡易的なHowToを備忘録兼ねて残します。 他にも類似記事はありますが、参考になればと思います。 各設定の詳細については、知識不足であったり、補足が足らないところもあればコメントお願いいたします。 2.環境 Xcode10.1 3.Build Target、Build Scheme、 BuildConfigurationとは? まず、いつもこの辺りがうやむやになってしまっているので一度整理します。 ・Build Targetとは? 新規プロジェクトを追加した際は自動で1つ作られています。1つのビルド情報についてのかたまりのようなもの。 こいつを複数、例えばdebug、release,staging用と作れば、BuildSetti

                    つい忘れて調べるXcodeの設定〜スキーム追加編〜 - Qiita
                  • ハッカーと画家 / jmuk - Message Passing

                    そもそもあんまりそういう助言というものをもらった記憶がないなあ。人の話を聞かないタチで聞き流していたのかもしれないが。 英語で書くか、日本語で書いてから翻訳するか 英語よりも日本語……という話で思い出したけど、大学院生のとき、英語で文章(論文とか)を書くときの指導として「なるべく最初から英語で書いてなれたほうがいい」という指導と、「日本語でまず書いてみて論理構成を検証するべし。それから英語に訳すといい」という指導があるようにおもう。で、自分はわりと後者を聞かされていたが、これは誤りだった……というと語弊があるが、自分には合わなかったな、という結論をえた。 後者の意図はわからなくもない。構成がしっかりしているか、話の理路がたっているか、をただしく検証するべし、というのはただしいし、英語が苦手な状況でいきなり書き始めても語学力の低さに足を引っ張られてそういうことがうまくできないことがある、とい

                      ハッカーと画家 / jmuk - Message Passing
                    • Common Lisp for shell scripting - simonsafar.com

                      ... let's use SBCL instead of bash!. Objective Shell scripts are... just programs. Written in a rather ugly programming language, that was nevertheless designed to be as similar to actual UNIX command invocations as possible (given how it is actual UNIX command invocations for the most part). Using any other language (e.g. Python) definitely comes with some downsides: if most of what you're doing

                      • #Script Lisp

                        #Script is designed as a small, expressive and wrist-friendly dynamic scripting language that for maximum familiarity is modelled after the world's most popular and ubiquitous scripting Language, JavaScript. Its minimal syntax was inspired by other small but powerful languages which heavily utilizes functions instead of adopting a larger language grammar defining different bespoke syntax for langu

                        • GitHub - cxxxr/valtan: Common Lisp to JavaScript 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 - cxxxr/valtan: Common Lisp to JavaScript compiler
                          • Scheme in Scheme on Wasm in the browser -- Spritely Institute

                            Hey, folks! Today we want to talk about the wonderful read-eval-print-loop (REPL). Thanks to WebAssembly (Wasm), it's becoming increasingly common for programming language websites to embed a REPL in which passersby can easily evaluate code and get a feel for the language without having to install anything on their computer. We'd like to do the same thing for our language of choice, Guile Scheme,

                              Scheme in Scheme on Wasm in the browser -- Spritely Institute
                            • (glisp)

                              A Lisp-based Design Tool Bridging Graphic Design and Computational Arts

                                (glisp)
                              • Lispマル非入門 - 新・日々録 by TRASH BOX@Eel

                                コンピュータは電子計算機とも訳されるように計算に用いるのが本流である、という信念*1の元に、私はちょっとした計算にもパソコンを用いている。 当然ながら*2計算にはLisp処理系のREPLを使用する。*3 ちょっとした計算にてLisp処理系のREPLを用いるメリットは、例えば何かを単純に足し引きする時に、足し引きする値ごとに演算子を書かなくて済むのである。 私はよく買い物の計画を練るのにREPLを用いる: ; ルーターのお守りを任されたけど使い方が分からん。 ; 入門書でも読もうかな。 (+ 4730 ; 978-4839965402 ) ; => 4730 ; そういえば新人向けのLinux入門書を見繕わないと。 ; この辺りの本とかどうだろう? (+ 4730 ; 978-4839965402 1980 ; 978-4048913928 2970 ; 978-4797380941 ) ;

                                  Lispマル非入門 - 新・日々録 by TRASH BOX@Eel
                                • Structure and Interpretation of Computer Programs, Comparison Edition

                                  The text of the original SICP 2nd edition is licensed by Harold Abelson and Gerald Jay Sussman under a Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA). The text of the JavaScript adaptation is licensed by Harold Abelson, Gerald Jay Sussman, Martin Henz, and Tobias Wrigstad, also under CC BY-SA. The figures in the JavaScript adaptation are derived from figures created b

                                  • LambdaLisp - A Lisp Interpreter That Runs on Lambda Calculus

                                    LambdaLisp is a Lisp interpreter written as an untyped lambda calculus term. The input and output text is encoded into closed lambda terms using the Mogensen-Scott encoding, so the entire computation process solely consists of the beta-reduction of lambda calculus terms. When run on a lambda calculus interpreter that runs on the terminal, it presents a REPL where you can interactively define and e

                                      LambdaLisp - A Lisp Interpreter That Runs on Lambda Calculus
                                    • GitHub - kspalaiologos/malbolge-lisp: A lightweight (350MB) Lisp interpreter in Malbolge Unshackled, often dubbed the hardest turing complete programming language.

                                      Malbolge is a public domain esoteric programming language. It was specifically designed to be almost impossible to use, via a counter-intuitive 'crazy operation', trinary arithmetic, and self-modifying code. It builds on the difficulty of earlier, challenging esoteric languages like Brainfuck, but takes this aspect to the extreme. Despite this design, it is possible to write useful Malbolge progra

                                        GitHub - kspalaiologos/malbolge-lisp: A lightweight (350MB) Lisp interpreter in Malbolge Unshackled, often dubbed the hardest turing complete programming language.
                                      • #:g1: M式の魅力の無さについて

                                        LispといえばS式ですが、S式について語られる際には大抵はM式も一緒に話題にのぼります。 M式は実際の所、正式な仕様は存在しないので処理系製作者が独自に拡張したものをM式としていたことが多いようですが、今回は、そんなM式の魅力の無さについて考えてみましょう。 魅力の無さ その1: 別に中置記法ではない 前置記法のS式を比較対象とするからか、M式は中置記法といわれますが、中置の文法ではっきり決まっていそうなのは関数定義のdefineの=/≡位と、conldで使われる→位で、あとは前置ですし、ユーザー定義の関数は前置です。 後のプログラミング言語のようにユーザーが中置の文法を定義し結合度を定義する、という機構もありません。 M式の構文自体は、当時のFORTRAN I的に書けたら良いのではないか、という程度の構想だったようですが、FORTRAN Iの構文自体がそれ程洗練されたものでもありません

                                        • Lisp implementations

                                          Tiger got to hunt, Bird got to fly; Lisper got to sit and wonder, (Y (Y Y))? Tiger got to sleep, Bird got to land; Lisper got to tell himself he understand. -- Kurt Vonnegut, modified by Darius Bacon

                                          • Common Lisp Style Guide | Common Lisp

                                            Introduction This is an opinionated guide to writing good, maintainable Common Lisp code. This page is largely based on Google’s Common Lisp Style Guide and Ariel Networks’ own guide. Contents General Guidelines Use Libraries Look for libraries that solve the problems you are trying to solve before embarking on a project. Making a project with no dependencies is not some sort of virtue. It doesn’t

                                            • cakelisp

                                              Cakelisp Cakelisp master repository Features Terms Building Cakelisp itself Linux MacOS Windows Building from Visual Studio Dependencies Building a project using Cakelisp Learning Cakelisp Tooling support Build systems Debugging Similar applications/languages This is a programming language where I can have my cake and eat it too. Cakelisp is a compiled language ideal for high performance, iterativ

                                                cakelisp
                                              • Emacs Lisp で実装する、9つのフィボナッチ関数 - Qiita

                                                概要 基本的に Emacs Lisp (または、Lisp 自体)をあまり知らない方向けです。 Emacs Lisp でどんなコードが書けるのかを知って、興味を持ってもらえればと書きました。 さて、Lisp はマクロで構文を拡張出来る事が特徴ですが、もちろん Emacs Lisp も例外ではなく、フィボナッチ関数を色々な書き方で実装する事が出来ます。 今回は、それ以外にも、ジェネレータ版、遅延評価版、果てはスタックマシーンのコードを直接記述する方法まで、取り揃えました。 (それぞれの関数は、簡単の為、引数に負の値が指定されない事を前提にしています。) 内訳は以下の通りです。 再帰呼び出し系 fib-tail-recursion fib-double-recursion ループ系 (マクロを展開すると結局は同じ様なコードになるけど、色々な書き方が出来る) fib-while fib-dotim

                                                  Emacs Lisp で実装する、9つのフィボナッチ関数 - Qiita
                                                • お気楽 Scheme プログラミング入門

                                                  これらの命令は Henderson の SECD マシンを参考にしていますが、まったく同じではありません。micro Scheme の仕様にあわせて、新しい命令を追加したり不要な命令を削除しています。なお、今回作成する micro Scheme の仕様は、拙作のページ Scheme で作る micro Scheme で作成したインタプリタと同じです。また、今回のプログラムでもエラーチェックはほとんど行っていません。あしからずご了承ください。 命令の動作は 4 つのレジスタ (S, E, C, D) の状態遷移で表すことができます。ここで、各命令の動作について詳しく説明することにしましょう。各レジスタの値はドットリストで表すことにします。 ●ld ld はレジスタ E から局所変数の値 v を求めてスタックに積む命令です。 s e (ld (i . j) . c) d => (v . s)

                                                  • GitHub - Shirakumo/trial: A fully-fledged Common Lisp game engine

                                                    Trial is a game engine written in Common Lisp. Unlike many other engines, it is meant to be more of a loose connection of components that can be fit together as required by any particular game. Please note that the engine is still in flux. The project may change heavily as new constraints become clear. As such, there is no guarantee for API stability at this point. Documentation is available howev

                                                      GitHub - Shirakumo/trial: A fully-fledged Common Lisp game engine
                                                    • GitHub - abuseofnotation/termlisp: A lisp dialect based on pattern matching and term rewriting

                                                      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 - abuseofnotation/termlisp: A lisp dialect based on pattern matching and term rewriting
                                                      • Common Lispの生みの親、スコット・ファールマン博士へのインタビュー

                                                        PLDBより。 BY ハッサム・アルハジャジ はじめに 2022年11月11日 — スコット・ファールマン博士は、カーネギー メロン大学コンピュータ・サイエンス学部の名誉教授です。彼はコンピュータ・プログラミング言語の専門家であり、元祖ニューラル・ネットワークのジェダイマスターでもあります。彼はCommon Lisp言語のコア開発者の一人であり、現在は人工知能の研究を行っています。ファールマン博士は、謙虚な科学者であると同時に、非常に親切な人物です。また、インターネット初の顔文字(横向きの笑顔)の発案者でもあります :-) インタビュー ハッサム: Lispの優れたアイデアの中で、まだ主流になっていないものはありますか? ファールマン博士: Lispの自動ストレージ割り当てとガベージコレクションが主流になるには長い時間がかかりました。これは「巧妙」以上のものであり、最も微妙で発見や修正が困

                                                          Common Lispの生みの親、スコット・ファールマン博士へのインタビュー
                                                        • GitHub - ytakano/baremetalisp

                                                          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 - ytakano/baremetalisp
                                                          • xorvoid

                                                            As you can see, "quote" is the only form that requires special handling by the evaluator. Both "pop" and "push" can be implemented as ordinary built-ins. The syntax forms are not strictly required, but they make coding much more manageable. Thunking and Forcing () In Forsp, parenthesis grouping is used as a thunking operator. As an example: (foo bar) is the thunked-computation of: foo bar A thunk

                                                            • C++のテンプレートでLISPを作った話

                                                              C++のテンプレートでLISPを作った話 はじめに 1年半ほど前、C++のテンプレートでLISPを実装した (コード)。 C++コードの「コンパイル時」にLISPが動くというものだ。 実行時にはコンパイル時に作られた文字列定数を表示するだけだ。 どう作ったか覚えているうちに日本語の文章を書こうと思っていたのに、 すっかり時間が経ってしまいもはやほとんど覚えていないが、 完全に忘れてしまう前に何かしら書いておこうと思う。 超高速C++テンプレート入門 C++に詳しくない人向けにテンプレートのすごく雑な説明をする。 私自身C++に詳しくないので、多分に間違いが含まれているだろう。 C++に詳しい方は生暖かい目で見守ってほしい。 単純な型 C++の変数には型がある。 整数型の変数には整数しか代入できない。 文字列型の変数には文字列しか代入できない。 int n = 42; // 整数型の変数 s

                                                              • FranzとLispの歴史

                                                                IEEEXploreより。 フリッツ・クンツェ; ローレン・クンツェ 概要: 1984年、カリフォルニア大学バークレー校の比較的新しいコンピュータ・サイエンス学部で数学を専攻していた大学院生のフリッツ・クンツェは、数人の学生仲間と1人の教授とともにFranz社を設立した。彼らの使命は、人工知能やエキスパートシステムのアプリケーションに一時期世界で最も広く使われていたLisp(元々はLISP for LISt Processor)と呼ばれるプログラミング言語を商品化することだった。 今日、Lispはフリッツの言葉を借りれば「ドードーの道」を歩んでいるように見えるが、彼はLispの静かな復活が進行中であると主張する。しかし、現代風にアレンジすれば、人工知能(AI)の分野でグローバルな競争力を獲得する、またとない大きなチャンスになる。以下は、フリッツの娘であるローレン・クンツェが行ったフリッツへ

                                                                • Hoot: Scheme to WebAssembly -- Spritely Institute

                                                                  Hoot is a Spritely project which provides a full-featured WebAssembly (Wasm) toolkit in Scheme. Hoot includes a Scheme to Wasm compiler, allowing Scheme code to run in recent browsers as a first-class citizen. Hoot requires no external tools and provides its own Wasm assembler and linker, and additionally contains a fully featured development environment including a disassembler, interpreter, and

                                                                    Hoot: Scheme to WebAssembly -- Spritely Institute
                                                                  • Overview - Lisp interpreter in Rust

                                                                    Overview The lisp-rs project implements an interpreter, in Rust, for a small subset of Scheme, a Lisp dialect. The main goal of this document is to make sure the reader understands the inner details of how the interpreter was implemented. The project was inspired by Peter Norvig's article (How to Write a (Lisp) Interpreter (in Python)) and the book Writing An Interpreter In Go. This document serve

                                                                    • Štar: an iteration construct for Common Lisp

                                                                      2024-05-15 :: programming, lisp Štar is a concise and extensible iteration construct for Common Lisp which aims to be pleasant to use, easy to understand, fast if needed, general, and not to look like Fortran. Common Lisp has multiple iteration constructs: mapping functions such as mapcar, special-purpose constructs such as dotimes and dolist, the general but somewhat clumsy construct which is do

                                                                      • Kandria

                                                                        Ever been caught backtracking for ages, trying to figure out where to go next? In Kandria there's no risk of that -- wherever you want to go, you can, right from the start. Following a narrow tunnel among the rubble you are lead to a large underground lake, brimming with rare fish. With your trusty sword-turned-fishing-rod, you'll have your encyclopedia filled out in no time. And better yet, with

                                                                          Kandria
                                                                        • Compiling a Lisp: Primitive unary functions

                                                                          first – previous Welcome back to the “Compiling a Lisp” series. Last time, we finished adding the rest of the constants as tagged pointer immediates. Since it’s not very useful to have only values (no way to operate on them), we’re going to add some primitive unary functions. “Primitive” means here that they are built into the compiler, so we won’t actually compile the call to an assembly procedur

                                                                            Compiling a Lisp: Primitive unary functions
                                                                          • malでかんたんなテンプレートエンジンを書いてみた - Qiita

                                                                            言語非依存なテンプレートエンジンがあったらいいなと昔からボンヤリ考えていた(切実にほしいという程ではない)のですが、mal(Make a Lisp)で作ったらどうだろうと思って試しにやってみました。「なんかやってみたくなってやってみた」系の記事です。 Lisp を書くのは年に数回という感じの人が書いていますので、拙いところは大目に見ていただければと思います。 ちなみに去年のアドベントカレンダーではこんなのを書きました。 できたもの sonota88/mal をサブモジュールとして使っているので、 git clone --recursive ... でクローンする必要があります。 Ruby版 Ruby 版だとこんな感じ。 template = <<TEMPLATE <h1>品目一覧</h1> <p>購入日: <%= date %></p> <table> <tr> <th>ID</th> <

                                                                              malでかんたんなテンプレートエンジンを書いてみた - Qiita
                                                                            • 謎の言語Forthが謎なので実装した

                                                                              pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation

                                                                                謎の言語Forthが謎なので実装した
                                                                              • consult.el の非同期コマンドの仕組み - ワタタツの日記!(2022-12-09)

                                                                                ☆ consult.el の非同期コマンドの仕組み このエントリはEmacsのAdvent Calendar 2022の9日目用です。 以前の記事「はてなブックマーク用のconsultコマンドを作っている」で書いた consult-hatena-bookmark を改良するにあたり、今年夏から秋にかけて、(自分としては)かなり consult.el のコードを読みました。 そのコードリーディングの中で、consult.el が非同期な候補の読み込みをどうやっているのか、だいぶわかったのでご紹介します。 公式で非同期で読んでいる consult コマンドのまねをしたい 公式で用意されている consult コマンドの中で、候補を非同期で読んでいるタイプのものは次などがあります。 consult-grep consult-ripgrep consult-man consult-find コマン

                                                                                  consult.el の非同期コマンドの仕組み - ワタタツの日記!(2022-12-09)
                                                                                • SectorLISP Now Fits in One Sector

                                                                                  Update: Please read our most recent SectorLISP v2 announcement: LISP with GC in 436 bytes The SectorLISP project has achieved its goal of creating a LISP that's tiny enough to fit in the master boot sector of a floppy disk. To the best of our knowledge, this is the tiniest LISP to date. Since a master boot record is only 512 bytes, that means LISP is now tied with FORTH to be the most lightweight

                                                                                  新着記事