[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Writing libraries for C programs using Guile Scheme

From: Mike Gran
Subject: Re: Writing libraries for C programs using Guile Scheme
Date: Sat, 8 Mar 2014 16:40:16 -0800 (PST)

On Saturday, March 8, 2014 12:57 PM, Mateusz Kowalczyk <address@hidden> wrote:

>I'm asking how the perfect setup is going to be achieved. Simply writing
>the library in Guile does not make it secure (or maintainable for that
>matter). My sole question to the opening post is ‘how will the library
>be assured to be secure?’. That is all I wish to know from this thread.

Pardon in advance this slightly OT aside...

Back in the day, I used to do safety critical software for a living,
mostly using standards built up around RTCA DO-178B.  All quite formal
stuff, and very legalistic, and focussed on embedded avionics systems.

Guile would never pass muster for DO-178B or C. But, the one way in which
Scheme is quite compliant is -- if you avoid call/cc --it is fairly easy,
to enumerate the number of entry points, exit points, and branches in a
given procedure.  The complexity of a program can be computed and bounded.
This is could be said of any program written in purely functional style,
I suppose.  So that's an advantage with respect to security.

>> But the bit's needs to be in place. Why don't we try to copy

>> typed racket over to guile?
>Unfortunately Typed Racket is truly horrible to write, read and use. I
>think it is a prime example of what happens if you try to tack on a
>simple type system on top of an existing LISP/Scheme dialect. Personally
>I think the time spent implementing such abomination would be better
>spent be triple-checking code in Guile as it is today. It is just an
>opinion and you're free to disagree of course.

Scheme itself is pretty horrible to read (but fun to write and use).  How
much worse could it be?

But if software safety is your goal, I'd go with ADA.

Un-seriously yours,

Mike Gran

reply via email to

[Prev in Thread] Current Thread [Next in Thread]