22 dépôts
Language-level loop structures for repeating code blocks based on conditions.
Distinct from Iterative Code Generation: Distinct from compile-time macro iteration: this covers runtime loop control flow.
Explore 22 awesome GitHub repositories matching software engineering & architecture · Iterative Loop Constructs. Refine with filters or upvote what's useful.
Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor
Iterates through blocks of code repeatedly based on truthy conditions to automate task repetition.
Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th
Provides standard counting constructs and custom iterators for repeating code blocks.
This project is a mathematics programming pattern library and translation guide designed to map academic mathematical symbols and formulas into programmable logic. It serves as a reference for converting complex notations into software implementations. The resource provides mapping guides for translating calculus, linear algebra, and set theory into iterative loops, functional code, and boolean expressions. It includes specific patterns for implementing piecewise functions, matrix operations, and standard mathematical operators using conditional logic and built-in language functions. The lib
Transforms calculus notations such as summations and products into programmable iterative loops.
Sass is a stylesheet compilation engine and CSS preprocessor that extends standard CSS with variables, nested rules, mixins, and functions. It functions as a comprehensive design system tool, enabling developers to organize complex stylesheets into modular, reusable components while automating the transformation of advanced syntax into browser-compatible CSS. The project distinguishes itself through its sophisticated build automation and language-level extensibility. It provides robust support for programmatic style generation, including conditional logic, iterative loops, and unit-aware math
Implements iterative loop constructs to programmatically generate repetitive CSS structures and design patterns.
100 Go Mistakes is a reference book and code review companion that catalogues frequent Go programming anti-patterns and provides corrected implementations for each one. It covers a wide range of common pitfalls, from range loop variable capture and interface nil handling to error wrapping and map iteration randomization, helping developers recognize and avoid these issues in their own code. The project distinguishes itself by offering a structured, example-driven approach to learning idiomatic Go. It covers core design decisions such as when to use pointer versus value receivers, how to apply
Documents the single-evaluation semantics of range expressions in Go loops.
This project is a collection of POSIX-compliant shell functions and polyfills designed to replace external binaries with portable, built-in utility implementations. It serves as a compatibility library and utility kit for shell scripting, providing shell-native alternatives to common command line utilities. The library focuses on removing dependencies on external processes by implementing tasks directly within the shell. This includes the use of shell-native sequences for terminal user interface design, such as text coloring and cursor movement, and the use of built-in pattern matching for te
Implements built-in shell constructs for looping through numeric sequences and file system globs.
Cleverhans est une bibliothèque de machine learning adversarial pour TensorFlow qui sert de framework d'attaque, de benchmark de robustesse et de bibliothèque de défense. Elle fournit une collection d'outils pour générer des exemples adversariaux, tester la sécurité des réseaux de neurones et implémenter des mécanismes de protection pour accroître la résilience des modèles face aux entrées malveillantes. Le projet se concentre sur la création d'entrées perturbées conçues pour tromper les modèles de machine learning afin qu'ils produisent des prédictions incorrectes. Il permet l'évaluation de la stabilité et de la précision des modèles de deep learning lorsqu'ils sont soumis à du bruit adversarial, en fournissant des implémentations de référence d'attaques connues pour identifier les failles de sécurité. Le toolkit couvre la génération d'exemples adversariaux, la défense des modèles de machine learning et le benchmarking de robustesse des réseaux de neurones. Il utilise une interface agnostique au modèle et des implémentations d'attaques différentiables pour exécuter des perturbations basées sur le gradient et des boucles d'optimisation itératives.
Provides iterative optimization loops to refine adversarial noise within a defined perturbation budget.
From Java To Kotlin - Your Cheat Sheet For Java To Kotlin
Compares Java for-loops with Kotlin's range expressions, downTo, until, and step modifiers.
TecoGAN est un réseau antagoniste génératif (GAN) conçu pour la super-résolution vidéo. Il fonctionne comme un upscaleur vidéo spatio-temporel qui augmente la résolution des séquences vidéo tout en reconstruisant une imagerie de haute qualité à partir d'entrées de plus basse résolution. Le système utilise un framework de cohérence temporelle pour assurer la stabilité visuelle et réduire le scintillement dans les frames générées. Il y parvient en employant des discriminateurs spatio-temporels qui évaluent à la fois la qualité de chaque frame et la cohérence du mouvement. Le projet couvre l'entraînement et l'optimisation des réseaux antagonistes génératifs, en se concentrant spécifiquement sur la reconstruction vidéo haute résolution et le maintien de la cohérence temporelle à travers les frames.
Utilizes a minimax optimization loop to iteratively train the generator and discriminator to reach a Nash equilibrium.
Covers for, while, until, and select loops for repeating command blocks in Bash scripts.
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
Teaches range-based for loops for concise iteration over containers and arrays.
Fawkes est un générateur d'images adverses et un outil de dissimulation de reconnaissance faciale conçu pour protéger la vie privée en obscurcissant les traits du visage sur les photos. Il fonctionne comme un obscurcisseur de confidentialité d'image qui ajoute des perturbations de pixels invisibles aux images, empêchant les modèles de reconnaissance faciale d'identifier précisément une personne tout en gardant l'image visuellement claire pour les humains. Le système emploie le mappage de perturbation adverse et l'obfuscation dans l'espace des caractéristiques pour induire en erreur les classifieurs de machine learning. En utilisant une boucle d'optimisation itérative et une génération de bruit agnostique au modèle, il modifie les représentations faciales pour empêcher les systèmes de reconnaissance d'extraire une identité cohérente à travers différentes architectures.
Uses iterative processes to refine adversarial noise through repeated gradient updates.
Vyper est un langage de programmation typé et un compilateur axé sur la sécurité, conçu pour créer des contrats intelligents qui s'exécutent sur l'Ethereum Virtual Machine. Il utilise une syntaxe Pythonique pour définir la logique et l'état du contrat, servant de cible pour la vérification formelle afin de permettre des preuves de correction vérifiées par machine. Le langage se distingue par des contraintes architecturales strictes qui privilégient la prévisibilité et la sécurité. Il impose des graphes d'appels acycliques en interdisant la récursion et impose des boucles bornées pour assurer une prédiction statique du gaz. De plus, il dispose d'un type décimal à virgule fixe natif pour les calculs financiers afin d'éviter la perte de précision. Le projet fournit un ensemble complet de capacités pour le développement blockchain, y compris la gestion d'état fortement typée, des primitives cryptographiques pour la récupération de clés publiques et des protections intégrées contre la réentrance. Il prend en charge l'implémentation de normes de jetons industriels, d'outils de finance décentralisée et de systèmes de gouvernance en chaîne via un système modulaire d'interfaces et de déploiements de contrats. Le compilateur transforme le code source de haut niveau en bytecode ciblant l'EVM et en définitions ABI, tout en fournissant des outils pour les tests de contrats automatisés et la vérification de l'intégrité de la construction.
Restricts all loops to a compile-time upper bound to ensure predictable gas costs and prevent infinite execution.
TileLang is a Python-embedded domain-specific language compiler that JIT-compiles and autotunes GPU kernels. It uses a tile-based DSL, automatic software pipelining, and parallel autotuning to generate optimized GPU kernels at runtime. It supports tensor core operations with Pythonic syntax, automatic memory management, and thread mapping. The compiler searches over tile sizes, thread counts, and scheduling policies, compiling and benchmarking candidates in parallel to find the fastest kernel. It also caches compiled binaries and tuning results to disk for reuse across sessions. TileLang inc
Structures loop iteration with serial, unrolled, parallel, and software-pipelined constructs for GPU hardware.
Ignite est un framework d'entraînement de haut niveau pour les réseaux de neurones PyTorch, servant de moteur d'entraînement et de gestionnaire de cycle de vie pour le deep learning. Il fournit un système structuré pour organiser et automatiser les boucles d'entraînement et d'évaluation, gérer les itérateurs de données et déclencher des gestionnaires d'événements à des étapes spécifiques du processus d'entraînement du modèle. Le projet se distingue par une suite complète d'outils pour l'entraînement distribué et l'évaluation de modèles. Il inclut des utilitaires pour synchroniser les gradients et coordonner la communication collective entre plusieurs GPU ou nœuds, ainsi qu'une suite d'évaluation pour calculer des métriques de performance et effectuer une validation croisée k-fold. Ses capacités plus larges couvrent l'automatisation du workflow d'entraînement, incluant la planification du taux d'apprentissage, l'arrêt précoce (early stopping) et l'optimisation des hyperparamètres. Le framework fournit également des outils d'observabilité pour le suivi des expériences, le profilage du temps d'exécution et l'entraînement en précision mixte pour optimiser l'utilisation de la mémoire. Des mécanismes de persistance d'état sont inclus pour gérer les checkpoints des modèles et restaurer les sessions d'entraînement. Des environnements conteneurisés sont disponibles pour simplifier le déploiement et la configuration de l'environnement.
Decouples the training loop from data sources by managing the lifecycle and restarting of dataset iterators.
This project is a front-end education portal and static website that serves as a repository for web development courseware. It provides instructional materials and source code for learning the fundamentals of HTML, CSS, and JavaScript. The site functions as a resource for students to practice programming skills through guided exercises and downloadable learning assets. It distributes educational content including instructional PDFs and exercise code to facilitate the study of front-end web development. The platform covers a variety of capabilities, including the integration of multimedia con
Teaches repeating code blocks with for and while loops to process sequences or perform calculations.
Janet est un langage de programmation dynamique basé sur Lisp présentant une machine virtuelle de bytecode basée sur des registres et un moteur de scripting intégrable. Il fonctionne comme un runtime de concurrence basé sur des fibres et inclut un moteur d'analyse basé sur des Parsing Expression Grammars (PEG). Le projet se distingue par sa capacité à être intégré dans des applications C ou C++ via une interface d'en-tête minimale. Il utilise un système de macros de style Lisp pour la transformation de code à la compilation et emploie l'héritage de table basé sur des prototypes pour un comportement orienté objet. Le runtime couvre un large ensemble de capacités, incluant la gestion d'IO asynchrone via une boucle d'événements non bloquante, l'interopérabilité de bibliothèque native via une interface de fonction étrangère (FFI) et un traitement de texte complet utilisant des grammaires PEG. Il fournit également des outils pour l'automatisation système, tels qu'une boucle read-eval-print (REPL), un système de module pour la résolution de symboles et des utilitaires pour la communication par socket réseau et la gestion du système de fichiers. L'environnement inclut des outils de diagnostic pour le débogage de l'exécution de bytecode et peut bundler le code source en exécutables binaires autonomes.
Implements language-level loop constructs and list comprehensions for generating sequences.
Ce projet est une collection de ressources pédagogiques et de supports de cours conçus pour enseigner le langage Java. Il fournit un cours de programmation structuré, un guide des fondamentaux et un tutoriel sur la programmation orientée objet, soutenus par une série d'exercices de codage pratiques et de défis d'implémentation. Le programme se concentre sur l'implémentation de modèles orientés objet, incluant l'héritage, le polymorphisme et l'abstraction. Il couvre la création de classes, l'utilisation d'interfaces pour définir des contrats comportementaux, et l'application de modificateurs d'accès pour contrôler la visibilité des données. Le contenu éducatif couvre également les fondamentaux du langage tels que la gestion des variables, la logique conditionnelle et les boucles itératives. Il inclut des conseils sur la gestion des structures de données via des listes, des ensembles (sets) et des maps, ainsi que l'implémentation de la gestion des erreurs via des blocs try-catch et des exceptions personnalisées. Des sujets supplémentaires couvrent la manipulation de chaînes de caractères et l'utilisation de scanners pour les entrées utilisateur en console.
Covers the implementation of while, do-while, and for loops for sequence processing.
This project is a structured JavaScript programming course and learning path designed for beginners. It functions as an interactive coding tutorial and frontend web development guide, providing a curriculum centered on the JavaScript language. The project focuses on building dynamic web interfaces through the manipulation of the Document Object Model. It provides a series of instructional guides and practical challenges that allow for interactive coding practice and the verification of code execution within a dedicated environment. The curriculum covers core programming fundamentals, includi
Covers fundamental language constructs for repeating code blocks based on conditions.
This project is a TensorFlow meta-learning framework and research toolkit designed to implement and train learned optimizers. It provides a library of tools for developing neural networks that learn how to optimize other models, replacing traditional gradient-based optimization algorithms. The framework includes a problem ensemble manager that allows multiple distinct optimization tasks to be combined into a single weighted loss function for simultaneous training. It uses a factory pattern for network instantiation and supports the definition of custom objective functions and loss graphs as t
Executes training iterations over specified sequence lengths to optimize the learning algorithm's performance.