166 research outputs found

    Contrasting Compile-Time Meta-Programming in Metalua and Converge

    Get PDF
    Powerful, safe macro systems allow programs to be programatically constructed by the user at compile-time. Such systems have traditionally been largely confined to LISP-like languages and their successors. In this paper we describe and compare two modern, dynamically typed languages Converge and Metalua, which both have macro-like systems. We show how, in different ways, they build upon traditional macro systems to explore new ways of constructing programs

    Contrasting compile-time meta-programming in metalua and converge.

    Get PDF
    Powerful, safe macro systems allow programs to be programatically constructed by the user at compile-time. Such systems have traditionally been largely confined to LISP-like languages and their successors. In this paper we describe and compare two modern, dynamically typed languages Converge and Metalua, which both have macro-like systems. We show how, in different ways, they build upon traditional macro systems to explore new ways of constructing programs

    Synthesis, X-ray crystal structures, electrochemistry and theoretical investigation of a tetradentate nickel and copper Schiff base complexes

    Get PDF
    International audienceNew tetradentate mononuclear nickel(II) [NiL] and pentadentate binuclear copper(II) [Cu 2 L 2 H 2 O], H 2 O Schiff base complexes have been synthesized. The crystal structures of [NiL] and [Cu 2 L 2 H 2 O], H 2 O have been determined by X-ray diffraction method showing distorted square-planar geometry for [NiL] and distorted tetragonal pyramid geometry for [Cu 2 L 2 H 2 O], H 2 O. In both complexes, the dehydroacetic acid functional group engages in a deprotonated manner and coordination occurs through the nitrogen atoms of the imine function and the phenolic oxygen. Density Functional Theory calculations are carried out for the determination of the optimized structures. The fundamental vibrational wave numbers are calculated and a good agreement between observed and calculated wave numbers is achieved

    Crystal Structures, Local Atomic Environments, and Ion Diffusion Mechanisms of Scandium-Substituted Sodium Superionic Conductor (NASICON) Solid Electrolytes

    Get PDF
    The importance of exploring new solid electrolytes for all-solid-state batteries has led to significant interest in NASICON-type materials. Here, the Sc3+-substituted NASICON compositions Na3ScxZr2-x(SiO4)2-x(PO4)1+x (termed N3) and Na2ScyZr2-y(SiO4)1-y(PO4)2+y (termed N2) (x, y = 0 – 1) are studied as model Na+-ion conducting electrolytes for solid-state batteries. The influence of Sc3+ substitution on the crystal structures and local atomic environments has been characterized by powder X-ray diffraction (XRD) and neutron powder diffraction (NPD), as well as solid-state 23Na, 31P, and 29Si nuclear magnetic resonance (NMR) spectroscopy. A phase transition between 295 and 473 K from monoclinic C2/c to rhombohedral R c is observed for the N3 compositions, while N2 compositions crystallize in a rhombohedral R c unit cell in this temperature range. Alternating current (AC) impedance spectroscopy, molecular dynamics (MD) and high temperature 23Na NMR are in good agreement, showing that with a higher Sc3+ concentration, the ionic conductivity (about 10-4 S/cm at 473 K) decreases and the activation energy for ion diffusion increases. 23Na NMR experiments indicate that the nature of the Na+-ion motion is two-dimensional on the local atomic scale of NMR though the long-range diffusion pathways are three-dimensional. In addition, a combination of MD, bond valence, maximum entropy/Rietveld and van Hove correlation methods has been used, to reveal that the Na+-ion diffusion in these NASICON materials is three-dimensional and that there is a continuous exchange of sodium between Na(1) and Na(2) sites

    Enhancing the Lithium Ion Conductivity in Lithium Superionic Conductor (LISICON) Solid Electrolytes through a Mixed Polyanion Effect

    Get PDF
    Lithium superionic conductor (LISICON)-related compositions Li<sub>4±<i>x</i></sub>Si<sub>1–<i>x</i></sub>X<sub><i>x</i></sub>O<sub>4</sub> (X = P, Al, or Ge) are important materials that have been identified as potential solid electrolytes for all solid state batteries. Here, we show that the room temperature lithium ion conductivity can be improved by several orders of magnitude through substitution on Si sites. We apply a combined computer simulation and experimental approach to a wide range of compositions (Li<sub>4</sub>SiO<sub>4</sub>, Li<sub>3.75</sub>Si<sub>0.75</sub>P<sub>0.25</sub>O<sub>4</sub>, Li<sub>4.25</sub>Si<sub>0.75</sub>Al<sub>0.25</sub>O<sub>4</sub>, Li<sub>4</sub>Al<sub>0.33</sub>Si<sub>0.33</sub>P<sub>0.33</sub>O<sub>4</sub>, and Li<sub>4</sub>Al<sub>1/3</sub>Si<sub>1/6</sub>Ge<sub>1/6</sub>P<sub>1/3</sub>O<sub>4</sub>) which include new doped materials. Depending on the temperature, three different Li<sup>+</sup> ion diffusion mechanisms are observed. The polyanion mixing introduced by substitution lowers the temperature at which the transition to a superionic state with high Li<sup>+</sup> ion conductivity occurs. These insights help to rationalize the mechanism of the lithium ion conductivity enhancement and provide strategies for designing materials with promising transport properties

    Domain specific language implementation via compile-time meta-programming.

    Get PDF
    Domain specific languages (DSLs) are mini-languages that are increasingly seen as being a valuable tool for software developers and non-developers alike. DSLs must currently be created in an ad-hoc fashion, often leading to high development costs and implementations of variable quality. In this article, I show how expressive DSLs can be hygienically embedded in the Converge programming language using its compile-time meta-programming facility, the concept of DSL blocks, and specialised error reporting techniques. By making use of pre-existing facilities, and following a simple methodology, DSL implementation costs can be significantly reduced whilst leading to higher quality DSL implementations
    corecore