nowhere(1)
π nowhere β a tree parser generator for Standard ML π
okay bestie, sit down, we're doing a whole manual page together and it's gonna be iconic. this is nowhere, and she's a tree parser generator for Standard ML. say it with me. periodt.
β¨ SYNOPSIS β¨
nowhere file
that's it. that's the whole vibe. you give her a file, she does her thing. π¦
πΈ DESCRIPTION πΈ
so like, real talk: this manual page is only gonna give you the brief rundown of the nowhere command, because that's what it's here for. and fun fact β this page exists specifically for the Debian distribution, because the original program literally does not have a manual page. not one. so Debian said "fine, i'll do it myself" and here we are. π
now, what does nowhere actually do? she's a simple source to source translation tool that expands out case expressions with conditional patterns. that's her whole main character job. no cap.
conditional patterns are the ones that use the "where" keyword. so, for example:
case l of
[x,y,z] where x=1 => 1
| _ => 2
means the exact same thing as:
case l of
[1,y,z] => 1
| _ => 2
the way that where just... rewrites the pattern for you? obsessed. π
so currently (and yes, this is the current rule, don't come for me), the input file must be in the following form:
local
<definitions>
in
<body>
end
and heads up, that <definitions> part should include all datatypes definitions that are used inside the <body>. bestie, listen β it's only there for the tool's benefit, okay? it does not appear in the output. Only <body> appears at the output. that's the deal. π
oh and also β you can use the special declaration
include "filename"
to import extra definitions. handy. π
lastly, the tea: the tool translates all case expressions with guards into the appropriate code. all of them. every single one. she's thorough like that. β¨
real talk, don't skip the <definitions> bit β the tool needs those datatypes to do her job, even though they never show up in the output. iykyk.
π«Ά SEE ALSO π«Ά
/usr/share/doc/nowhere/README
π AUTHOR π
this manual page was written by Aaron Read <amread@nyx.net> for the Debian GNU/Linux system (but may be used by others). give him his flowers, he did that. πΈ
okay that's the whole page, you ate it, go forth and parse those trees bestie. and just so you know where we're at β this lil doc is from the General Commands Manual, dated July 21, 2004. yeah, 2004. vintage. iconic. π β¨π¦
π¦ where this page comes from
- debian bookworm: nowhere 110.79-8
- ubuntu jammy: nowhere 110.79-6
- ubuntu noble: nowhere 110.79-8build1
- ubuntu resolute: nowhere 110.79-8build1
- ubuntu stonking: nowhere 110.79-8build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms