Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Doubt is a pain too lonely to know that faith is his twin brother. -- Kahlil Gibran


devel / comp.lang.prolog / Re: Request for comments, Novacore the sequel to ISO modules

SubjectAuthor
* Request for comments, Novacore the sequel to ISO modulesMild Shock
`* Request for comments, Novacore the sequel to ISO modulesMild Shock
 `* Request for comments, Novacore the sequel to ISO modulesMild Shock
  `* Request for comments, Novacore the sequel to ISO modulesMild Shock
   `- Request for comments, Novacore the sequel to ISO modulesMild Shock

1
Re: Request for comments, Novacore the sequel to ISO modules

<d9588b9c-edcc-4f8b-85d2-7487b5556798n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10042&group=comp.lang.prolog#10042

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:6214:9c8:b0:63c:fb61:1a4a with SMTP id dp8-20020a05621409c800b0063cfb611a4amr16728qvb.4.1690631471609;
Sat, 29 Jul 2023 04:51:11 -0700 (PDT)
X-Received: by 2002:a9d:7cc3:0:b0:6b9:b8fd:9ebb with SMTP id
r3-20020a9d7cc3000000b006b9b8fd9ebbmr5721831otn.4.1690631471385; Sat, 29 Jul
2023 04:51:11 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sat, 29 Jul 2023 04:51:11 -0700 (PDT)
In-Reply-To: <db8a6771-3e54-485b-b391-310658dd6f52n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <db8a6771-3e54-485b-b391-310658dd6f52n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d9588b9c-edcc-4f8b-85d2-7487b5556798n@googlegroups.com>
Subject: Re: Request for comments, Novacore the sequel to ISO modules
From: burse...@gmail.com (Mild Shock)
Injection-Date: Sat, 29 Jul 2023 11:51:11 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2442
 by: Mild Shock - Sat, 29 Jul 2023 11:51 UTC

The new multilingual strings are also an exercise in
Novacore. There were a few issues that needed novel
Prolog solutions, to make a Novacore solution.

One problem was I didn't want to use library(format)
and format/3 to format multilingual strings when
generating error messages. This addresses more

the later multilingual strings processing than the
multilingual strings store itself. So how resolve this
paradox? Here is my take, a mini format/3 boostraped

from the Dogelog Player specific atom_split/3:

% sys_inter_polate(+Stream, +Atom, +List)
sys_inter_polate(Stream, Template, Args) :-
atom_split(Template, '~', [Head|Tail]),
put_atom(Stream, Head),
sys_zipper_output(Args, Tail, Stream).

% sys_zipper_output(+List, +List, +Stream)
sys_zipper_output([Arg|Args], [Head|Tail], Stream) :-
writeq(Stream, Arg),
put_atom(Stream, Head),
sys_zipper_output(Args, Tail, Stream).
sys_zipper_output([], [], _).

It only understands format specifier '~', but is sufficient:

/* German Text */
strings('syntax_error.singleton_var', de, 'Alleinstehende Variable(n) ~, anonyme Variable(n) (_) benutzen.').

/* English and Fallback Text */
strings('syntax_error.singleton_var', '', 'Singleton variable(s) ~, use anonymous variable(s) (_).').

LoL

Re: Request for comments, Novacore the sequel to ISO modules

<07e4e441-f981-4034-998b-c665ee434501n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10082&group=comp.lang.prolog#10082

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:2c6:b0:412:1318:9d4f with SMTP id a6-20020a05622a02c600b0041213189d4fmr24370qtx.2.1694132121191;
Thu, 07 Sep 2023 17:15:21 -0700 (PDT)
X-Received: by 2002:a17:90a:ab8c:b0:26b:b78:c94f with SMTP id
n12-20020a17090aab8c00b0026b0b78c94fmr311067pjq.7.1694132120886; Thu, 07 Sep
2023 17:15:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 7 Sep 2023 17:15:20 -0700 (PDT)
In-Reply-To: <d9588b9c-edcc-4f8b-85d2-7487b5556798n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <db8a6771-3e54-485b-b391-310658dd6f52n@googlegroups.com> <d9588b9c-edcc-4f8b-85d2-7487b5556798n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <07e4e441-f981-4034-998b-c665ee434501n@googlegroups.com>
Subject: Re: Request for comments, Novacore the sequel to ISO modules
From: burse...@gmail.com (Mild Shock)
Injection-Date: Fri, 08 Sep 2023 00:15:21 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1663
 by: Mild Shock - Fri, 8 Sep 2023 00:15 UTC

