Commit b016af7a authored by Michael Hanus 's avatar Michael Hanus

Dependent packages updated

parent b5ecbd39
......@@ -18,7 +18,7 @@ optimize/.cpm/packages/queue-0.0.1
optimize/.cpm/packages/random-0.0.1
optimize/.cpm/packages/redblacktree-0.0.1
optimize/.cpm/packages/scc-0.0.1
optimize/.cpm/packages/socket-0.0.1
optimize/.cpm/packages/socket-0.1.0
optimize/.cpm/packages/wl-pprint-0.0.1
optimize/.cpm/packages/xml-2.0.0
......
{
"name": "profiling",
"version": "1.0.0",
"version": "1.1.0",
"author": "Michael Hanus <mh@informatik.uni-kiel.de>",
"synopsis": "Simple profiling library with operations to access run-time data",
"category": [ "Debugging" ],
"license": "BSD-3-Clause",
"licenseFile": "LICENSE",
"dependencies": {
"base" : ">= 1.0.0, < 2.0.0"
"base" : ">= 1.1.0, < 2.0.0"
},
"compilerCompatibility": {
"pakcs": ">= 2.0.0, < 3.0.0",
"pakcs": ">= 2.2.1, < 3.0.0",
"kics2": ">= 2.0.0, < 3.0.0"
},
"exportedModules": [ "Debug.Profile" ],
......
<?xml version="1.0" standalone="no"?>
<!DOCTYPE primitives SYSTEM "http://www.informatik.uni-kiel.de/~pakcs/primitives.dtd">
<primitives>
<primitive name="getProcessInfos" arity="0">
<library>Profile_external</library>
<entry>prim_getProcessInfos</entry>
</primitive>
<primitive name="garbageCollectorOn" arity="0">
<library>Profile_external</library>
<entry>prim_garbageCollectorOn</entry>
</primitive>
<primitive name="garbageCollectorOff" arity="0">
<library>Profile_external</library>
<entry>prim_garbageCollectorOff</entry>
</primitive>
<primitive name="garbageCollect" arity="0">
<library>Profile_external</library>
<entry>prim_garbageCollect</entry>
</primitive>
</primitives>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Definitions of builtins of module Debug.Profile:
% PAKCS/Prolog implementations of builtins of module Debug.Profile:
%
% return statistics about the PAKCS process:
prim_getProcessInfos(Infos) :-
'Debug.Profile.getProcessInfos'(Infos) :-
(prologbasics:getCurrentGCs(GCs)
-> I1=['Prelude.(,)'('Debug.Profile.GarbageCollections',GCs)] ; I1=[]),
(prologbasics:getCurrentChoiceSize(Choice)
......@@ -24,11 +24,14 @@ prim_getProcessInfos(Infos) :-
Infos = I8.
% turn on garbage collector:
prim_garbageCollectorOn('Prelude.()') :- prologbasics:garbageCollectorOn.
'Debug.Profile.garbageCollectorOn'('Prelude.()') :-
prologbasics:garbageCollectorOn.
% turn off garbage collector:
prim_garbageCollectorOff('Prelude.()') :- prologbasics:garbageCollectorOff.
'Debug.Profile.garbageCollectorOff'('Prelude.()') :-
prologbasics:garbageCollectorOff.
% turn off garbage collector:
prim_garbageCollect('Prelude.()') :- prologbasics:garbageCollect.
'Debug.Profile.garbageCollect'('Prelude.()') :-
prologbasics:garbageCollect.
{
"name": "socket",
"version": "0.0.1",
"version": "0.1.0",
"author": "Michael Hanus <mh@informatik.uni-kiel.de>",
"synopsis": "Library for programming with sockets",
"category": [ "Network" ],
......@@ -10,7 +10,7 @@
"base" : ">= 1.0.0, < 2.0.0"
},
"compilerCompatibility": {
"pakcs": ">= 2.0.0",
"pakcs": ">= 2.2.1, < 3.0.0",
"kics2": ">= 2.0.0"
},
"exportedModules": [ "Network.Socket" ],
......
<?xml version="1.0" standalone="no"?>
<!DOCTYPE primitives SYSTEM "http://www.informatik.uni-kiel.de/~pakcs/primitives.dtd">
<primitives>
<primitive name="prim_listenOn" arity="1">
<library>prim_socket</library>
<entry>prim_listenOn</entry>
</primitive>
<primitive name="listenOnFresh" arity="0">
<library>prim_socket</library>
<entry>prim_listenOnFresh</entry>
</primitive>
<primitive name="prim_socketAccept" arity="1">
<library>prim_socket</library>
<entry>prim_socketAccept</entry>
</primitive>
<primitive name="prim_waitForSocketAccept" arity="2">
<library>prim_socket</library>
<entry>prim_waitForSocketAccept</entry>
</primitive>
<primitive name="prim_sClose" arity="1">
<library>prim_socket</library>
<entry>prim_sClose</entry>
</primitive>
<primitive name="prim_connectToSocket" arity="2">
<library>prim_socket</library>
<entry>prim_connectToSocket</entry>
</primitive>
</primitives>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Prolog implementation of builtins of module Network.Socket:
%
% create a server side socket bound to a port number.
'Network.Socket.prim_listenOn'(Port,Socket) :- listenOnNewSocket(Port,_,Socket).
% create a server side socket with a fresh port.
'Network.Socket.prim_listenOnFresh'('Prelude.(,)'(Port,Socket)) :-
listenOnNewSocket(Port,_,Socket).
% return the first connection to a socket as a read/write stream:
'Network.Socket.prim_socketAccept'(Socket,
'Prelude.(,)'(ClientS,'$stream'('$inoutstream'(InStream,OutStream)))) :-
socketAccept(Socket,Client,InStream,OutStream),
atom2String(Client,ClientS), !.
% return a connection to a socket within a time limit as a read/write stream,
% otherwise Nothing:
'Network.Socket.prim_waitForSocketAccept'(Socket,TimeOut,Result) :-
(waitForSocketClientStream(Socket,TimeOut,Client,InStream,OutStream)
-> atom2String(Client,ClientS),
Result = 'Prelude.Just'('Prelude.(,)'(ClientS,
'$stream'('$inoutstream'(InStream,OutStream))))
; Result = 'Prelude.Nothing').
% Closes a server socket.
'Network.Socket.prim_sClose'(Socket,'Prelude.()') :- socketClose(Socket).
% open a connection to a Unix socket:
'Network.Socket.prim_connectToSocket'(SHst,SNr,
'$stream'('$inoutstream'(InStream,OutStream))) :-
string2Atom(SHst,Host), !,
connect2socket(Host,SNr,InStream,OutStream).
{
"name": "socket",
"version": "0.0.1",
"version": "0.1.0",
"author": "Michael Hanus <mh@informatik.uni-kiel.de>",
"synopsis": "Library for programming with sockets",
"category": [ "Network" ],
......@@ -10,7 +10,7 @@
"base" : ">= 1.0.0, < 2.0.0"
},
"compilerCompatibility": {
"pakcs": ">= 2.0.0",
"pakcs": ">= 2.2.1, < 3.0.0",
"kics2": ">= 2.0.0"
},
"exportedModules": [ "Network.Socket" ],
......
<?xml version="1.0" standalone="no"?>
<!DOCTYPE primitives SYSTEM "http://www.informatik.uni-kiel.de/~pakcs/primitives.dtd">
<primitives>
<primitive name="prim_listenOn" arity="1">
<library>prim_socket</library>
<entry>prim_listenOn</entry>
</primitive>
<primitive name="listenOnFresh" arity="0">
<library>prim_socket</library>
<entry>prim_listenOnFresh</entry>
</primitive>
<primitive name="prim_socketAccept" arity="1">
<library>prim_socket</library>
<entry>prim_socketAccept</entry>
</primitive>
<primitive name="prim_waitForSocketAccept" arity="2">
<library>prim_socket</library>
<entry>prim_waitForSocketAccept</entry>
</primitive>
<primitive name="prim_sClose" arity="1">
<library>prim_socket</library>
<entry>prim_sClose</entry>
</primitive>
<primitive name="prim_connectToSocket" arity="2">
<library>prim_socket</library>
<entry>prim_connectToSocket</entry>
</primitive>
</primitives>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Prolog implementation of builtins of module Network.Socket:
%
% create a server side socket bound to a port number.
'Network.Socket.prim_listenOn'(Port,Socket) :- listenOnNewSocket(Port,_,Socket).
% create a server side socket with a fresh port.
'Network.Socket.prim_listenOnFresh'('Prelude.(,)'(Port,Socket)) :-
listenOnNewSocket(Port,_,Socket).
% return the first connection to a socket as a read/write stream:
'Network.Socket.prim_socketAccept'(Socket,
'Prelude.(,)'(ClientS,'$stream'('$inoutstream'(InStream,OutStream)))) :-
socketAccept(Socket,Client,InStream,OutStream),
atom2String(Client,ClientS), !.
% return a connection to a socket within a time limit as a read/write stream,
% otherwise Nothing:
'Network.Socket.prim_waitForSocketAccept'(Socket,TimeOut,Result) :-
(waitForSocketClientStream(Socket,TimeOut,Client,InStream,OutStream)
-> atom2String(Client,ClientS),
Result = 'Prelude.Just'('Prelude.(,)'(ClientS,
'$stream'('$inoutstream'(InStream,OutStream))))
; Result = 'Prelude.Nothing').
% Closes a server socket.
'Network.Socket.prim_sClose'(Socket,'Prelude.()') :- socketClose(Socket).
% open a connection to a Unix socket:
'Network.Socket.prim_connectToSocket'(SHst,SNr,
'$stream'('$inoutstream'(InStream,OutStream))) :-
string2Atom(SHst,Host), !,
connect2socket(Host,SNr,InStream,OutStream).
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment