Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs update #364

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from
Open

Docs update #364

wants to merge 1 commit into from

Conversation

TimWhiting
Copy link
Collaborator

Add fip fbip and tail keywords to documentation, spec and bison/yacc, as well as some documentation on named handlers.

@TimWhiting TimWhiting changed the base branch from master to dev September 22, 2023 04:35
Copy link
Contributor

@chtenb chtenb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would be great to have merged. I was reviewing a treesitter implementation for Koka (over at helix-editor/helix#8727), when I noticed that the grammar docs did not align with all of the present features.

doc/spec/tour.kk.md Outdated Show resolved Hide resolved
doc/spec/tour.kk.md Outdated Show resolved Hide resolved
doc/spec/grammar/lexer.l Outdated Show resolved Hide resolved
support/pygments/koka.py Show resolved Hide resolved
support/pygments/koka.py Outdated Show resolved Hide resolved
doc/spec/spec.kk.md Show resolved Hide resolved
@TimWhiting
Copy link
Collaborator Author

Let me know if you see any more discrepancies

'interface', 'break', 'continue', 'unsafe',
'co', 'rec', 'open', 'extend', 'behind',
'linear', 'value', 'reference',
'linear', 'value', 'reference',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not entirely sure about this, but isn't ref (a few lines down from here) a keyword too rather than a builtin?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually it is a built-in identifier. It is also the way to create a mutable reference cell.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh right, so it has a different meaning depending on the context. I guess that is not easy to encode in the pygments file, so the identifier was chosen here.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it's a tricky one.

'module', 'import', 'as',
'pub', 'abstract',
'module', 'import', 'as', 'mod'
'pub', 'abstract', 'ctx'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does ctx mean as a keyword?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://www.microsoft.com/en-us/research/uploads/prod/2023/07/fiptree-tr-v3.pdf

First class constructor contexts. You can start at section 3 of the paper, if you just want to get the high level idea of it. If you want to read the rest of the paper, and not just section 3 I would start at the beginning.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting. I see it is used only in the dev branch, so I hadn't spotted it before. Shouldn't this keyword also be mentioned in the parser and lexer definitions?

Copy link
Collaborator Author

@TimWhiting TimWhiting Dec 6, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I'll have to look at the Haskell parser to see how it is done. It's used both in a type context, and as a keyword in the creation of a constructor context.

Copy link
Contributor

@chtenb chtenb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noticed two other things

@chtenb
Copy link
Contributor

chtenb commented Dec 9, 2023

Over at https://github.com/helix-editor/helix/pull/8727/files @mtoohey31 noticed that the mod keyword isn't found on the dev or master branches. Where does this keyword come from?

@TimWhiting
Copy link
Collaborator Author

I should have checked. For whatever reason I thought Koka had shortened module to mod with all of the other keywords that got shortened. My bad.

@TimWhiting TimWhiting force-pushed the doc_fixes branch 2 times, most recently from 869e701 to c7fb71d Compare December 30, 2023 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants