2009/11/21

Prolog ソクラテスは人間である

% socrates
human(socrates).

mortal(X) :-
    human(X).

/*

mortal(Y).
Y = socrates.

human(Y).
Y = socrates.

human(socrates).
true.

mortal(socrates).
true.

*/

% 終了は
% halt.

*mortal : 死ぬ運命にある、死を免れない

Prolog PDF 他

(PDF)Prolog入門

(PDF)Prologue: Prologを動かすには

Prologプログラミング: 再帰的プログラミング

Prolog準備

お気楽 Prolog プログラミング入門
Prolog Programming

Prolog演習

Prolog演習

Some Coding Guidelines for Prolog

Prolog(Web Console)

Guide to Prolog Programming

Prolog Programming A First Course

prolog :- tutorial

Learn Prolog Now!

The Prolog Dictionary

Prolog Tutorial




Erlang Hello world!, factorial, fibonacci

Hello world!

-module(hello).
-export([hello/0]).

hello () ->
    io : fwrite("Hello, world!~n", []).
% hello:hello().
% Hello, world!
% ok

factorial

-module(fact).
-export([fact/1]).

fact(1) ->
    1;
fact(N) ->
    N * fact(N-1).

% fact:fact(5).
% 120

fibonacci

% 一般的にファイル名と同じ名称を指定する
-module(fib).
% モジュール外から使用する関数とその引数の数を記述
-export([fib/1]).
% 全ての関数をエクスポートするには
% -compile(export_all).
% 定数定義、レコード定義のインクルード
% -include_lib("hoge.hrl").

fib(1) ->
    1;
fib(2) ->
    1;
fib(N) ->
    fib(N-1) + fib(N-2).

 

C-c C-k コンパイル

Prolog 階乗

% 階乗
fact(0, 1).
fact(X, Y) :-
    X > 0,
    X1 is X - 1,
    fact(X1, Y1),
    Y is X * Y1.
fact(5, 120).


% ?- fact(5, Y).
% 120

% 外部ファイルの読み込み
% ['c:/program files/pl/demo/likes.pl'].

% ; : 選択(「もしくは」のようなニュアンス?)
% pwd : カレントフォルダ
% ls : カレントフォルダ内のファイルを表示

 

% comment
/*
  comments
*/

 

2009/11/20

Erlang PDF 他

erlang.pdf

Concurrent Programming in ERLANG Second Edition

Thinking in Erlang

Erlangの並列計算の入り口

Getting Started with Erlang

Concurrency Oriented Programming in Erlang

Program Development Using Erlang - Programming Rules and Conventions

Thinking in Erlang (Japanese version)

Erlang入門



Prolog PDF

論理プログラミング言語Prologの基礎

初級Prolog 講座

【Prolog(JunPrologInterpreter)マニュアル】

SWI-Prolog 5.0 Reference Manual

prolog.pdf
DB

SWI-Prolog の使い方

帰納論理プログラミング 第2回 Prolog

Introducing Prolog II

GNU PROLOG MANUAL

The.Art.of.Prolog.Advanced.Programming._1999__.2Ed._0262193388_.

Prolog A Tutorial Introduction

Introduction to Prolog

Prolog入門

Prolog入門(自習用)

A Prolog Interpreter in Python

ebook.The Art of PROLOG - 2nd Edition Advanced Programming Techniques
Logic Progra.0262193388 .zip


Prolog(プロログ)を学ぶ―文化とその実践Prologへの入門 (PrologとAI)



2009/11/19

PostScript DSCコメント, ページ, page

 

%!PS-Adobe-3.0
%%Pages: 3

% PostScript実習マニュアル
% P.70 DSC

% %%Title
% %%EOF
% %%Page
% %%Pages
% %%BoundingBox

% P.71 page.ps
/showstring {
    1 dict begin
        /string exch def
        100 500 moveto
        0 0.6 0 setrgbcolor
        /Times-Roman findfont 128 scalefont setfont
        string show
        showpage
    end
} def

%%Page: (first page) 1
(first) showstring
%%Page: (second page) 2
(second) showstring
%%Page: (third page) 3
(third) showstring

 

そうそう、2ページ目以降ってどうやるんだろうって思ってたんだった。この方法だけなのかな。

