3 ms·
Have done exactly that using GOOPS which is Guile's equivalent of CLOS: scheme@(guile-user)> (use-modules (aiscm sequence) (aiscm element)) scheme@(guile-u
by wedesoft 9y ago
Have done exactly that using GOOPS which is Guile's equivalent of CLOS:
scheme@(guile-user)> (use-modules (aiscm sequence) (aiscm element))
scheme@(guile-user)> (define a (arr (1 2 3) (4 5 6)))
scheme@(guile-user)> (get a)
$1 = #<sequence<sequence<int<8,unsigned>>>>:
((1 2 3)
(4 5 6))
scheme@(guile-user)> (get a 1)
$2 = #<sequence<int<8,unsigned>>>:
(4 5 6)
scheme@(guile-user)> (get a 0 1)
$3 = 4
scheme@(guile-user)> (get (get a 1) 0)
$4 = 4
That's the whole point of macros: To be able to create embedded domain specific (mini) languages.
[1]: https://github.com/wedesoft/aiscm https://github.com/wedesoft/aiscm