Add literal string constants #19

Merged
glen merged 6 commits from string_literal into main 2021-02-18 04:17:05 +00:00

6 Commits

Author SHA1 Message Date
Glen Whitney 2514f0df98 fix: handle the TermEx->OptTermEx injection in Statix
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2021-02-17 19:47:29 -08:00
Glen Whitney f93499acfd feat: Add typing for Sequence() operation
continuous-integration/drone/push Build is failing Details
Also move the signature of the semantic sort TYPE into its own
  file to facilitate sharing between Statix and Stratego.
  (Currently it is shared via symbolic link, but that may cause
  problems down the line; if/when it does, will have to look at
  physically copying the file into src-gen via an "Additional
  build step" using either Stratego or Ant.

  Also documents using Statix types from Stratego.
2021-02-17 11:20:26 -08:00
Glen Whitney 804a00902a feat: Type-dependent Haskell code generation
continuous-integration/drone/push Build is failing Details
Caveat: type is still not being assigned for the Sequence()
  constructor.

  Also fixes the parsing of literal strings (whitespace just after
  the opening quote was being ignored, and was ambiguous just
  before the opening quote).
2021-02-16 09:46:12 -08:00
Glen Whitney 5cd75b8177 feat: Initial statix assignment of types to expressions
continuous-integration/drone/push Build is failing Details
2021-02-14 10:25:23 -08:00
Glen Whitney b3f9cdf372 docs: Add statics development documentation
continuous-integration/drone/push Build is passing Details
Hopefully the new section will be helpful, given that it can be
  a bit confusing to get started with Statix. With this commit,
  the background is established and the stage is set to
  dive into type checking.
2021-02-12 17:08:55 -08:00
Glen Whitney 904f651897 feat: Add syntax for string literals
continuous-integration/drone/push Build is passing Details
Also rudimentary code generation. The difficulty
  is that for Haskell generation, we need to know
  whether an expression is a string or in to send it
  to standard output. So we will need to begin
  implementation of a type system for fostr.
2021-02-11 10:02:43 -08:00