Question

In the interactive shell and (online) REPL I can enter

:type 1

to find out the type of the expression "1". Is there any function that I can use from code to achieve the same effect?

Était-ce utile?

La solution

There is no easy way to do this at this time.

However, the REPL is itself written in Frege, so it certainly is possible.

The "trick" is to construct a complete program, like

module Foo where { x = 1 }

and run it through the first compiler passes, up to and including the type checking pass. After that, one could query the symbol table for the top level symbol x and its type.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top