DedSec Project

uiua — συγκεντρωτικός οδηγός — DedSec Project

uiua — συγκεντρωτικός οδηγός Uiua Μοντέλο λειτουργίας Η Uiua είναι array γλώσσα με stack semantics και συμβολικές λειτουργίες, όπου shape και stack effects ορίζουν τον υπολογισμό…

Uiua

Μοντέλο λειτουργίας

Η Uiua είναι array γλώσσα με stack semantics και συμβολικές λειτουργίες, όπου shape και stack effects ορίζουν τον υπολογισμό.

Παράδειγμα

# Conceptual lab: reduce a small numeric vector by addition

Δοκίμασέ το με νόημα

Χρησιμοποίησε επαληθευμένο παράδειγμα από την τεκμηρίωση της Uiua και σχεδίασε τη στοίβα μετά από κάθε token.

Σφάλμα που πρέπει να ξεχωρίσεις

Μην αντιγράφεις συμβολισμό APL ή J θεωρώντας ότι εκτελείται στην Uiua· το απόσπασμα είναι περιγραφή και όχι κώδικας.

Για να κρίνεις την άσκηση, κατέγραψε την αρχική είσοδο, την πρόβλεψη και την παρατήρηση σε πραγματικό, συμβατό περιβάλλον Uiua. Δώσε ξεχωριστό παράδειγμα όπου αλλάζει μόνο μία μεταβλητή ή ένα όρισμα. Αν εργάζεσαι χωρίς την αναγκαία εφαρμογή, μελέτησε τη σύνταξη ως παράδειγμα και μην παρουσιάζεις το κείμενο ως εκτελεσμένο test.

Uiua — Αναλυτικός οδηγός εξάσκησης

Ξεκίνησε από αληθινή σύνταξη

Το αρχικό παράδειγμα της Uiua είναι η μικρότερη αφετηρία. Διάβασε τη σειρά των πράξεων και τον τρόπο εμφάνισης, έπειτα επιβεβαίωσέ το στο σωστό περιβάλλον. Μην θεωρείς ότι η σύνταξη άλλης γλώσσας έχει ίδια σημασία.

"Hello, Ada!"

Περιβάλλον εκτέλεσης: uiua run hello.ua (version dependent).. Έλεγξε έκδοση compiler/interpreter πριν τροποποιήσεις τον κώδικα και κράτησε την αρχική έξοδο. Δούλεψε σε προσωρινό κατάλογο, μακριά από πραγματικά δεδομένα.

Οδηγούμενο εργαστήριο

Ξεκίνα από array literal, βρες στην τρέχουσα αναφορά μία μονιαδική και μία δυαδική πράξη και σχεδίασε τη στοίβα πριν/μετά. Επιβεβαίωσε στο REPL.

Δοκιμές ορίων

Η εμφάνιση και τα glyphs εξαρτώνται από την έκδοση Uiua· έλεγξε CLI αντί να αντιγράφεις παραδείγματα APL.

Προχωρημένη αποστολή

Φτιάξε ξεχωριστό αρχείο για το παραπάνω εργαστήριο και πειραματίσου με μία αλλαγή σε σειρά, σχήμα, τύπο, scope ή περιβάλλον, ανάλογα με τη Uiua. Καθόρισε invariant και σύγκρινε αναμενόμενη με πραγματική έξοδο. Αν κάτι διαφέρει, απομόνωσε το ελάχιστο παράδειγμα πριν μεγαλώσεις το πρόγραμμα.

Uiua — Διαδρομή ουσιαστικής εξάσκησης

Πρακτικές εργασίες

  1. Μετασχημάτισε αριθμητικό διάνυσμα, έλεγξε το σχήμα και επαλήθευσε μια αναγωγή με υπολογισμό στο χέρι.
  2. Σύγκρινε πράξεις βαθμωτών και πινάκων· κατέγραψε κανόνες broadcasting όπου υποστηρίζονται.
  3. Μέτρησε το κόστος ενδιάμεσου πίνακα και αν επιτρέπεται μεταβολή επί τόπου.

Ερωτήσεις ουσίας