ChiselChisel est un langage informatique open-source de description matériel basé sur Scala. Chisel, pour en, permet de décrire des circuits électroniques numériques au niveau du transfert de registres (RTL). Chisel hérite des propriétés objet et fonctionnel de Scala pour décrire du matériel. L'utilisation de Scala comme base permet de se servir de Chisel comme un générateur de circuits électroniques. Il existe également TL-Chisel, l'équivalent en Chisel de TL-Verilog (Transaction-Level Verilog).
SyntaxeLa syntaxe est, à l'origine, la branche de la linguistique qui étudie la manière dont les mots se combinent pour former des phrases ou des énoncés dans une langue. On distingue la syntaxe, qui concerne les expressions [les mots], de la sémantique, qui concerne ce qui est visé par les expressions [le sens, la signification/les choses]. Le terme a un sens similaire en informatique, bien qu'il s'applique à une terminologie différente.
Indentation comme syntaxeUn langage de programmation utilise l'indentation comme syntaxe si une zone de code indentée délimite un bloc. Un bloc est une entité programmatique qui délimite une portée. Peter J. Landin a inventé le concept de l'indentation comme syntaxe et créé le terme anglais off-side rule qui le désigne en 1966. Il constitue une alternative au . L'exemple qui suit est un exemple de bloc en Python (noter les deux points obligatoires - Ils sont des marqueurs syntaxiques qui facilitent la lecture) : def fib(n): if n
MémoïsationEn informatique, la mémoïsation (ou mémoïzation) est la mise en cache des valeurs de retour d'une fonction selon ses valeurs d'entrée. Le but de cette technique d'optimisation de code est de diminuer le temps d'exécution d'un programme informatique en mémorisant les valeurs retournées par une fonction. Bien que liée à la notion de cache, la mémoïsation désigne une technique bien distincte de celles mises en œuvre dans les algorithmes de gestion de la mémoire cache. Le terme anglais « memoization » a été introduit par Donald Michie en 1968.
Fonction d'ordre supérieurEn mathématiques et en informatique, les fonctions d'ordre supérieur sont des fonctions qui ont au moins une des propriétés suivantes : elles prennent une ou plusieurs fonctions en entrée ; elles renvoient une fonction. En mathématiques, on les appelle des opérateurs ou des fonctionnelles. L'opérateur de dérivation en calcul infinitésimal est un exemple classique, car elle associe une fonction (la dérivée) à une autre fonction (la fonction que l'on dérive). Dans le lambda-calcul non typé, toutes les fonctions sont d'ordre supérieur.
Map (higher-order function)In many programming languages, map is the name of a higher-order function that applies a given function to each element of a collection, e.g. a list or set, returning the results in a collection of the same type. It is often called apply-to-all when considered in functional form. The concept of a map is not limited to lists: it works for sequential containers, tree-like containers, or even abstract containers such as futures and promises. Suppose we have a list of integers [1, 2, 3, 4, 5] and would like to calculate the square of each integer.
Fold (higher-order function)In functional programming, fold (also termed reduce, accumulate, aggregate, compress, or inject) refers to a family of higher-order functions that analyze a recursive data structure and through use of a given combining operation, recombine the results of recursively processing its constituent parts, building up a return value. Typically, a fold is presented with a combining function, a top node of a data structure, and possibly some default values to be used under certain conditions.
String literalA string literal or anonymous string is a literal for a string value in the source code of a computer program. Modern programming languages commonly use a quoted sequence of characters, formally "bracketed delimiters", as in x = "foo", where "foo" is a string literal with value foo. Methods such as escape sequences can be used to avoid the problem of delimiter collision (issues with brackets) and allow the delimiters to be embedded in a string. There are many alternate notations for specifying string literals especially in complicated cases.
Corde (musique)En musique, et plus précisément en organologie, une corde est un fil sous tension mécanique, qui, mis en mouvement, entre en vibration et devient le siège d'une onde stationnaire produisant un son. Dans la pratique, les cordes ont toujours leurs deux extrémités fixées à un support solide. Les vibrations sont transmises par un chevalet dans le cas d'instruments comme le violon ou la guitare ou directement à un corps sonore, pouvant être le support lui-même, qui joue le rôle de résonateur et d'amplificateur, la table d'harmonie dans l'exemple de la harpe.
Chaîne de caractèresEn informatique, une chaîne de caractères est à la fois conceptuellement une suite ordonnée de caractères et physiquement une suite ordonnée d' unités de code (code unit). La chaîne de caractères est un type de donnée dans de nombreux langages informatiques. La traduction en anglais est string. À l'époque des pionniers, on a communément confondu chaîne de caractères et chaîne d'octets, ce qui prête aujourd'hui à confusion, lorsque l'on ne veut pas se limiter à 255 caractères.