---
title: Glispツイートメモ
date: 2021-10-15T01:13:20.153Z
updated: 2026-03-09T01:17:59.701Z
tags:
  - glisp
url: https://baku89.com/ja/Glisp%E3%83%84%E3%82%A4%E3%83%BC%E3%83%88%E3%83%A1%E3%83%A2
---

# Glispツイートメモ

> 遅延評価、強い型付け、逐次実行の概念や副作用の無い、関数型で、シンタックスだけS式のプログラミング言語

> 人の手に代わってお絵かきをする描画コンテクストに対して命令列を与えるという距離感は、画材としての手触りを鈍くさせる気がする。描くというより描かせるに近いというか。ラムダ計算の方が「どういう手順で描くか」ではなく「それ自身が何なのか」を直に描き下せるので、デザイン向き

> Glispにおける

`(stroke "blue" (rotate (deg 45) (line [0 0] [100 0])))`

は、

`(((線)を(45度)回転させたもの)の青いやつ)`

という、グラフィックの状態を述べた文であって、

`stroke("blue") rotate(toDeg(45)) line(0, 0, 100, 0)`

のように、一文ずつ逐次実行される命令ではない

>

> ただの姿形の記述なので、そこには「現在適用されている線色・トランスフォーム」というステートの概念が無い　ゆえに `pop/pushMatrix`も必要なければ、「`noStroke()` を呼び出すとそれ以後の描画の線が消える」というような文の前後関係も無い
