diff --git a/meta.typ b/meta.typ index b00394b..5ae119e 100644 --- a/meta.typ +++ b/meta.typ @@ -12,7 +12,7 @@ #let school = "Haute École d'Ingénierie de Sion" #let programme = "Informatique et systèmes de communication (ISC)" -#let keywords = ("engineering", "type systems", "hybrid typing") +#let keywords = ("engineering", "type systems", "hybrid typing", "python") #let major = "Data engineering" #let date = datetime(year: 2026, month: 7, day: 24) // Date of the thesis & the declaration (or datetime.today()) diff --git a/report/pages/abstract.typ b/report/pages/abstract.typ index 157a12c..6a5479b 100644 --- a/report/pages/abstract.typ +++ b/report/pages/abstract.typ @@ -1,9 +1,20 @@ #import "@preview/isc-hei-bthesis:0.8.1" : * +#import "@preview/acrostiche:0.7.0": acrfull #page-title("Abstract") #v(1fr) +Python's duck typing philosophy is often the source of errors, especially in data-oriented domains. +Midas is a new type system built on top of Python that intends to provide both strict static type checking and runtime assertions to ensure data integrity. +Midas includes its own type definition language for any domain-specific needs. +It also provides extensive type checking of Pandas DataFrame schemas and operations, such as aggregation methods. +Cast expressions are checked statically for literal values or generate runtime assertions that verify conformance if it cannot be judged at compile-time. +The whole system is built from scratch, except for the definition language parser which is adapted from another project. +The type system is first approached from a theoretical perspective, drawing from #acrfull("TaPL"). +The implementation is then developed step by step, component by component. + +/* The abstract of a bachelor thesis should provide a concise summary of the entire work. It typically includes: - The context and motivation for the research. @@ -15,7 +26,6 @@ The abstract of a bachelor thesis should provide a concise summary of the entire The abstract should be self-contained, clear, and usually does not exceed 250–300 words. It allows readers to quickly understand the purpose and outcomes of the thesis without reading the full document. The abstract *must* be written in both French and English. - -#lorem(150) +*/ #abstract-footer("en") \ No newline at end of file diff --git a/report/pages/résumé.typ b/report/pages/résumé.typ index 8b5d6aa..498c3f0 100644 --- a/report/pages/résumé.typ +++ b/report/pages/résumé.typ @@ -1,9 +1,21 @@ #import "@preview/isc-hei-bthesis:0.8.1" : * +#import "@preview/acrostiche:0.7.0": acrfull +#set text(lang: "fr", region: "ch") #page-title("Résumé") #v(1fr) +En Python, la philosophie de _duck typing_ est souvent source d'erreurs, en particulier dans des domaines liés aux données. +Midas est un nouveau système de types construit sur Python qui vise à offrir une vérification statique stricte et des assertions à l'exécution pour garantir l'intégrité des données. +Midas inclut son propre langage de définition de types pour tous besoins spécifiques à un domaine. +Il fournit également une vérification étendue des schémas et opérations sur les DataFrames Pandas, comme les méthodes d'agrégation. +Les expression de casting sont vérifiée statiquement sur les valeurs littérales ou génèrent des assertions à l'exécution qui vérifient la conformité si elle ne peut pas être jugée à la compilation. +L'entièreté du système est construit de zéro, à l'exception du parser pour le langage de définition qui est adapté d'un autre projet. +Le système de type est dans un premier temps abordé d'un point de vu théorique, en puisant dans #acrfull("TaPL"). +L'implémentation est ensuite développée étape par étape, composant par composant. + +/* Le résumé d’un mémoire de bachelor doit fournir un aperçu concis de l’ensemble du travail. Il inclut généralement : - Le contexte et la motivation de la recherche. @@ -15,7 +27,6 @@ Le résumé d’un mémoire de bachelor doit fournir un aperçu concis de l’en Le résumé doit être autonome, clair et ne pas dépasser habituellement 250 à 300 mots. Il permet aux lecteurs de comprendre rapidement le but et les résultats du mémoire sans lire l’intégralité du document. Le résumé doit être rédigé en français *et* en anglais. - -#lorem(150) +*/ #abstract-footer("fr") \ No newline at end of file