Master’s Thesis Presentation • Programming Languages — Formal Semantics and Mechanized Soundness Proof for Fast Gradually Typed JavaScriptExport this event to calendar

Friday, August 24, 2018 1:30 PM EDT

Ellen Arteca, Master’s candidate
David R. Cheriton School of Computer Science

As dynamic scripting languages are increasingly used in industry in large-scale projects,a need has arisen for more some of the convenient features of statically typed languages. This lead to the development of gradual typing, a typing paradigm which is a compromise between static and dynamic  typing. In gradual typing, programmers can specify type annotations if and when they choose to; then, at compile time, the statically typed sections of code are type checked. In gradual typing, there is also a guarantee that any runtime type errors will be caught when they cross the boundary from typed to untyped code – type checks are inserted at runtime to ensure this. These runtime checks have the downside of adding significant overhead to the execution time, so much so that a recent paper [19] considered it potentially untenable.
 
Recent work has been done to develop faster implementations of sound gradually typed systems. In this thesis, we consider the work we presented in [15], for a fast gradually typed implementation of JavaScript, a popular dynamic scripting language. This thesis presents the formal semantics of this type system, and provides a mechanized soundness proof using the Coq proof assistant.
Location 
DC - William G. Davis Computer Research Centre
2310
200 University Avenue West

Waterloo, ON N2L 3G1
Canada

S M T W T F S
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
  1. 2024 (80)
    1. April (8)
    2. March (22)
    3. February (25)
    4. January (25)
  2. 2023 (296)
    1. December (20)
    2. November (28)
    3. October (15)
    4. September (25)
    5. August (30)
    6. July (30)
    7. June (22)
    8. May (23)
    9. April (32)
    10. March (31)
    11. February (18)
    12. January (22)
  3. 2022 (245)
  4. 2021 (210)
  5. 2020 (217)
  6. 2019 (255)
  7. 2018 (217)
  8. 2017 (36)
  9. 2016 (21)
  10. 2015 (36)
  11. 2014 (33)
  12. 2013 (23)
  13. 2012 (4)
  14. 2011 (1)
  15. 2010 (1)
  16. 2009 (1)
  17. 2008 (1)