Lisp

関数型プログラミングとは何か?【Land of Lisp】

関数型プログラミングとは何か? 副作用について サンプルコード 高階プログラミング 関数型プログラミングのメリット バグが少なくなる 数学に近い lispが高い評価を受けていたのは、研究の道具として計算機科学の世界で最も複雑な種類の問題を解くために使…

Lispの配列とリストの違い

lispで配列を作成する方法 Lispで配列を作成するには、make-array関数を使用します。例えば、次のようにして3x3の整数配列を作成できます。 (setq my-array (make-array '(3 3) :initial-element 0)) ここで、'(3 3)は配列の寸法を指定し、:initial-element…

lispの連想配列の使い方【alist,参照,追記,編集,削除】

Lispにおいて、連想配列はalist(Association List)と呼ばれます。alistは、リストの要素がキーと値のペアで構成されており、キーに対応する値を返すことができます。 以下に、alistを使った参照、追記、編集、削除するための構文とサンプルコードを紹介し…

lispのloopの使い方

Lispのloopコマンドは、反復処理を行うための非常に柔軟なコマンドです。以下は、基本的なloopコマンドの構文です。 (loop [var1 init1 step1] [var2 init2 step2] ... [finally result] body...) ここで、var1、var2などの変数は、反復処理中に使用する変数…

lisp lambdaの使い方

lispのlambda関数の使用方法 lambdaがしていること lispでlambdaが大事なわけ Table of contents generated with markdown-toc lispのlambda関数の使用方法 Lispのlambda関数は、匿名の関数を定義するために使用されます。これは、他の関数に引数として渡す…

lispのif文の使い方【cond,whe,unless,progn】

lispのif文の使い方 lispのif文の特殊性 lispのprognの使い方 whenとunlessとcond when unless cond lispのif文の使い方 Lispのif文は以下のように使われます。 (if 条件 式1 式2) この式は、条件が真である場合は式1を評価し、条件が偽である場合は式2を評…

Lispのandとorの使い方

andの使い方 andの短絡評価 orの使い方 lispで「偽」と判定されるもの Lisp言語において、andとorは論理演算子です。以下にそれぞれの使い方を説明します。 andの使い方 andは、引数の全てが真である場合に真を返します。以下は、andの使用例です。 ; x, y, …

Lispの開発環境を10秒で構築する

この記事ではlispの開発環境を10秒で完了させる方法について解説します。 ですが、以下の製品がすでにインストールされていることが前提です。 docker docker-compose git LispをDockerコンテナで動かす方法 結論:以下のコマンドを打つだけで開発環境の構築…

Lispのlistの使い方【cons,car,cdr,list】

cons 構文 サンプルコード 注意点 car car構文 carサンプルコード car注意点 cdr cdr構文 cdrサンプルコード cdr注意点 list list構文 listサンプルコード list注意点 Lispはリスト処理に特化したプログラミング言語であり、cons、car、cdrはリストを操作す…

Lispのコードモードとデータモードの違い

コードモード データモード コンスセルとリスト Lispには、コードモードとデータモードの2つのモードがあります。これらのモードは、LispのREPL(Read-Eval-Print Loop)で使われることが多く、Lispの開発環境での開発に役立ちます。 コードモード コードモ…

Lisp 関数の使い方

グローバル関数 1. 概要: 2. サンプルコード 引数をとらない場合 引数をとる場合 3.命名規則: 4. その他注意事項: ローカル関数 グローバル関数 1. 概要: Lispでは、defunという特別な形式を使って関数を定義します。defunは、関数名、引数、本体といっ…

Lispで変数宣言する方法

Lispで変数を定義する 1.defparameter:可変なグローバル変数 2.defvar:不変なグローバル変数 3.let:ローカル変数 データ型 Lispで変数を定義する Lispでは、変数を定義するために「defvar」、「defparameter」、「let」の3つの方法があります。 1.defparamet…