HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ianh
owl
C2018–2018
ianh / owl

owl

A parser generator for visibly pushdown languages.

4Distinct people
5Mentions
0Explicit recommenders
807GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A parser generator for visibly pushdown languages.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week5 dated mentions

Observed mentions: 2018-07-30 13:05:38 UTC to 2018-11-07 17:51:31 UTC. Weeks start Monday, UTC.

01232018-07-30 00:00:00 UTC to 2018-08-06 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 commentsJul 302018-08-06 00:00:00 UTC to 2018-08-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-08-13 00:00:00 UTC to 2018-08-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-08-20 00:00:00 UTC to 2018-08-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-08-27 00:00:00 UTC to 2018-09-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-09-03 00:00:00 UTC to 2018-09-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-09-10 00:00:00 UTC to 2018-09-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-09-17 00:00:00 UTC to 2018-09-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsSep 172018-09-24 00:00:00 UTC to 2018-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-10-01 00:00:00 UTC to 2018-10-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-10-08 00:00:00 UTC to 2018-10-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-10-15 00:00:00 UTC to 2018-10-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-10-22 00:00:00 UTC to 2018-10-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-10-29 00:00:00 UTC to 2018-11-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-11-05 00:00:00 UTC to 2018-11-12 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 commentsNov 5

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jul 302018-07-30 00:00:00 UTC2018-08-06 00:00:00 UTC312
Aug 62018-08-06 00:00:00 UTC2018-08-13 00:00:00 UTC000
Aug 132018-08-13 00:00:00 UTC2018-08-20 00:00:00 UTC000
Aug 202018-08-20 00:00:00 UTC2018-08-27 00:00:00 UTC000
Aug 272018-08-27 00:00:00 UTC2018-09-03 00:00:00 UTC000
Sep 32018-09-03 00:00:00 UTC2018-09-10 00:00:00 UTC000
Sep 102018-09-10 00:00:00 UTC2018-09-17 00:00:00 UTC000
Sep 172018-09-17 00:00:00 UTC2018-09-24 00:00:00 UTC000
Sep 242018-09-24 00:00:00 UTC2018-10-01 00:00:00 UTC000
Oct 12018-10-01 00:00:00 UTC2018-10-08 00:00:00 UTC000
Oct 82018-10-08 00:00:00 UTC2018-10-15 00:00:00 UTC000
Oct 152018-10-15 00:00:00 UTC2018-10-22 00:00:00 UTC000
Oct 222018-10-22 00:00:00 UTC2018-10-29 00:00:00 UTC000
Oct 292018-10-29 00:00:00 UTC2018-11-05 00:00:00 UTC000
Nov 52018-11-05 00:00:00 UTC2018-11-12 00:00:00 UTC211

What Hacker News says

5 sources
It appears that the most important restriction is on recursion: > This is what guarantees the language is visibly pushdown: all recursion is explicitly delineated by special symbols. > Plain recursion isn't allowed. Only two restricted kinds of recursion are available: guarded recursion and expression recursion. So the Owl grammar itself qualifies: https://github.com/ianh/owl/blob/master/grammar.owl JSON certainly qualifies: https://github.com/ianh/owl/blob/master/test/json.owl I think the full JavaScript language would have qualified in the past, when anonymous functions could only be the explicitly delimited "function() {}"... but now with ES6 we have fat arrow functions (for example "(x,y) => x+y") so I think modern JavaScript can no longer be parsed with Owl. That's because you can write something like "f = x => y => z => x+y+z" which
Read the rest
has no guard nor can it be parsed with expression recursion. I do not think you can do a C-like language because of function types. But you can do a simpler, C-like language, for which they have an good example in the test directory: https://github.com/ianh/owl/blob/master/test/something.owl
In Owl: Parser generator for visibly pushdown languages

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.