Subject: sheme - ajouter des éléments à une alist

From: Daniel Cartron <[email-masked]>
Date: Fri, 24 Apr 2015 07:58:56 +0200

Bonjour,

J'ai trouvé comment ajouter des éléments au premier niveau mais là j'ai besoin 
de passer au second. Explications : 

(define mylist
  `(
    (key1 . ((subkey1 . ,(value1 value2)) ) )
))

et je voudrais ajouter (subkey2 . ,(value1 value2)) dans la sous liste key1. 
Ou concaténer/append/autre chose une liste à key1

On a le droit de faire ça ?

Merci

-- 
Cordialement, Daniel Cartron
« Il y a des femmes dont l'infidélité est le seul lien qui les attachent à leur 
mari. »
Sacha Guitry —  Bloompott, exergue du chapitre 13

---

From: PharoahS <[email-masked]>
Date: Fri, 24 Apr 2015 10:08:11 -0700 (MST)

essaie de trouver qqchose qui te donne pour (qqchose mylist)
=> (subkey1 ....)
Avec (define sk2 '(subkey2 ....)
(append (qqchose mylist) sk2) devrait donner (subkey1 .... subkey2 ...)
mais çà ne met pas à jour mylist
Si çà donne le bon resultat essaie de remplacer append par nconc qui lui
remplace les choses au lieu de simplement les afficher.

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/sheme-ajouter-des-elements-a-une-alist-tp7582834p7582836.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Daniel Cartron <[email-masked]>
Date: Fri, 24 Apr 2015 19:58:11 +0200

> remplace les choses au lieu de simplement les afficher.

Ouille, va falloir que je cogite, tes explications sont riches mais succinctes 
pour mon niveau.

Mais néanmoins un grand merci.

En fait ce que je cherche à faire c'est juste ajouter quelques notes au 
langage courant, pour me permettre de saisir des infos de tablature sans 
devoir créer un nouveau langage, swapper de l'un à l'autre, etc.

J'ai trouvé il y a qq minutes ça 
http://lilypond.1069038.n5.nabble.com/trying-to-add-a-new-language-td29878.html#a29880
mais ça m'a l'air d'ajouter un nouveau langage, ça ne m'intéresse pas.

-- 
Cordialement, Daniel Cartron
« Il ne faut pas désespérer des imbéciles. Avec un peu d'entraînement, on peut 
arriver à en faire des militaires. »
Pierre Desproges - Fonds de tiroir

---

From: PharoahS <[email-masked]>
Date: Fri, 24 Apr 2015 11:20:25 -0700 (MST)

Peux tu ecrire un court exemple de mylist, un exemple de masouslist et
comment tu voudrais que mylist soit transformée?

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/sheme-ajouter-des-elements-a-une-alist-tp7582834p7582838.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Daniel Cartron <[email-masked]>
Date: Fri, 24 Apr 2015 21:40:11 +0200

> comment tu voudrais que mylist soit transformée?

Oui mais demain matin parce que je suis du genre à me coucher à 22h et me 
lever à 5h...

-- 
Cordialement, Daniel Cartron
« En essayant continuellement on finit par réussir. Donc : plus ça rate plus on 
a de chances que ça marche. »
Devise Shadock

---

From: Daniel Cartron <[email-masked]>
Date: Sat, 25 Apr 2015 07:06:47 +0200

> comment tu voudrais que mylist soit transformée?

#(define fisarmonica
  '(
    (i . ,(ly:make-pitch 8 0 DOUBLE-SHARP))   ; input note, ie a closing note
    (o . ,(ly:make-pitch 8 0 DOUBLE-FLAT))    ; output note, ie a drawing note
  ))

et je voudrais que ça soit ajouté à 

(define-public language-pitch-names
  `(
    (nederlands . (
		.../...
	       ))
    ))
par exemple.

Mais idéalement j'aimerais que ça soit ajouté non à nederlands mais à italiano 
ou vlaams si c'est le langage que j'utilise pour saisir ma musique. Sinon tant 
pis ce sera plus lourd mais j'ajouterai ça à tous les langages...

-- 
Cordialement, Daniel Cartron
«  Je me suis toujours demandé si les gauchers passaient l'arme à droite. »
Alphonse Allais

---