PostScript gsave grestore

gsave-grestore.ps

 

 

%!PS-Adobe-3.0
% PostScript実習マニュアル
% P.68 3.11 グラフィックス状態の保存

/square {
    2 dict begin
        /y exch def
        /x exch def
        x y moveto
        200 0 rlineto
        0 200 rlineto
        -200 0 rlineto
        fill
    end
} def

/specialsquare {
    gsave
        200 200 translate
        50 rotate
        2 0.5 scale
        0.4 0.8 0 setrgbcolor
        0 0 square
    grestore
} def

0 0.4 0.8 setrgbcolor
200 100 square
specialsquare
200 500 square
showpage

 

 

PostScript Clip Star

clip-star.ps

 

 

%!PS-Adobe-3.0
% PostScript実習マニュアル
% P.67 3.10 クリッピング

% clip
% eoclip
% initclip

/star {
    2 dict begin
        /y exch def
        /x exch def
        newpath
        x y moveto
        300 0 rlineto
        -250 -200 rlineto
        100 300 rlineto
        100 -300 rlineto
    end
} def

/polkadot {
    4 dict begin
        /y exch def
        /x exch def
        /dy y def
        14 {
            /dy dy 25 add def
            /dx x def
            14 {
                /dx dx 25 add def
                newpath
                dx dy 8 0 360 arc
                stroke
            } repeat
        } repeat
    end
} def

/polkadotstar {
    150 650 star
    clip
    100 400 polkadot
} def

/polkadotstarbyeo {
    150 300 star
    eoclip
    100 50 polkadot
} def

1 0 0.4 setrgbcolor
6 setlinewidth
polkadotstar
initclip
polkadotstarbyeo
showpage

 

 

PostScript ベジェ曲線

bezier-1.ps bezier-2.ps

 

bezier-1.ps

%!PS-Adobe-3.0
% PostScript実習マニュアル
% P.58 3.7 ベジェ曲線

% P.58 3.7.1 ベジェ曲線の基礎
/bezier {
    8 dict begin
        /y3 exch def
        /x3 exch def
        /y2 exch def
        /x2 exch def
        /y1 exch def
        /x1 exch def
        /y0 exch def
        /x0 exch def
        newpath
        x0 y0 moveto
        x1 y1 x2 y2 x3 y3 curveto
        0 0.8 1 setrgbcolor
        40 setlinewidth
        stroke
        newpath
        x0 y0 moveto
        x1 y1 lineto
        x2 y2 moveto
        x3 y3 lineto
        1 0 0 setrgbcolor
        1 setlinewidth
        stroke
    end
} def

140 450 100 650 500 750 300 450 bezier
140 150 100 350 300 150 500 450 bezier
showpage

bezier-2.ps

%!PS-Adobe-3.0
% PostScript実習マニュアル
% P.58 3.7 ベジェ曲線

% P59 3.7.3 ベジェ曲線の連結
/bezbez {
    14 dict begin
        /y6 exch def
        /x6 exch def
        /y5 exch def
        /x5 exch def
        /y4 exch def
        /x4 exch def
        /y3 exch def
        /x3 exch def
        /y2 exch def
        /x2 exch def
        /y1 exch def
        /x1 exch def
        /y0 exch def
        /x0 exch def
        newpath
        x0 y0 moveto
        x1 y1 x2 y2 x3 y3 curveto
        x4 y4 x5 y5 x6 y6 curveto
        0 1 0.8 setrgbcolor
        30 setlinewidth
        stroke
        newpath
        x0 y0 moveto
        x1 y1 lineto
        x2 y2 moveto
        x3 y3 lineto
        1 0 0 setrgbcolor
        1 setlinewidth
        stroke
        newpath
        x3 y3 moveto
        x4 y4 lineto
        x5 y5 moveto
        x6 y6 lineto
        0 0 1 setrgbcolor
        stroke
    end
} def

150 600 100 750 350 700 250 600 300 450 500 400 400 600 bezbez
150 300 100 450 350 400 250 300 100 150 500 100 400 300 bezbez
showpage

 

  • PostScript実習マニュアル
  • PostScript - PDF,Web まとめ