[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.lisp

Announcement: Common Lisp Structure Editor

Blake McBride

8/29/2015 7:33:00 PM

I enhanced and converted an InterLisp structure editor provided in the
LISPF4 system to Common Lisp. It is located on github at:

https://github.com/blakemcbrid...

Blake McBride
12 Answers

mentificium

8/30/2015 2:35:00 PM

0

On Saturday, August 29, 2015 at 12:33:24 PM UTC-7, Blake McBride wrote:
> I enhanced and converted an InterLisp structure editor provided in the
> LISPF4 system to Common Lisp. It is located on github at:
>
> https://github.com/blakemcbrid...
>
> Blake McBride

As a charter member of us Mad People of comp.lang.lisp at

http://devrel.zoomquiet.io/data/20080926113320/...

and as a brogrammer of Lisp-ready Strong AI at

http://ai.neocities.org/Ai...

I congratulate you for your success.

Cheers,

Arthur T. Murray/Mentifex
--
Major goal in life: Trigger a Technological Singularity;
Minor goal: Overthrow the unelected government of China;
Minor goal: Win a Nobel Prize in Physiology or Medicine;
Minor goal: [X] Reunification of East and West Germany.

Rainer Joswig

8/30/2015 6:18:00 PM

0

On 2015-08-29 19:33:14 +0000, Blake McBride said:

> I enhanced and converted an InterLisp structure editor provided in the
> LISPF4 system to Common Lisp. It is located on github at:
>
> https://github.com/blakemcbrid...
>
> Blake McBride

Don't take it as an offense, but what CL was that written in?

: is not acceptable as a symbol just so.

There is a DEFPACKAGE, but no IN-PACKAGE.

And so on...

Blake McBride

8/30/2015 6:56:00 PM

0

On 08/30/2015 01:18 PM, Rainer Joswig wrote:
> On 2015-08-29 19:33:14 +0000, Blake McBride said:
>
>> I enhanced and converted an InterLisp structure editor provided in the
>> LISPF4 system to Common Lisp. It is located on github at:
>>
>> https://github.com/blakemcbrid...
>>
>> Blake McBride
>
> Don't take it as an offense, but what CL was that written in?
>
> : is not acceptable as a symbol just so.
>
> There is a DEFPACKAGE, but no IN-PACKAGE.
>
> And so on...
>

Sorry. Added all the package stuff after-the-fact. Guess I need to fix it.

Thanks.

Blake

Rainer Joswig

8/30/2015 7:04:00 PM

0

On 2015-08-30 18:55:55 +0000, Blake McBride said:

> On 08/30/2015 01:18 PM, Rainer Joswig wrote:
>> On 2015-08-29 19:33:14 +0000, Blake McBride said:
>>
>>> I enhanced and converted an InterLisp structure editor provided in the
>>> LISPF4 system to Common Lisp. It is located on github at:
>>>
>>> https://github.com/blakemcbrid...
>>>
>>> Blake McBride
>>
>> Don't take it as an offense, but what CL was that written in?
>>
>> : is not acceptable as a symbol just so.
>>
>> There is a DEFPACKAGE, but no IN-PACKAGE.
>>
>> And so on...
>>
>
> Sorry. Added all the package stuff after-the-fact. Guess I need to fix it.
>
> Thanks.
>
> Blake

You might also want to take into account that output in Common Lisp
implementations can be buffered.
I'm pretty sure that for portable code you need to make sure that
output is actually done...
See FINISH-OUTPUT / FORCE-OUTPUT.

Blake McBride

8/30/2015 7:17:00 PM

0

On 08/30/2015 02:04 PM, Rainer Joswig wrote:
> On 2015-08-30 18:55:55 +0000, Blake McBride said:
>
>> On 08/30/2015 01:18 PM, Rainer Joswig wrote:
>>> On 2015-08-29 19:33:14 +0000, Blake McBride said:
>>>
>>>> I enhanced and converted an InterLisp structure editor provided in the
>>>> LISPF4 system to Common Lisp. It is located on github at:
>>>>
>>>> https://github.com/blakemcbrid...
>>>>
>>>> Blake McBride
>>>
>>> Don't take it as an offense, but what CL was that written in?
>>>
>>> : is not acceptable as a symbol just so.
>>>
>>> There is a DEFPACKAGE, but no IN-PACKAGE.
>>>
>>> And so on...
>>>
>>
>> Sorry. Added all the package stuff after-the-fact. Guess I need to
>> fix it.
>>
>> Thanks.
>>
>> Blake
>
> You might also want to take into account that output in Common Lisp
> implementations can be buffered.
> I'm pretty sure that for portable code you need to make sure that output
> is actually done...
> See FINISH-OUTPUT / FORCE-OUTPUT.
>

Probably not a bad idea, however, I've never seen a system that didn't
auto-flush when close is called (or implicitly called via with-open-file).


Rainer Joswig

8/30/2015 7:26:00 PM

0

On 2015-08-30 19:17:03 +0000, Blake McBride said:
>
> Probably not a bad idea, however, I've never seen a system that didn't
> auto-flush when close is called (or implicitly called via
> with-open-file).

I'm not talking about files. All IO can be buffered: screen, terminal,
files, network, ...

If you print something on the screen like a prompt and then read, you
need to force the output after the print and before reading.

Blake McBride

8/30/2015 7:35:00 PM

0

On 08/30/2015 02:25 PM, Rainer Joswig wrote:
> On 2015-08-30 19:17:03 +0000, Blake McBride said:
>>
>> Probably not a bad idea, however, I've never seen a system that didn't
>> auto-flush when close is called (or implicitly called via
>> with-open-file).
>
> I'm not talking about files. All IO can be buffered: screen, terminal,
> files, network, ...
>
> If you print something on the screen like a prompt and then read, you
> need to force the output after the print and before reading.
>

Actually, I am aware of that. I've seen the problem when using stdio.
That is why I used *query-io*. Haven't seen the problem with that.
Isn't that the whole purpose of *query-io* - not to buffer?

Anyway, my tests seem to indicate that *query-io* doesn't buffer. If an
instance where I am wrong is encountered, I'll add the flush.

Thanks.

Blake

Rainer Joswig

8/30/2015 7:56:00 PM

0

On 2015-08-30 19:35:26 +0000, Blake McBride said:

> On 08/30/2015 02:25 PM, Rainer Joswig wrote:
>> On 2015-08-30 19:17:03 +0000, Blake McBride said:
>>>
>>> Probably not a bad idea, however, I've never seen a system that didn't
>>> auto-flush when close is called (or implicitly called via
>>> with-open-file).
>>
>> I'm not talking about files. All IO can be buffered: screen, terminal,
>> files, network, ...
>>
>> If you print something on the screen like a prompt and then read, you
>> need to force the output after the print and before reading.
>>
>
> Actually, I am aware of that. I've seen the problem when using stdio.
> That is why I used *query-io*. Haven't seen the problem with that.
> Isn't that the whole purpose of *query-io* - not to buffer?

There is no requirement to not buffer *query-io*.

>
> Anyway, my tests seem to indicate that *query-io* doesn't buffer. If
> an instance where I am wrong is encountered, I'll add the flush.

Atleast SBCL and ABCL buffer the query-io stream.


Blake McBride

8/30/2015 9:28:00 PM

0

On 08/30/2015 01:18 PM, Rainer Joswig wrote:
> On 2015-08-29 19:33:14 +0000, Blake McBride said:
>
>> I enhanced and converted an InterLisp structure editor provided in the
>> LISPF4 system to Common Lisp. It is located on github at:
>>
>> https://github.com/blakemcbrid...
>>
>> Blake McBride
>
> Don't take it as an offense, but what CL was that written in?
>
> : is not acceptable as a symbol just so.
>
> There is a DEFPACKAGE, but no IN-PACKAGE.
>
> And so on...
>


Wow! How bad could it possible be? It worked in CLISP. I've now
corrected it and tested in sbcl, clisp, ccl, abcl, cmucl, gcl, and ecl.

Thanks for the feedback!

Blake

Pascal J. Bourguignon

8/31/2015 7:16:00 AM

0

Blake McBride <blake1024@gmail.com> writes:

> On 08/30/2015 01:18 PM, Rainer Joswig wrote:
>> On 2015-08-29 19:33:14 +0000, Blake McBride said:
>>
>>> I enhanced and converted an InterLisp structure editor provided in the
>>> LISPF4 system to Common Lisp. It is located on github at:
>>>
>>> https://github.com/blakemcbrid...
>>>
>>> Blake McBride
>>
>> Don't take it as an offense, but what CL was that written in?
>>
>> : is not acceptable as a symbol just so.
>>
>> There is a DEFPACKAGE, but no IN-PACKAGE.
>>
>> And so on...
>>
>
>
> Wow! How bad could it possible be? It worked in CLISP. I've now
> corrected it and tested in sbcl, clisp, ccl, abcl, cmucl, gcl, and
> ecl.

If you don't put IN-PACKAGE in the file, then the file will be loaded in
the current *PACKAGE* which might be the package named
"COMMON-LISP-USER".

clhs "2.3.5 Valid Patterns for Tokens"

says:

5. The consequences are unspecified if any other pattern of package
markers in a token is used. All other uses of package markers
within names of symbols are not defined by this standard but are
reserved for implementation-dependent use.


It happens that clisp exercises the freedom it has to read ":" as a
keyword with an emptyp name. Conforming representations for this
keyword are: :|| and KEYWORD:||.



Notice that once upon a time, clisp had a package nickname for the
KEYWORD package that was the empty string too. This definitely was not
conforming and has been removed. But it made ||:|| another
representation for KEYWORD:||. "" is a valid user package name.


(defpackage "" (:use "CL") (:export "RAILS"))
(defpackage "â?¥" (:use "CL") (:export "RAILS"))
(not (eq '||:rails 'â?¥:rails))


--
__Pascal Bourguignon__ http://www.informat...
â??The factory of the future will have only two employees, a man and a
dog. The man will be there to feed the dog. The dog will be there to
keep the man from touching the equipment.� -- Carl Bass CEO Autodesk