Changeset 8a5aeac


Ignore:
Timestamp:
Aug 18, 2025, 8:48:30 AM (4 weeks ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
7ea4073
Parents:
a43b743
Message:

more proofreading of conclusion

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/mike_brooks_MMath/conclusion.tex

    ra43b743 r8a5aeac  
    55Since some subset of these three containers are used in almost every program in every programming language, this is a laudable goal.
    66Accomplishing this goal in C is difficult because these features are poorly designed.
    7 By extending C into \CFA, it is possible to augment the programming language to provide better support and significant safety.
    8 The result is code that is easier to write, maintain, safer from hacker attach-vectors.
     7In contrast, \CFA's advanced type system and language features plus my critical design choices made it possible to provide better support with significant safety.
     8The result is application code that is easier to write, understand, maintain, and safer from hacker attach-vectors.
    99
    1010\section{Lists}
     
    1414\section{Arrays}
    1515
    16 The key takeaway for arrays is that the type system must be extended to properly manage array bounds (dimension) to safely pass arrays to (polymorphic) functions.
     16The key takeaway for arrays is that the type system must be extended to properly manage array bounds (dimensions) to safely pass arrays to (polymorphic) functions.
    1717By adding a special kind of template constant to \CFA, @[N]@, the type system understands array bounds and implicitly associates these bounds with array instances, statically and dynamically, throughout the programming language.
    1818Array overruns are no longer possible because all subscripting is checked, as in other modern languages.
    1919Subscript checking can be implicitly elided when the compiler is given sufficient information to determine the subscript variable is always in bounds, giving performant execution.
    2020
    21 The ability to slice a higher-dimensional array into subarrays is also a powerful and safety critical feature.
     21Safe, complex VLA's is another important feature because it replaces unsafe explicit dynamic allocation.
     22As well, VLA's reduce heap contention in concurrent programs.
     23
     24Finally, the ability to slice a higher-dimensional array into subarrays is also a powerful and safety critical feature.
    2225
    2326
     
    2831This work designs an expressive set of safe string operations for composing, comparing, and decomposing arbitrary length strings, include complex reading and printing operations.
    2932
     33Creating bespoke storage management for strings has the advantage of faster, more compact storage management due to string sharing, at the cost of additional external fragmentation between the string and general heaps.
     34With the large amounts of available memory, this approach is a viable tradeoff.
     35
     36
    3037
    3138\section{Future Work}
    3239
    33 All three forms of containers presented in this work are in their nascence both in design and implementation.
    34 This work provides the foundation for future students to add more functionality and provide more robust and performant implementations.
     40All three forms of containers presented in this work are in their nascence, both in design and implementation.
     41This work provides the foundation for future \CFA students to add more functionality along with robust and performant implementations.
    3542
Note: See TracChangeset for help on using the changeset viewer.