* Simulating rational number addition/subtraction
@ 2016-02-24 22:27 Lawrence Bottorff
2016-02-24 23:32 ` dsmich
2016-02-25 6:52 ` Jan Wedekind
0 siblings, 2 replies; 5+ messages in thread
From: Lawrence Bottorff @ 2016-02-24 22:27 UTC (permalink / raw)
To: guile-user
[-- Attachment #1: Type: text/plain, Size: 760 bytes --]
With guile (and a few other Schemes/Lisps) you can directly add fractions
or rational numbers:
(+ 1/2 1/12)
=> 7/12
It's like magic, no? Anyway, I'm trying -- for educational purposes -- to
reproduce this functionality. But right out of the blocks I'm stuck trying
to figure out how to handle incoming parameters. So far I've got
(define (myrat a b)
. . .)
(define (myrat a b c d)
. . .)
where numerator and denominator are given separately, as well as
(define (myrat . fracparams)
. . .)
which still has my basic problem, namely, can one parameter hold both parts
of a rational number, then allow the numerator and denominator to be peeled
off and worked on, i.e., something like
(let ((num1 numepeeler(a))
(denom1 denompeeler(a)
LB
[-- Attachment #2: Type: text/html, Size: 1097 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Simulating rational number addition/subtraction
2016-02-24 22:27 Simulating rational number addition/subtraction Lawrence Bottorff
@ 2016-02-24 23:32 ` dsmich
2016-02-25 7:07 ` tomas
2016-02-25 6:52 ` Jan Wedekind
1 sibling, 1 reply; 5+ messages in thread
From: dsmich @ 2016-02-24 23:32 UTC (permalink / raw)
To: guile-user, Lawrence Bottorff
---- Lawrence Bottorff <borgauf@gmail.com> wrote:
> With guile (and a few other Schemes/Lisps) you can directly add fractions
> or rational numbers:
>
> (+ 1/2 1/12)
> => 7/12
>
> It's like magic, no? Anyway, I'm trying -- for educational purposes -- to
> reproduce this functionality. But right out of the blocks I'm stuck trying
> to figure out how to handle incoming parameters. So far I've got
>
> (define (myrat a b)
> . . .)
>
> (define (myrat a b c d)
> . . .)
>
> where numerator and denominator are given separately, as well as
>
> (define (myrat . fracparams)
> . . .)
>
> which still has my basic problem, namely, can one parameter hold both parts
> of a rational number, then allow the numerator and denominator to be peeled
> off and worked on, i.e., something like
>
> (let ((num1 numepeeler(a))
> (denom1 denompeeler(a)
>
>
> LB
This https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-14.html might be enlightening....
-Dale
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Simulating rational number addition/subtraction
2016-02-24 22:27 Simulating rational number addition/subtraction Lawrence Bottorff
2016-02-24 23:32 ` dsmich
@ 2016-02-25 6:52 ` Jan Wedekind
1 sibling, 0 replies; 5+ messages in thread
From: Jan Wedekind @ 2016-02-25 6:52 UTC (permalink / raw)
To: Lawrence Bottorff, guile-user
On 24. Februar 2016 22:27:45 GMT+00:00, Lawrence Bottorff <borgauf@gmail.com> wrote:
>With guile (and a few other Schemes/Lisps) you can directly add
>fractions
>or rational numbers:
>
>(+ 1/2 1/12)
>=> 7/12
>
>It's like magic, no? Anyway, I'm trying -- for educational purposes --
>to
>reproduce this functionality. But right out of the blocks I'm stuck
>trying
>to figure out how to handle incoming parameters. So far I've got
>
>(define (myrat a b)
> . . .)
>
>(define (myrat a b c d)
> . . .)
>
>where numerator and denominator are given separately, as well as
>
>(define (myrat . fracparams)
> . . .)
>
>which still has my basic problem, namely, can one parameter hold both
>parts
>of a rational number, then allow the numerator and denominator to be
>peeled
>off and worked on, i.e., something like
>
>(let ((num1 numepeeler(a))
> (denom1 denompeeler(a)
>
>
>LB
You can use GOOPS (*) to represent the rational numbers.
(*) http://www.gnu.org/software/guile/manual/html_node/GOOPS.html
--
Jan Wedekind
http://www.wedesoft.de/
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-02-26 13:01 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-24 22:27 Simulating rational number addition/subtraction Lawrence Bottorff
2016-02-24 23:32 ` dsmich
2016-02-25 7:07 ` tomas
2016-02-26 13:01 ` Alex Vong
2016-02-25 6:52 ` Jan Wedekind
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).