Skip to main content
Search type Search syntax
Tags [tag]
Exact "words here"
Author user:1234
user:me (yours)
Score score:3 (3+)
score:0 (none)
Answers answers:3 (3+)
answers:0 (none)
isaccepted:yes
hasaccepted:no
inquestion:1234
Views views:250
Code code:"if (foo != bar)"
Sections title:apples
body:"apples oranges"
URL url:"*.example.com"
Saves in:saves
Status closed:yes
duplicate:no
migrated:no
wiki:no
Types is:question
is:answer
Exclude -[tag]
-apples
For more details on advanced search visit our help page
Results tagged with
Search options not deleted user 15733

An overlapping feature of type theory and type systems.

1 vote
1 answer
178 views

First-order multi arity functions in dependent type?

(cross posted from Reddit https://www.reddit.com/r/dependent_types/comments/b1ts8b/firstorder_multi_arity_functions_in_dependent_type/? Take Agda for example, functions of multi arity is "encoded" as …
molikto's user avatar
  • 347
6 votes
1 answer
314 views

What will go wrong if a recursive record type has a negative eta rule?

In the context of Agda like dependent type theory: This short paper https://jesper.sikanda.be/files/vectors-are-records-too.pdf says some inductive type can be seen as records, for example Vector of …
molikto's user avatar
  • 347
1 vote
1 answer
205 views

Definitional equality of recursive function definition by "infinite unfolding"

The context is checking definitional equality in dependent type theory implementations. Consider in Coq Fixpoint predd(a: nat): nat := match a with | O => O | S b => predd(b) end. Fixpoi …
molikto's user avatar
  • 347
13 votes
2 answers
2k views

Is compiler for dependent type much harder than an intepreter?

I have been learning something about implementing dependent types, like this tutorial, but most of them is implementing interpreters. My question is, it seems that implementing a compiler for dependen …
molikto's user avatar
  • 347
3 votes
1 answer
283 views

Model foreign keys as dependent types?

A database consists a list of tables. For example you have a table of Worker and a table of Project where each project needs a worker, you might express it in ordinary PLs as this: type Worker = { nam …
molikto's user avatar
  • 347