guile-user
[Top][All Lists]
Advanced

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

Re: A value for "nothing"


From: HiPhish
Subject: Re: A value for "nothing"
Date: Mon, 27 Aug 2018 10:29:14 +0200

On Montag, 27. August 2018 02:17:06 CEST you wrote:
> In my experience, if #f doesn't make sense as a legal value, then using #f
> is probably the idiomatic Scheme way to go.
> It composes with SRFI-2's and-let* in a way similar to Haskell's Nothing
> within the "do" notation.
> I did find it useful when I was implementing a pattern matching facility,
> where I could distinguish between an empty list of (successful) bindings
> and a failed match.
> But I think you would need to tell us more about the library: where do the
> values come from and what do they represent. What would this "nil" data
> type be supposed to stand for?

I literally don't know where the values will come from, that's the thing. 
MessagePack is a data serialization format: a process has some in-memory 
object, turns it into bytes and later reads those bytes to generate an in-
memory object. The bytes could come from an entirely different process in a 
language which distinguishes between "nothing", "falsely" and "empty list". If 
you use MessagePack for a remote procedure call and on the other end you 
*must* be able to distinguish between those things, then you also *must* be 
able to distinguish them on Guile's end as well.





reply via email to

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