[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Working on issue 665, how to proceed?
From: |
David Kastrup |
Subject: |
Re: Working on issue 665, how to proceed? |
Date: |
Sun, 17 Nov 2019 19:57:57 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Thomas Morley <address@hidden> writes:
> Am So., 17. Nov. 2019 um 18:13 Uhr schrieb <address@hidden>:
>>
>> > -----Oorspronkelijk bericht-----
>> > Van: David Kastrup <address@hidden>
>> > > I did use a lot of define-method, as it is easy this way to be type
>> > > save.
>> >
>> > I don't think the cost justifies the effort here. Scheme is not intended
>> > as a
>> > "type safe" language.
>
> What disturbs me are things like:
>
> (define-method (->number (value <boolean>))
> (cond (value 1 (else 0)))
> )
Of course that one is wrong. It doesn't particularly help that this
obviously is not at all used for improving type safety but instead is a
tool for promoting type laxness.
> (define-method (->number (value <number>))
> value
> )
>
> (define-method (->number (value <string>))
> (string->number value)
> )
Same here.
> I'd always sort the arg in procedure's body, like
>
> (define (->number arg)
> (cond ((number? arg) arg)
> ((boolean? arg) (if arg 1 0))
> ((string? arg) (string->number arg))
> (else #f)))
Actually this seems like a way to be extra sloppy. Turning everything
into a number instead of having the caller provide what is actually
required seems suspicious.
In formatting applications, there may be some rationale for
turn-everything-into-a-string behavior. But
turn-everything-into-a-number behavior stinks a bit.
I have to admit of only having read the mails so far and not the code wholesale.
--
David Kastrup
- Re: Working on issue 665, how to proceed?, (continued)
- Re: Working on issue 665, how to proceed?, Thomas Morley, 2019/11/17
- RE: Working on issue 665, how to proceed?, lilypond, 2019/11/17
- Re: Working on issue 665, how to proceed?, Thomas Morley, 2019/11/17
- RE: Working on issue 665, how to proceed?, lilypond, 2019/11/17
- Re: Working on issue 665, how to proceed?, Thomas Morley, 2019/11/17
- Re: Working on issue 665, how to proceed?, Thomas Morley, 2019/11/17
- RE: Working on issue 665, how to proceed?, lilypond, 2019/11/17
- Re: Working on issue 665, how to proceed?, David Kastrup, 2019/11/17
- RE: Working on issue 665, how to proceed?, lilypond, 2019/11/17
- Re: Working on issue 665, how to proceed?, Thomas Morley, 2019/11/17
- Re: Working on issue 665, how to proceed?,
David Kastrup <=
- RE: Working on issue 665, how to proceed?, lilypond, 2019/11/18
Re: Working on issue 665, how to proceed?, Jacques Menu, 2019/11/17