寒河江宗広の側室の子（5男）として文亀元年（1501年）に生まれる。後継者争いを避けて仏門に入ったとみられ、法華院光栄を名乗る。永正元年（1504年）、父の死により後継者争いが発生、弟で正室の子であった孝広が永正2年（1505年）3歳にして寒河江氏を継いだ。しかし、大永7年（1527年）孝広が病を得て没すると、嗣子がなかったため法華院光栄が還俗して広種と改名し跡を継いだ。享禄元年（1528年）福泉寺を開基し、開山は本寺である澄江寺2代の象外棟玄大和尚が務めた。広種直筆の三社宣託が残る。寒河江城は南北朝時代末期から室町時代初期にかけて築城されたが、当初は方形単郭の平城であった。その後城の拡大に合わせて二の堰の開削が行われると二の丸・三の丸が築造され、広種の代には三重の堀を持つ連郭式平城となった（天文3年（1534年）制作（天正4年（1576年）銘）『寒河江城古絵図』）。永正18年（1521年）に攻め寄せた伊達氏はその後陸奥国での勢力拡大に傾注したことと、天文11年（1542年）から6年間続いた天文の乱により勢力を減衰させ、伊達氏の支配下にあった最上氏も争いに介入していたことなどから、広種の時代は比較的穏やかな治世だった。広種の姉妹は山野辺直広（山野辺城主）・中野氏（中野城主）に嫁いでおり、兄孝広の正室は楯岡義輔（楯岡城主）の娘であった。また、「永正本大江系図」によれば広種も「楯岡妹」を妻としたという。最上氏庶流と縁戚関係を軸とした同盟関係にあったと思われる。天文15年12月24日（1547年）数え46歳で亡くなり、跡を兼広が継いだ。広種没後、天文の乱で独立を果たした最上氏が領土拡張政策を取るようになると、争いに巻き込まれていくことになる。
かつて、石槫峠の約2 km区間は車重2トン以下、車幅2 m以下の普通車両なら通行可能な狭隘路で、暗峠（国道308号）とならび近畿二大峠酷道として知られていた区間でもある。特に狭い区間は車幅が2 m以上ある大型車が進入できないように、峠の頂上付近の滋賀県側と三重県側の入り口2箇所にコンクリートブロックが置かれて道幅が狭められ、その側面には無数の傷痕が残されていた。また、ブロックの直前にはUターンできるスペースが設けられていた。例年12月初旬から翌年3月末までは冬期閉鎖とされていたが、現在では鈴鹿山脈を貫く石榑トンネルの開通により、道路が改良されて通行車両制限は解消されている。
国道307号 - 終点の国道8号友定町交差点は、名神高速道路の八日市インターチェンジ (IC) との連絡路であることから、昼間の交通量は非常に多い。
旧道にあたる、かつての石槫峠区間は、通行車両に制限がかかった狭隘区間で、夏場から紅葉時期にかけての行楽シーズン中は通過に2時間以上かかることもよくあったといわれる。2008年9月2日の豪雨によってこの区間が通行止めとなって以降、三重県いなべ市大安町石榑（白龍神社入口）から滋賀県東近江市杠葉尾町（神崎橋）までの区間は国道として災害復旧されることなく、2011年3月26日の石榑トンネルが開通したのちに市道としていなべ市に移管された。
エラストテネスのふるいを使い素数生成を行うGuarded Horn Clauses (GHC) のプログラム例を示す。Prologと同様、MaxやPrimesなどの英大文字で始まる項は変数を表す。gen_primes(Max,Primes) :- gen(2,Max,Ns), sift(Ns,Primes).gen_primes/2を実行すると、gen/3とsift/2の2つのプロセスが生成される。gen/3はMaxまでの自然数のストリームを生成し、sift/2はそれをふるいにかけ素数のストリームをPrimesに返す。gen/3とsift/2とはそれぞれ並行して動き、gen/3で生成された自然数のストリームは変数Nsを介して順次sift/2に渡される。プロセス間の同期は、ストリームの各要素が具体化(Instantiation)されるまで待つ、という形で自然に表現される。gen/3、sift/2の各プログラムはそれぞれ以下のようになる。gen/3は、自然数のストリームを順次生成しMaxを超えたら終了する。sift/2は、2,3,5,7,..などの各素数の倍数をストリームから取り除くfilterプロセス(ふるい)を順に生成しながら、求まった素数を順次ストリームの要素として返す。各filterプロセスは変数を介して直列につながれていくため、自然数のストリームから素数のみのストリームを求めることができる。gen(N0,Max,Ns0) :- N0=<Max | Ns0=[N0|Ns1], N1:=N0+1, gen(N1,Max,Ns1).gen(N0,Max,Ns0) :- N0 >Max | Ns0=[].sift([Prime|Xs1],Zs0) :- Zs0=[Prime|Zs1], filter(Prime,Xs1,Ys), sift(Ys,Zs1).sift([],         Zs0) :- Zs0=[].filter(Prime,[X|Xs1],Ys0) :- X mod Prime=\=0 | Ys0=[X|Ys1], filter(Prime,Xs1,Ys1).filter(Prime,[X|Xs1],Ys0) :- X mod Prime=:=0 |              filter(Prime,Xs1,Ys0).filter(_,    [],     Ys0) :-                   Ys0=[].