Profile

Cover photo
kenichi sasagawa
13 followers|60,370 views
AboutPostsPhotosYouTube

Stream

kenichi sasagawa

Shared publicly  - 
 
I updated my O-Prolog page.

Now O-Prolog is Ver0.398

http://eisl.kan-be.com/library/oprolog.html

O-Prolog has BIGNUM. let's enjoy.
O-Prolog Ver0.398
| ?- X is 2^500.
X = 3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376
 ·  Translate
O-Prolog. Prolog処理系を制作中です。まだまだヨチヨチ歩きのインタプリタですが、いずれコンパイラも追加の予定です。 動作はまだまだ不完全ですのでご了解ください。 AZ-Prologのサブセットを目指しています。使い方はAZ-Prologと同じです。 O-Prolog(Windows) · O-Prolog(Linux Ubuntu)
1
Add a comment...

kenichi sasagawa

Shared publicly  - 
 
I 'm writing Prolog interpreter.

subset([],[]).
subset([First|Rest],[First|Sub]) :- subset(Rest,Sub).
subset([First|Rest],Sub) :- subset(Rest,Sub).

O-Prolog Ver0.08
|
yes
| ?- subset([1,2,3],X).
X = [1,2,3];
X = [1,2];
X = [1,3];
X = [1];
X = [2,3];
X = [2];
X = [3];
X = [];
no
|
1
Add a comment...

kenichi sasagawa

Shared publicly  - 
 
Add a message to your video
 ·  Translate
1
Add a comment...

kenichi sasagawa

Shared publicly  - 
 
続編を書きました。マクロの実装方法、シンボルの唯一性について書いてます。ワンコイン、よかったらどうぞ。
http://www.amazon.co.jp/dp/B01DHBS5PK
 ·  Translate
1
Add a comment...

kenichi sasagawa

Shared publicly  - 
 
Add a message to your video
 ·  Translate
1
Add a comment...

kenichi sasagawa

Shared publicly  - 
 
I've been improving my Prolog implementation. It runs 9queens in about 0.2 second. It means about 1. 8mega LIPS.
and,I'm testing translator from Prolog to C. To try, I translated nodiag predicate to C with hand compile. The result is about 0.06second. but, it is not adapt to BIGNUM.

O-Prolog Ver0.392
|
yes
| ?time(test).
[1,3,6,8,2,4,9,7,5]
...
[9,7,4,2,8,6,1,3,5]
Elapsed Time=0.216000 (second)
no
|

test : queen([1,2,3,4,5,6,7,8,9],X),write(X),nl,fail.



queen(Data, Out) :-
queen_2(Data, [], Out).

queen_2([], _, []).
queen_2([H|T], History, [Q|M]) :-
qdelete(Q, H, T, L1),
nodiag(History, Q, 1),
queen_2(L1, [Q|History], M).

qperm([], []).
qperm([X|Y], [U|V]) :-
qdelete(U, X, Y, Z),
qperm(Z, V).

qdelete(A, A, L, L).
qdelete(X, A, [H|T], [A|R]) :-
qdelete(X, H, T, R).

safe([]).
safe([N|L]) :-
nodiag(L, N, 1),
safe(L).

nodiag([], _, _).
nodiag([N|L], B, D) :-
D =\= N - B,
D =\= B - N,
D1 is D + 1,
nodiag(L, B, D1).

chainging nodiag to o_nodiag.
| ?-time(test).
[1,3,6,8,2,4,9,7,5]
...
[9,7,4,2,8,6,1,3,5]
Elapsed Time=0.053000 (second)
no
| http://homepage1.nifty.com/~skz/Scheme/library/oprolog.html

1
Add a comment...

kenichi sasagawa

Implementations  - 
 
I have uploaded my Prolog interpreter. I named it O-Prolog. The implementation is still imperfect.

http://homepage1.nifty.com/~skz/Scheme/library/oprolog.html
 ·  Translate
O-Prolog. Prolog処理系を制作中です。まだまだヨチヨチ歩きのインタプリタですが、いずれコンパイラも追加の予定です。 動作はまだまだ不完全ですのでご了解ください。 AZ-Prologのサブセットを目指しています。使い方はAZ-Prologと同じです。 O-Prolog(Windows) · O-Prolog(Linux Ubuntu) ...
2
Igor Maznitsa's profile photokenichi sasagawa's profile photoAnh Mather's profile photo
5 comments
 
Why? Can you joint dev of other open source? Reinvent the wheel! 
Add a comment...

kenichi sasagawa

Shared publicly  - 
 
I've uploaded my Prolog interpreter O-Prolog.
http://homepage1.nifty.com/~skz/Scheme/library/oprolog.html
 ·  Translate
O-Prolog. Prolog処理系を制作中です。まだまだヨチヨチ歩きのインタプリタですが、いずれコンパイラも追加の予定です。 動作はまだまだ不完全ですのでご了解ください。 AZ-Prologのサブセットを目指しています。使い方はAZ-Prologと同じです。 O-Prolog(Windows) · O-Prolog(Linux Ubuntu) ...
1
Add a comment...

kenichi sasagawa

Shared publicly  - 
 
オタクなLispを書きました。よかったらどうぞ。
https://www.amazon.co.jp/dp/B01IMUKOHS
 ·  Translate
1
Add a comment...

kenichi sasagawa

Shared publicly  - 
 
Add a message to your video
 ·  Translate
1
Add a comment...

kenichi sasagawa

Shared publicly  - 
 
また、本を書きました。本というより小冊子です。
「M(メタ)言語 Lispの源流を訪ねて」 100円也。
 ·  Translate
1
Add a comment...
Basic Information
Gender
Male
Links