Did you know that Novacore has change_arg/3?
Works for Dogelog Player and formerly Jekejeke Prolog.
It is similar like nb_linkarg/3 in SWI-Prolog.

So we can implement countall/3 in a blink:

countall(G, N) :-
functor(Holder, v, 1),
change_arg(1, Holder, 0),
(G,
arg(1, Holder, H),
J is H+1,
change_arg(1, Holder, J),
fail; true),
arg(1, Holder, N).

Works find:

?- countall(between(10,20,_), N).
N = 11.

Re: Request for comments, Novacore the sequel to ISO modules

<ujdlp0$1ndl7$1@solani.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10243&group=comp.lang.prolog#10243

  copy link   Newsgroups: comp.lang.prolog
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janbu...@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.prolog
Subject: Re: Request for comments, Novacore the sequel to ISO modules
Date: Sun, 19 Nov 2023 19:56:32 +0100
Message-ID: <ujdlp0$1ndl7$1@solani.org>
References: <db8a6771-3e54-485b-b391-310658dd6f52n@googlegroups.com>
<d9588b9c-edcc-4f8b-85d2-7487b5556798n@googlegroups.com>
<07e4e441-f981-4034-998b-c665ee434501n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 19 Nov 2023 18:56:32 -0000 (UTC)
Injection-Info: solani.org;
logging-data="1816231"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.17.1
Cancel-Lock: sha1:wN0OMZbZdIjYcPIHubNNEH3tIf8=
X-User-ID: eJwNyscBwDAIBLCVOJrNOJiy/wiJ3jJxeB11c7W13cTtxShCbSx4kIdmhe9oNaE3/yBvLr+gSuYOvKgjWgT7AGjVFek=
In-Reply-To: <07e4e441-f981-4034-998b-c665ee434501n@googlegroups.com>
 by: Mild Shock - Sun, 19 Nov 2023 18:56 UTC

We are now exploring file systems with novacore.
And here and then we have a couple of primitives
and then do some bootstrapping. It currently lands

in library(random) until we find a better place:

% directory_member(+Atom, -Atom)
directory_member(F, N) :-
directory_files(F, L),
member(N, L).

% ensure_directory(+Atom)
ensure_directory(F) :-
file_exists(F),
file_property(F, type(directory)),
!.
ensure_directory(F) :-
make_directory(F).

Guess what, finding semantic and support of
directory_files/2, file_exists/1 and file_property/2
is already non trivial.

Re: Request for comments, Novacore the sequel to ISO modules

<ujdltr$1ndl7$2@solani.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10244&group=comp.lang.prolog#10244

  copy link   Newsgroups: comp.lang.prolog
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janbu...@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.prolog
Subject: Re: Request for comments, Novacore the sequel to ISO modules
Date: Sun, 19 Nov 2023 19:59:07 +0100
Message-ID: <ujdltr$1ndl7$2@solani.org>
References: <db8a6771-3e54-485b-b391-310658dd6f52n@googlegroups.com>
<d9588b9c-edcc-4f8b-85d2-7487b5556798n@googlegroups.com>
<07e4e441-f981-4034-998b-c665ee434501n@googlegroups.com>
<ujdlp0$1ndl7$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 19 Nov 2023 18:59:07 -0000 (UTC)
Injection-Info: solani.org;
logging-data="1816231"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.17.1
Cancel-Lock: sha1:TPZ6y6r+tOxWdWqc4zn7Wjj5fKQ=
X-User-ID: eJwNi8ERwDAIw2ZyCnYyDpCw/wjl9NNJ/hEsGZ3mPVSrcT6vsxbgD9LLSI/alWBfTnUxW7wcfTtgy0TtgukHZLsV7w==
In-Reply-To: <ujdlp0$1ndl7$1@solani.org>
 by: Mild Shock - Sun, 19 Nov 2023 18:59 UTC

