Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
research:software:gsf [2018/10/18 15:19] – [Example 2: respecting parametricity] mtoro | research:software:gsf [2018/10/18 16:58] (current) – [The source program area] mtoro | ||
---|---|---|---|
Line 134: | Line 134: | ||
Here you can select examples from a predefined list of examples. Once an example is selected, a description is shown below and the source of the example is presented in the following area. | Here you can select examples from a predefined list of examples. Once an example is selected, a description is shown below and the source of the example is presented in the following area. | ||
- | ==== The source program | + | ==== The scractchpad |
Line 155: | Line 155: | ||
==== The action area ==== | ==== The action area ==== | ||
- | {{: | + | {{: |
- | Here you can type check the source program by clicking the " | + | Here you can type check the source program by clicking the " |
+ | The other button is "CLEAR SCARTCHPAD" | ||
Line 264: | Line 265: | ||
==== Example 3: respecting scoping ==== | ==== Example 3: respecting scoping ==== | ||
- | GSF ensures proper scoping of type variables at runtime. | + | GSF ensures proper scoping of type variables at runtime. |
+ | Consider | ||
{{: | {{: | ||
- | reduces | + | This program, contrary |
{{: | {{: | ||
Line 275: | Line 277: | ||
==== Example 3: respecting instantiations ==== | ==== Example 3: respecting instantiations ==== | ||
- | GSF enforces type instantiations even when applied to an imprecisely-typed value. | + | GSF enforces type instantiations even when applied to an imprecisely-typed value. |
{{: | {{: | ||
- | This program | + | This program, contrary to prior work, throws a runtime |
{{: | {{: | ||
- | because the function is expecting an integer as argument and a boolean is passed instead. |