photog.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for your photos and banter. Photog first is our motto Please refer to the site rules before posting.

Administered by:

Server stats:

244
active users

#repl

0 posts0 participants0 posts today
Andrew Tropin<p>- Did you know that Guile's metacommands are comming to Arei soon?<br>- That we already have an incredibly useful guile stack traces viewer?<br>- That Ares now works with stable version of Guile and doesn't require guile-next?</p><p>No? We got you covered:</p><p><a href="https://youtu.be/VUnY1LY4Las" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/VUnY1LY4Las</span><span class="invisible"></span></a></p><p><a href="https://git.sr.ht/~abcdw/guile-ares-rs" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">git.sr.ht/~abcdw/guile-ares-rs</span><span class="invisible"></span></a><br><a href="https://git.sr.ht/~abcdw/emacs-arei" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">git.sr.ht/~abcdw/emacs-arei</span><span class="invisible"></span></a></p><p>Join the discussion:<br><a href="https://lists.sr.ht/~abcdw/rde-discuss" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">lists.sr.ht/~abcdw/rde-discuss</span><span class="invisible"></span></a></p><p><a href="https://fosstodon.org/tags/guile" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>guile</span></a> <a href="https://fosstodon.org/tags/scheme" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>scheme</span></a> <a href="https://fosstodon.org/tags/repl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>repl</span></a> <a href="https://fosstodon.org/tags/guix" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>guix</span></a></p>
Artyom Bologov<p>Planning to write a post on <a href="https://merveilles.town/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a> <a href="https://merveilles.town/tags/REPL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>REPL</span></a> customization. Gathering state-of-the-art customizations. Remembered that I implemented native graphical debugger in <a href="https://merveilles.town/tags/Nyxt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Nyxt</span></a> once (immortalized in Ndebug <a href="https://github.com/atlas-engineer/ndebug" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/atlas-engineer/ndeb</span><span class="invisible">ug</span></a>). Went to check on the current state of Nyxt-native debugging. </p><p>And yes, native debugger was removed too, much like many other signature features. Which might be a reason to hold a grudge about my work being erased, I guess? </p><p>But I'm more saddened about this exemplary REPL hacking piece gone missing, really. I want to point at good examples of custom REPLs in my new post... and there aren't many anymore 😢</p>
Helmut Tammen<p><span class="h-card" translate="no"><a href="https://hachyderm.io/@qmacro" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>qmacro</span></a></span> is doing a great presentation about <a href="https://saptodon.org/tags/CAP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CAP</span></a> <a href="https://saptodon.org/tags/repl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>repl</span></a> at <a href="https://saptodon.org/tags/recap2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>recap2025</span></a>.</p>
Dorian Santner 🇦🇹<p>Ich habe gerade <a href="https://graz.social/tags/Strudel" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Strudel</span></a> entdeckt:<br>Musik interaktiv scripten - was für eine Freude!</p><p><a href="https://graz.social/tags/komponieren" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>komponieren</span></a>, <a href="https://graz.social/tags/arrangieren" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>arrangieren</span></a>, <a href="https://graz.social/tags/samples" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>samples</span></a>, <a href="https://graz.social/tags/synth" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>synth</span></a> und <a href="https://graz.social/tags/Soundeffekte" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Soundeffekte</span></a>,<br>alles via <a href="https://graz.social/tags/REPL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>REPL</span></a> (oder <a href="https://graz.social/tags/Midi" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Midi</span></a>), inkl. aller <a href="https://graz.social/tags/Sounds" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Sounds</span></a> des Internets <br><a href="https://graz.social/tags/musik" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>musik</span></a> im <a href="https://graz.social/tags/Browser" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Browser</span></a> <a href="https://graz.social/tags/opensource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opensource</span></a></p><p><a href="https://strudel.cc/workshop/getting-started/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">strudel.cc/workshop/getting-st</span><span class="invisible">arted/</span></a></p>
Digital Mark λ ☕️ 🕹 🙄<p>Everyone: Python is weird, main starts with:<br>if __name__=="__main__":<br> main(sys.argv[1:])</p><p>Me, side-eye:<br>(unless (member (program-name) '("chez" "petit" "scheme")) ;; is REPL<br> (main (command-line-arguments))<br>)</p><p><a href="https://appdot.net/tags/scheme" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>scheme</span></a> <a href="https://appdot.net/tags/repl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>repl</span></a></p><p>(I also sometimes use (member "--run" (command-line-arguments)) or the like, but program-name is clearer.<br>Some Schemes call main if you use it as a command-line program, not with load or include, but Chez leaves that up to you. RnRS specs are silent on the issue.)</p>
Karsten Schmidt<p><a href="https://mastodon.thi.ng/tags/ReleaseWednesday" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ReleaseWednesday</span></a> — Extracted &amp; extended the LISP-like DSL from an existing <a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ThingUmbrella</span></a> example[1] as new small package for better/direct re-use in other projects:</p><p><a href="https://thi.ng/lispy" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/lispy</span><span class="invisible"></span></a></p><p>The core language is kept intentionally minimal, aimed at simple sandboxed data transformations/derivations, small code snippets/expressions in GUIs or config settings. However, the language is very easy to extend/customize with new functions or control flow constructs etc. Currently, the language is interpreted and has the following builtins (see screenshots). There's no macro support so far (and not sure if that's even desired here)...</p><p>[1] The original <a href="https://mastodon.thi.ng/tags/HowToThing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HowToThing</span></a> example browser REPL this was extracted from (and which has now been updated to use the new package):</p><p><a href="https://demo.thi.ng/umbrella/lispy-repl/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">demo.thi.ng/umbrella/lispy-rep</span><span class="invisible">l/</span></a><br> <br><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/Lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Lisp</span></a> <a href="https://mastodon.thi.ng/tags/DSL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DSL</span></a> <a href="https://mastodon.thi.ng/tags/FunctionalProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FunctionalProgramming</span></a> <a href="https://mastodon.thi.ng/tags/REPL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>REPL</span></a></p>
Vassil Nikolov | Васил Николов<p><span class="h-card" translate="no"><a href="https://oldbytes.space/@amoroso" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>amoroso</span></a></span></p><p>Yes, a REPL is a treasure.</p><p>Probably worth repeating all these points (and more) for the benefit of all those who don't know them yet.</p><p>"It’s not clear how to reload code after it has changed."<br>is a valid point for Python as well.</p><p><a href="https://ieji.de/tags/InteractiveProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>InteractiveProgramming</span></a><br><a href="https://ieji.de/tags/REPL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>REPL</span></a></p>
Paolo Amoroso<p>Eric Normand on REPL-driven development in Lisp and other languages:</p><blockquote><p>The REPL accelerates learning by increasing the speed and information richness of feedback.</p><p>[...]</p><p>Fast, rich feedback is essential to achieving a flow state.</p></blockquote><p><a href="https://ericnormand.substack.com/p/repl-driven-development-and-learning" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">ericnormand.substack.com/p/rep</span><span class="invisible">l-driven-development-and-learning</span></a></p><p><a href="https://oldbytes.space/tags/repl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>repl</span></a> <a href="https://oldbytes.space/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a> <a href="https://oldbytes.space/tags/clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojure</span></a></p>
Artyom Bologov<p>Who in the world though it a good idea putting their custom readtables into libraries intended for outside use? I don't want your hash table syntax, I want MINE. Don't pollute the readtable and other aspects of someone else's image if you're providing a library. The library you're making should be portable and clean <a href="https://merveilles.town/tags/CommonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CommonLisp</span></a>, not some unreadable <a href="https://merveilles.town/tags/DSL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DSL</span></a> you use in your <a href="https://merveilles.town/tags/REPL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>REPL</span></a>. It's fine in the REPL, but not in libraries. Keep it clean. Simple courtesy.</p><p>Not pointing fingers, but everyone doing that shall be ashamed.</p><p><a href="https://merveilles.town/tags/theRant" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>theRant</span></a></p>
jbz<p>Schemesh: A Unix shell and Lisp REPL, fused together </p><p><a href="https://github.com/cosmos72/schemesh" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/cosmos72/schemesh</span><span class="invisible"></span></a></p><p><a href="https://indieweb.social/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a> <a href="https://indieweb.social/tags/repl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>repl</span></a> <a href="https://indieweb.social/tags/shell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>shell</span></a> <a href="https://indieweb.social/tags/opensource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opensource</span></a></p>
Aral Balkan<p>Your web server having an interactive shell (REPL) where you can live update entries in your site/app’s database is pretty neat (if I do say so myself) :)</p><p><a href="https://kitten.small-web.org/reference/#kitten-s-interactive-shell-repl" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/reference</span><span class="invisible">/#kitten-s-interactive-shell-repl</span></a></p><p>(I’m porting the Small Technology Foundation site¹ from Site.js² – and hence from being a static site generated via Site.js’s integrated Hugo³ – to Kitten⁴. In the process, I’m creating an admin panel⁵ for the news, events, and videos sections, which will make them easier to update, and storing the data in Kitten’s internal JavaScript Database⁶.)</p><p>¹ <a href="https://small-tech.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">small-tech.org</span><span class="invisible"></span></a><br>² <a href="https://sitejs.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">sitejs.org</span><span class="invisible"></span></a><br>³ <a href="https://gohugo.io/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">gohugo.io/</span><span class="invisible"></span></a><br>⁴ <a href="https://kitten.small-web.org" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">kitten.small-web.org</span><span class="invisible"></span></a><br>⁵ It’s trivial to create authenticated routes in Kitten. You just add a lock emoji (🔒) to the end of your route’s name. e.g., admin🔒.page.js or /admin🔒/index.page.js (see <a href="https://kitten.small-web.org/reference/#sessions-and-authentication" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitten.small-web.org/reference</span><span class="invisible">/#sessions-and-authentication</span></a>).<br>⁶ <a href="https://codeberg.org/small-tech/jsdb" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">codeberg.org/small-tech/jsdb</span><span class="invisible"></span></a></p><p><a href="https://mastodon.ar.al/tags/Kitten" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Kitten</span></a> <a href="https://mastodon.ar.al/tags/REPL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>REPL</span></a> <a href="https://mastodon.ar.al/tags/shell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>shell</span></a> <a href="https://mastodon.ar.al/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://mastodon.ar.al/tags/database" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>database</span></a> <a href="https://mastodon.ar.al/tags/JavaScriptDatabase" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScriptDatabase</span></a> <a href="https://mastodon.ar.al/tags/JSDB" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JSDB</span></a> <a href="https://mastodon.ar.al/tags/SmallTechnologyFoundation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SmallTechnologyFoundation</span></a> <a href="https://mastodon.ar.al/tags/SiteJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SiteJS</span></a> <a href="https://mastodon.ar.al/tags/Hugo" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Hugo</span></a> <a href="https://mastodon.ar.al/tags/web" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>web</span></a> <a href="https://mastodon.ar.al/tags/dev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dev</span></a> <a href="https://mastodon.ar.al/tags/NodeJS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NodeJS</span></a></p>
vintage screwlisp account<p>So my question is, what's an intuitive way to use dropping-in- <a href="https://mastodon.sdf.org/tags/fortran" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fortran</span></a> from the <a href="https://mastodon.sdf.org/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a> <a href="https://mastodon.sdf.org/tags/repl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>repl</span></a> ?<br>Reading a .f file ~ into a let* form which I'm currently doing seems kind of bland. <a href="https://mastodon.sdf.org/tags/f" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>f</span></a>( this(1) = is(2) + a / fortran * line) seems kind of uninspiring (who would want to express themselves like this). Maybe Enter "fortran mode" and read lines of fortran from *standard-input* with normal interactive evaluation hacked in?</p><p>The fortran becomes <a href="https://mastodon.sdf.org/tags/series" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>series</span></a> expressions in lisp.</p>
☮ ♥ ♬ 🧑‍💻<p>I’ll write up the recipe tomorrow. The install is quick (3hrs) by compile from source <a href="https://ioc.exchange/tags/zig" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>zig</span></a>, <a href="https://ioc.exchange/tags/nix" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>nix</span></a>, <a href="https://ioc.exchange/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a>, <a href="https://ioc.exchange/tags/roclang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>roclang</span></a> standards. </p><p><a href="https://ioc.exchange/tags/HelloWorld" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HelloWorld</span></a> / <a href="https://ioc.exchange/tags/roc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>roc</span></a> <a href="https://ioc.exchange/tags/roclang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>roclang</span></a> <a href="https://ioc.exchange/tags/repl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>repl</span></a> / <a href="https://ioc.exchange/tags/raspberrypi" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>raspberrypi</span></a></p>
vintage screwlisp account<p>Despite ample evidence to the contrary, <a href="https://mastodon.sdf.org/tags/Ilive" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Ilive</span></a> (hmm, if I were also <a href="https://mastodon.sdf.org/tags/evil" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>evil</span></a>, that would be a pallindrome as well as a visual collision)<br>Fascinating (if I do say so) <a href="https://mastodon.sdf.org/tags/lispgames" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lispgames</span></a> <a href="https://mastodon.sdf.org/tags/gamejam" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gamejam</span></a> <a href="https://mastodon.sdf.org/tags/gamedev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>gamedev</span></a> <a href="https://mastodon.sdf.org/tags/retrospective" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>retrospective</span></a> on <a href="https://mastodon.sdf.org/tags/itch_io" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>itch_io</span></a> <br><a href="https://lispy-gopher-show.itch.io/lispmoo2/devlog/834615/princess-revisited" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">lispy-gopher-show.itch.io/lisp</span><span class="invisible">moo2/devlog/834615/princess-revisited</span></a><br>I am enormously happy with the <br>{ verb [ dobj [ prep iobj ] ] } x<br>language dynamic, and how it shares your <a href="https://mastodon.sdf.org/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a> <a href="https://mastodon.sdf.org/tags/repl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>repl</span></a>, and their concerns are just... Different so they don't collide.<br>I guess I get my <a href="https://mastodon.sdf.org/tags/languageDesign" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>languageDesign</span></a> friends a little better now.<br>Thoughts?</p>
Feoh<p>I 😍 😍 😍 your Europython live coding <a href="https://oldbytes.space/tags/MIDI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MIDI</span></a> demo talk!</p><p>I have always found working with a <a href="https://oldbytes.space/tags/REPL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>REPL</span></a> <br> and iteratively building interestingly dynamic systems to be one of the most under-sold aspects of modern computing!</p><p><a href="https://www.youtube.com/watch?v=dK6HGcSb60Y" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=dK6HGcSb60</span><span class="invisible">Y</span></a></p><p><a href="https://oldbytes.space/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a></p>
🇺🇦 Myke :emacs: :clojure:<p>New blogging engine written in <a href="https://fosstodon.org/tags/clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojure</span></a> required a post about clojure, so here. Following up on the constant question of monitoring file changes vs <a href="https://fosstodon.org/tags/repl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>repl</span></a> driven development:</p><p><a href="https://myke.blog/posts/clojure-interactive-development-101" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">myke.blog/posts/clojure-intera</span><span class="invisible">ctive-development-101</span></a></p>
lispm<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@amoroso" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>amoroso</span></a></span> <a href="https://moth.social/tags/symbolics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>symbolics</span></a> <a href="https://moth.social/tags/genera" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>genera</span></a> naturally also has graph drawing features. Attached screenshot shows a simple example. In the Listener (-&gt; <a href="https://moth.social/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a> <a href="https://moth.social/tags/repl" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>repl</span></a>) I define a new command Show Flavor Tree. It displays the inherited Flavors. Flavors are early classes on the <a href="https://moth.social/tags/lispmachine" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lispmachine</span></a>. The Listener is also a drawing plane. The command takes the name of a flavor class, then calls the graph formatter with arguments. PRESENT-FLAVOR prints the flavor and makes it mouse sensitive.</p>