LogNonsenseTalk with its brainwash is totally
useless. This here is already wrong:

file_exists(File) :-
absolute_file_name(File, ExpandedPath),
{exists_file(ExpandedPath)}.

https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/os/os.lgt

Becaue for example exists_file/1 in SWI-Prolog
means exists regular file. But file_exists/1

should mean exists file of any type. Just
lookup what GNU Prolog provides. In OS lingua

file means often regular, directory, etc..

Mild Shock schrieb:
> We are now exploring file systems with novacore.
> And here and then we have a couple of primitives
> and then do some bootstrapping. It currently lands
>
> in library(random) until we find a better place:
>
> % directory_member(+Atom, -Atom)
> directory_member(F, N) :-
>    directory_files(F, L),
>    member(N, L).
>
> % ensure_directory(+Atom)
> ensure_directory(F) :-
>    file_exists(F),
>    file_property(F, type(directory)),
>    !.
> ensure_directory(F) :-
>    make_directory(F).
>
> Guess what, finding semantic and support of
> directory_files/2, file_exists/1 and file_property/2
> is already non trivial.
>

Re: Request for comments, Novacore the sequel to ISO modules

<ujdm2s$1ndl7$3@solani.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10245&group=comp.lang.prolog#10245

  copy link   Newsgroups: comp.lang.prolog
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janbu...@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.prolog
Subject: Re: Request for comments, Novacore the sequel to ISO modules
Date: Sun, 19 Nov 2023 20:01:48 +0100
Message-ID: <ujdm2s$1ndl7$3@solani.org>
References: <db8a6771-3e54-485b-b391-310658dd6f52n@googlegroups.com>
<d9588b9c-edcc-4f8b-85d2-7487b5556798n@googlegroups.com>
<07e4e441-f981-4034-998b-c665ee434501n@googlegroups.com>
<ujdlp0$1ndl7$1@solani.org> <ujdltr$1ndl7$2@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 19 Nov 2023 19:01:48 -0000 (UTC)
Injection-Info: solani.org;
logging-data="1816231"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.17.1
Cancel-Lock: sha1:xEq4TXTq6dIohoKT4zXT+RHwvcs=
X-User-ID: eJwNx8EBwCAIA8CVQEiEcVRg/xHa+x2MyredoGMwAolYqZ1ZXvbMZefku3rChIxZnHu61K2JPwVmL3G1q90fMNQU3w==
In-Reply-To: <ujdltr$1ndl7$2@solani.org>
 by: Mild Shock - Sun, 19 Nov 2023 19:01 UTC

You see the OS jargon meaning in directory_member/2
which is bootstrapped from directory_files/2.

directory_files/2 should of course list any files
inside the directory, regular, directory, etc..

not only regular files. So "files" means any
file of type regular, directory, etc..

Mild Shock schrieb:
>
> LogNonsenseTalk with its brainwash is totally
> useless. This here is already wrong:
>
> file_exists(File) :-
>     absolute_file_name(File, ExpandedPath),
>     {exists_file(ExpandedPath)}.
>
> https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/os/os.lgt
>
> Becaue for example exists_file/1 in SWI-Prolog
> means exists regular file. But file_exists/1
>
> should mean exists file of any type. Just
> lookup what GNU Prolog provides. In OS lingua
>
> file means often regular, directory, etc..
>
> Mild Shock schrieb:
>> We are now exploring file systems with novacore.
>> And here and then we have a couple of primitives
>> and then do some bootstrapping. It currently lands
>>
>> in library(random) until we find a better place:
>>
>> % directory_member(+Atom, -Atom)
>> directory_member(F, N) :-
>>     directory_files(F, L),
>>     member(N, L).
>>
>> % ensure_directory(+Atom)
>> ensure_directory(F) :-
>>     file_exists(F),
>>     file_property(F, type(directory)),
>>     !.
>> ensure_directory(F) :-
>>     make_directory(F).
>>
>> Guess what, finding semantic and support of
>> directory_files/2, file_exists/1 and file_property/2
>> is already non trivial.
>>
>


devel / comp.lang.prolog / Re: Request for comments, Novacore the sequel to ISO modules

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor