The Internet Archive has a preservation copy of this work in our general collections.
The file type is application/pdf
.
Filters
GADT meet Subtyping
[article]
2012
arXiv
pre-print
While generalized abstract datatypes (GADT) are now considered well-understood, adding them to a language with a notion of subtyping comes with a few surprises. What does it mean for a GADT parameter to be covariant? The answer turns out to be quite subtle. It involves fine-grained properties of the subtyping relation that raise interesting design questions. We allow variance annotations in GADT definitions, study their soundness, and present a sound and complete algorithm to check them. Our
arXiv:1210.5935v1
fatcat:wpma65kdgfbtbcfmdawygmpfb4
more »
... k may be applied to real-world ML-like languages with explicit subtyping such as OCaml, or to languages with general subtyping constraints.
Tail Modulo Cons
[article]
2021
arXiv
pre-print
OCaml function calls consume space on the system stack. Operating systems set default limits on the stack space which are much lower than the available memory. If a program runs out of stack space, they get the dreaded "Stack Overflow" exception -- they crash. As a result, OCaml programmers have to be careful, when they write recursive functions, to remain in the so-called _tail-recursive_ fragment, using _tail_ calls that do not consume stack space. This discipline is a source of difficulties
arXiv:2102.09823v1
fatcat:bfmw2t3ezvdvffjrg2tpsz63b4
more »
... or both beginners and experts. Beginners have to be taught recursion, and then tail-recursion. Experts disagree on the "right" way to write 'List.map'. The direct version is beautiful but not tail-recursive, so it crashes on larger inputs. The naive tail-recursive transformation is (slightly) slower than the direct version, and experts may want to avoid that cost. Some libraries propose horrible implementations, unrolling code by hand, to compensate for this performance loss. In general, tail-recursion requires the programmer to manually perform sophisticated program transformations. In this work we propose an implementation of "Tail Modulo Cons" (TMC) for OCaml. TMC is a program transformation for a fragment of non-tail-recursive functions, that rewrites them in _destination-passing style_. The supported fragment is smaller than other approaches such as continuation-passing-style, but the performance of the transformed code is on par with the direct, non-tail-recursive version. Many useful functions that traverse a recursive datastructure and rebuild another recursive structure are in the TMC fragment, in particular 'List.map' (and 'List.filter', 'List.append', etc.). Finally those functions can be written in a way that is beautiful, correct on all inputs, and efficient.
GADTs meet subtyping
[article]
2013
arXiv
pre-print
While generalized algebraic datatypes (\GADTs) are now considered well-understood, adding them to a language with a notion of subtyping comes with a few surprises. What does it mean for a \GADT parameter to be covariant? The answer turns out to be quite subtle. It involves fine-grained properties of the subtyping relation that raise interesting design questions. We allow variance annotations in \GADT definitions, study their soundness, and present a sound and complete algorithm to check them.
arXiv:1301.2903v1
fatcat:fytxjm473fhdlc34dzkr7zoej4
more »
... r work may be applied to real-world ML-like languages with explicit subtyping such as OCaml, or to languages with general subtyping constraints.
GADTs Meet Subtyping
[chapter]
2013
Lecture Notes in Computer Science
While generalized algebraic datatypes (GADTs) are now considered well-understood, adding them to a language with a notion of subtyping comes with a few surprises. What does it mean for a GADT parameter to be covariant? The answer turns out to be quite subtle. It involves fine-grained properties of the subtyping relation that raise interesting design questions. We allow variance annotations in GADT definitions, study their soundness, and present a sound and complete algorithm to check them. Our
doi:10.1007/978-3-642-37036-6_30
fatcat:c6h2x3sqnjahpbt33lhq4ln2xa
more »
... ork may be applied to real-world ML-like languages with explicit subtyping such as OCaml, or to languages with general subtyping constraints.
Lucro por ação
2001
Revista Contabilidade & Finanças
Este trabalho tem por objetivo demonstrar os principais conceitos acerca do Lucro por Ação (Earnings per Share), o qual se apresenta como um quociente de grande utilidade nas entidades. Serão demonstrados aspectos sobre o assunto presentes no Brasil, bem como as normas aplicáveis nos Estados Unidos, emanadas do Financial Accounting Standards Board (FASB), e as normas internacionais, emanadas do International Accounting Standards Committee (IASC). De forma a possibilitar uma visualização mais
doi:10.1590/s1519-70772001000200005
fatcat:mgqo32rqofbfbpviptkqxan6mm
more »
... pleta dos conceitos envolvidos, serão desenvolvidos exemplos de sua aplicação. O Lucro (Resultado) por Ação pode ser calculado em sua forma básica e em sua forma diluída. Na forma básica, não são considerados os efeitos dos instrumentos potencialmente dilutivos, ao passo que, no cálculo do Lucro (Resultado) por Ação Diluído, são. Como instrumentos financeiros potencialmente dilutivos temos as ações preferenciais conversíveis, as debêntures conversíveis e os bônus de subscrição, que podem ser convertidos em ações ordinárias, caracterizando, assim, o próprio potencial dilutivo desses instrumentos. Dessa forma, o trabalho em questão foi dividido em três partes principais, sendo que nas duas últimas constam os referidos exemplos de cálculo do Lucro por Ação em sua forma básica e em sua forma diluída: • aspectos observados no Brasil; • normas emanadas do FASB; • normas emanadas do IASC.
PROCESSAMENTO DA LINGUAGEM: CONTRIBUIÇÕES DA NEUROLINGÜÍSTICA
2008
Signo
Aos poucos, o refinamento das técnicas e o surgimento de outras, mais ecologicamente válidas (SCHERER et al., 2007), corroboram para a redução dessa deficiência. 3. ...
Dentre as estruturas cerebrais com maior potencial de adaptação estão as conexões sinápticas, pontos de encontro entre os dendritos dos neurônios (GABRIEL, 2004) , que podem ser fortalecidas ou enfraquecidas ...
doaj:14e4867b5b464112add072719df5d2bc
fatcat:t77sxnxbvbf47cdypswagy5fea
Dependent Pearl: Normalization by realizability
[article]
2020
arXiv
pre-print
Pierre-Évariste Dagand, Lionel Rieg, and Gabriel Scherer ...
1 v with σ 1 x 1 → match σ 2 (σ 2 x 1 ) with σ 1 x 1 → 0 σ 2 x 2 → 1 σ 2 x 2 → match σ 2 (σ 1 x 2 ) with σ 1 x 1 → 0 σ 2 x 2 → 1 whose effect is to enable the redexes of larger type -see for example Scherer ...
arXiv:1908.09123v2
fatcat:35wkwqrljfazfplohxemxo5cuy
Which simple types have a unique inhabitant?
2015
SIGPLAN notices
The implementation (Scherer and Rémy 2015) is around 700 lines of readable OCaml code. ...
Two-or-more approximation A complete presentation of the content of this section, along with complete proofs, is available as a research report (Scherer 2014) . ...
B.3 Two-or-more counting The full proofs, and additional results, are available as a research report (Scherer 2014) . ...
doi:10.1145/2858949.2784757
fatcat:g5ik2xr4dbfz5k5d2ewc6fdu44
Deciding equivalence with sums and the empty type
2017
SIGPLAN notices
The proof of Scherer and Rémy (2015) can be reused almost as-is. ...
It corresponds to equality of morphisms in the free bi-cartesian closed category -see Scherer (2016) , Section 3.2.2. ...
doi:10.1145/3093333.3009901
fatcat:eusvrmdfunas3c563etwdcqbb4
Tracking Data-Flow with Open Closure Types
[chapter]
2013
Lecture Notes in Computer Science
The complete source code of the prototype is available at the following URL: http://gallium.inria.fr/~scherer/research/open_closure_types
Discussion Before we conclude, we highlight three technical points ...
doi:10.1007/978-3-642-45221-5_47
fatcat:pv42btv2pjdmfehvpquvsxefna
Unboxing Mutually Recursive Type Definitions in OCaml
[article]
2018
arXiv
pre-print
The approach presented in our work is largely inspired from the way the variance of type declarations is handled in languages with subtyping (Abel, 2008; Scherer and Rémy, 2013) . ...
arXiv:1811.02300v2
fatcat:isdkwab4fjdctjej3rxkwmpvbu
Full Reduction in the Face of Absurdity
[chapter]
2015
Lecture Notes in Computer Science
Core calculi that model the essence of computations use full reduction semantics to be built on solid grounds. Expressive type systems for these calculi may use propositions to refine the notion of types, which allows abstraction over possibly inconsistent hypotheses. To preserve type soundness, reduction must then be delayed until logical hypotheses on which the computation depends have been proved consistent. When logical information is explicit inside terms, proposition variables delay the
doi:10.1007/978-3-662-46669-8_28
fatcat:yy7nhn76eraapc7w5wzufrgptq
more »
... aluation by construction. However, logical hypotheses may be left implicit, for the user's convenience in a surface language or because they have been erased prior to computation in an internal language. It then becomes difficult to track the dependencies of computations over possibly inconsistent hypotheses. We propose an expressive type system with implicit coercions, consistent and inconsistent abstraction over coercions, and assumption hiding, which provides a fine-grained control of dependencies between computations and the logical hypotheses they depend on. Assumption hiding opens a continuum between explicit and implicit use of hypotheses, and restores confluence.
Capturing the Future by Replaying the Past
[article]
2018
arXiv
pre-print
For instance, the nondeterminism example 10:4 James Koppel, Gabriel Scherer, and Armando Solar-Lezama The ListMonad lets us rewrite the above example in monadic style. ...
stack of [] ⇒ NONE | x :: xs ⇒ (stack := xs; SOME x)
James Koppel, Gabriel Scherer, and Armando Solar-Lezama fun choose [] = raise Empty | choose xs = case pop future of NONE ⇒ ( * no future: start a ...
arXiv:1710.10385v2
fatcat:ciq6xqrbwzhxhhb5i56gv55yey
Correctness of Speculative Optimizations with Dynamic Deoptimization
[article]
2017
arXiv
pre-print
This allows us to remove the assume with the larger 49:12 Flückiger, Scherer, Yee, Goel, Ahmed, and Vitek scope. ...
As shown in the figure, the assume at in the optimized main is thus extended with main.Vb.Lret s [pl = pl, vec = vec].
49:10 Flückiger, Scherer, Yee, Goel, Ahmed, and Vitek This creates an additional ...
arXiv:1711.03050v2
fatcat:fghw4kiznvad3hqvsdzmm2qhn4
Câncer de pele em trabalhadores rurais: fotoexposição e orientação quanto a fatores de risco
2021
Research, Society and Development
O estudo busca determinar o perfil epidemiológico dos trabalhadores rurais moradores do noroeste do estado do Rio Grande do Sul e verificar seu conhecimento sobre proteção e fatores de risco para o desenvolvimento do câncer de pele. Trata-se de um estudo descritivo, exploratório e de caráter quantitativo, realizado com trabalhadores rurais do município de Horizontina. Muitos entrevistados possuem algum tipo de informação e orientação sobre o câncer de pele e sua prevenção, porém, grande parte
doi:10.33448/rsd-v10i1.11594
fatcat:7aluk5lwynbbdepdxy2n3sdlhy
more »
... o utiliza medidas de proteção como roupas adequadas e protetor solar e, se expõe ao sol em horários inadequados. Além disso, possuem histórico de câncer de pele na família, fator influente para o desenvolvimento do mesmo. Ressalta-se que a maioria possui uma propriedade pequena e o serviço é manual, levando-os a uma maior exposição a outros fatores. Nota-se que a exposição solar é prejudicial para a população principalmente devido a exposição cumulativa e a falta de conscientização para o risco de desenvolvimento de câncer de pele. Além disso, essa população ainda é muito afetada pela falta de acessibilidade a educação, como grupos de promoção e prevenção a saúde. Nesse sentido, percebe-se a necessidade de orientações, fortalecendo a importância da prevenção do câncer de pele.
« Previous
Showing results 1 — 15 out of 2,979 results