Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Concentrate predicate definitions #55

Open
uliska opened this issue Jul 16, 2020 · 0 comments
Open

Concentrate predicate definitions #55

uliska opened this issue Jul 16, 2020 · 0 comments
Assignees

Comments

@uliska
Copy link
Contributor

uliska commented Jul 16, 2020

oll-core defines numerous new predicates:

$ git grep "define (.*?"
internal/module-handling.ily:#(define (oll-maintainer? obj)
internal/module-handling.ily:#(define (oll-maintainers? obj)
internal/module-handling.ily:#(define (repo-url? obj)
internal/module-handling.ily:#(define (oll-version-string? obj)
internal/module-handling.ily:#(define (oll-module-list? obj)
internal/options.ily:#(define (al-or-props? obj)
internal/options.ily:#(define (alist? obj)
internal/options.ily:#(define (oll-mand-prop? obj)
internal/options.ily:#(define (oll-mand-props? obj)
internal/options.ily:#(define (oll-accepted-prop? obj)
internal/options.ily:#(define (oll-accepted-props? obj)
internal/options.ily:#(define (prop-rule? obj)
internal/options.ily:#(define (enforcement-symbol? obj)
internal/options.ily:#(define (prop-rules? obj)
internal/options.ily:#(define (empty-parens? obj)
internal/os-path.ily:#(define (this-file-compiled?)
internal/properties.ily:#(define (property-definition? obj)
internal/properties.ily:#(define (prop-list? obj)
internal/properties.ily:#(define (configuration-filter? obj)
internal/properties.ily:#(define (symbol-list-or-boolean? obj)
internal/properties.ily:#(define (symbol-or-context-mod? obj)
load/templates.ily:#(define (variable-pair? obj)
temp-package-declaration.ily:#(define (oll-maintainer? obj)
temp-package-declaration.ily:#(define (oll-maintainers? obj)
temp-package-declaration.ily:#(define (integer-string? obj)
temp-package-declaration.ily:#(define (oll-version-string? obj)
util/grob-location.ily:#(define (ly:moment<=? mom1 mom2)
util/grob-location.ily:#(define (compound? sig)

Some of them are very specific and for local use only, such as enforcement-symbol? while others define rather generic data types such as symbol-list-or-boolean?. The latter should be composed to a common file that is included at the beginning. This will help developers preventing duplicate implementation of the same thing, help documenting predicates that might be of use for end-users too, and it might help keeping an eye on development in LilyPond itself.

@uliska uliska self-assigned this Jul 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant