33 lines
685 B
Plaintext
33 lines
685 B
Plaintext
:- object(team).
|
|
|
|
:- threaded.
|
|
|
|
:- public(start/0).
|
|
start :-
|
|
threaded((
|
|
reader,
|
|
writer(0)
|
|
)).
|
|
|
|
reader :-
|
|
open('input.txt', read, Stream),
|
|
repeat,
|
|
read_term(Stream, Term, []),
|
|
threaded_notify(term(Term)),
|
|
Term == end_of_file,
|
|
!,
|
|
close(Stream),
|
|
threaded_wait(lines(Lines)),
|
|
write('Number of lines: '), write(Lines), nl.
|
|
|
|
writer(N0) :-
|
|
threaded_wait(term(Term)),
|
|
( Term == end_of_file ->
|
|
threaded_notify(lines(N0))
|
|
; N is N0 + 1,
|
|
write(Term), nl,
|
|
writer(N)
|
|
).
|
|
|
|
:- end_object.
|