Journal Portage de TapTempo en Clojure (v2)

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
14
14
mar.
2018

Salut à tous. Voici une 2ème version en Clojure de TapTempo.
Je ne mets pas de référence vers le premier jet tellement il était à côté de la plaque (la version en Forth était beaucoup trop simpliste aussi). Désolé pour le bruit.

Dans celle-ci, nous avons :

  • Le lissage avec une vraie moyenne sur sample-size.

  • la gestion des arguments en ligne de commande avec validation des entrées :

    • nombre de samples
    • précision de l'affichage
    • reset après un certain temps
    • version
    • (…)

Journal Journal Portage de TapTempo en Forth

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
13
11
mar.
2018

Salut à tous. Voici un portage de TapTempo en Forth.

5 set-precision
6 Constant steps

: now utime drop ;
: calc-tempo steps 60 1000 1000 * * * s>f   drop now swap - s>f   f/ ;
: print-tempo ." Tempo: " f. ." bpm" cr ;
: restart now steps ;

: main
  ." Appuyer sur la touche entrée en cadence (q pour quitter)." cr
  restart
  begin
    key 113 <> while 1- dup 0 = if calc-tempo print-tempo restart
(…)

Journal Portage de TapTempo en Clojure

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
11
10
mar.
2018

Salut à tous.

Voici une version en Clojure. Rien de remarquable, juste qu'on affiche le tempo tous les 6 battements.
Il n'y a pas la prise en charge d'arguments ou d'internationalisation.

(ns taptempo.core
  (:import jline.console.ConsoleReader)
  (:gen-class))

(defn now []
  (System/currentTimeMillis))

(defn read-char []
  (->(ConsoleReader.) (.readCharacter) char))

(defn calc-tempo [start end taps]
  (* (/ taps (- end start))
(…)

Journal Nouvelle version de CLFSWM.

Posté par  (site web personnel) . Licence CC By‑SA.
23
12
juin
2011

La version 1106 de CLFSWM vient de sortir récemment. CLFSWM (Common Lisp FullScreen Window Manager) est un gestionnaire de fenêtres ou les fenêtres sont la plupart du temps maximisées à l'écran. Dans le principe, CLFSWM est constitué de cadres qui peuvent contenir d'autres cadres ou des fenêtres. Il peut être manipulé au clavier ou avec la souris (pas de dogme). Et il dispose de menus pour les actions moins fréquentes.

Le cadre ou la fenêtre courante est maximisé (…)

Journal Javascript plus rapide que python ! (une suite possible)

Posté par  (site web personnel) .
Étiquettes : aucune
24
7
juil.
2010

Bonjour, suite au journal de Kopec et au commentaire d'Axioplase ıɥs∀, je me suis amusé à tester l'algorithme pour trouver des nombres amis avec plusieurs langages : Python, C, Lisp, Lua et forth.

Voici les résultats que j'ai obtenu.

C                                            0.466      1
sbcl (compilé, optim, sans cons)             0.468      1
sbcl (compilé, optimisation)                 0.511      1.09
sbcl (compilé, sans optimisation)            0.878      1.88
gforth-fast                                  1.025      2.19
sbcl (sans optimisation)                     1.59       3.41
gforth                                       2.761      5.92
lua                                          7.377     15.8
python                                      29.877     64.1

Ce (…)

Journal Lancer des sorts en Common Lisp.

Posté par  (site web personnel) .
Étiquettes : aucune
0
4
fév.
2005
Cher journal, je voudrai te parler d'une BD/tutoriel qui est passée il y a quelques temps sur http://groups-beta.google.com/group/comp.lang.lisp/browse_frm/threa(...) et http://planet.lisp.org/(...) :

http://www.lisperati.com/(...)

L'auteur, Conrad Barski, décrit comment programmer un petit jeu d'aventure en Common Lisp.
Il introduit en douceur la programmation fonctionnelle et les macros qu'il appelle sorts (SPEL : "Semantic Program Enhancement Logic"), le tout agrémenté de dessins.

Le code de ce petit jeu se trouve ici : http://www.lisperati.com/code.html(...)
et un exemple de partie ici : http://www.lisperati.com/cheat.html(...)

Conrad Barski (…)