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. | ||