From: PharoahS <[email-masked]>
Date: Sat, 25 Apr 2015 11:31:08 -0700 (MST)

J'ai pensé à un truc:

tu fais (define fisarmonica ....)

(define nederlands ....)
(define vlamms ....)
(defines italiano ....)

si tu fais
(define langues (list nederlands vlaams italiano)) tu as ta liste
d'associations originale)
en revanche si tu fais par exemple 
(set! italiano (append italiano fisarmonica)
avant ton  
(define langues (list nederlands vlaams italiano))
çà devrait correspondre à ce que tu veux.

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/sheme-ajouter-des-elements-a-une-alist-tp7582834p7582847.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 29 Apr 2015 10:56:30 +0200

Bonjour,

Je reviens sur ce sujet maintenant que j'ai bien avancé sur les autres.

> tu fais (define fisarmonica ....)

C'est bien moi qui écrit fisarmonica mais les autres sont définis dans 
scm/define-note-names.scm par lilypond, je n'ai pas la main.

> (set! italiano (append italiano fisarmonica)

Donc cette commande ne donne rien :
In expression (set! nederlands (append nederlands fisarmonica)):
Unbound variable: nederlands

Je cherche à faire un append de second niveau en fait, puisque 
(define-public language-pitch-names
  `(
    (nederlands . (
.../...         ))
    ))
existe déjà, je veux ajouter des entrées à nederland mais je ne sais pas 
comment dire que c'est là que je veux les mettre.

-- 
Cordialement, Daniel Cartron
« Perdre l'un de ses parents peut être regardé comme un malheur. Perdre les 
deux ressemble à de la négligence. »
Oscar Wilde - Il importe d'être constant

---

From: PharoahS <[email-masked]>
Date: Wed, 29 Apr 2015 03:12:39 -0700 (MST)

au lieu de faire une serie de choses comme (define vlaams ....)
ne serait il pas possible de faire des (define vlammsbis ....) qui
recuperent ce qui existe déjà dans lilypond
puis faire comme je l'ai indiqué. 

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/sheme-ajouter-des-elements-a-une-alist-tp7582834p7582892.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 29 Apr 2015 12:33:50 +0200

> puis faire comme je l'ai indiqué. 

Ben ça me tente guère, ça voudrait dire remplacer tous les langages de 
lilypond par des langages persos, ça modifie trop en profondeur le comportement 
du programme. Je veux juste ajouter qq pseudo-notes pour me permettre de 
saisir des tablatures et non des musiques.

-- 
Cordialement, Daniel Cartron
« Les cons gagnent toujours. Ils sont trop. »
François Cavanna - Coups de sang

---

From: PharoahS <[email-masked]>
Date: Wed, 29 Apr 2015 07:01:06 -0700 (MST)

Je ne suggere pas de réécrire des langages persos mais de récupérer ceux de
lilypond un par un pae une série de défine
comme dans ma premiere réponse ou par une boucle. puis au moment ou tu
recuperes le langage qui t'intéresse tu fais un append avec fisarmonica sur
ce que tu ass récupéré (pas sur la variable gobale de Lilyipond.
Quand tu as ainsi tout récupéré dans mylist tu peux faire (set! lilypondlist
mylis)
Je ne sais pas si c'est aisé dans ce cas précis.

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/sheme-ajouter-des-elements-a-une-alist-tp7582834p7582895.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: PharoahS <[email-masked]>
Date: Wed, 29 Apr 2015 08:21:53 -0700 (MST)

Sans aucun rapport avec ce qui precede j'ai lu qu'il fallait prononcer skim
et pas chem. Pas sur que je vais dire comme cà dans ma tete.
C'est comme Latex il faudrait prononcer lateK

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/sheme-ajouter-des-elements-a-une-alist-tp7582834p7582896.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 29 Apr 2015 18:47:42 +0200

> et pas chem. Pas sur que je vais dire comme cà dans ma tete.

Prononciation anglaise, normal.

> C'est comme Latex il faudrait prononcer lateK

Là par contre j'ai su pourquoi on dit comme ça mais j'ai oublié...

-- 
Cordialement, Daniel Cartron
Dans un village, un barbier rase les gens qui ne se rasent pas eux-mêmes et 
seulement ceux-là. 
Question : le barbier se rase-t-il lui-même ?
Bertrand Russell