Commit Graph

11 Commits

Author SHA1 Message Date
804a00902a feat: Type-dependent Haskell code generation
Some checks failed
continuous-integration/drone/push Build is failing
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
5cd75b8177 feat: Initial statix assignment of types to expressions
Some checks failed
continuous-integration/drone/push Build is failing
2021-02-14 10:25:23 -08:00
b3f9cdf372 docs: Add statics development documentation
All checks were successful
continuous-integration/drone/push Build is passing
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
904f651897 feat: Add syntax for string literals
All checks were successful
continuous-integration/drone/push Build is passing
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
c516ed6d7f refactor: eliminate rule in desugar
All checks were successful
continuous-integration/drone/push Build is passing
By using list wrap properly.
2021-02-10 13:07:51 -08:00
b9c8532899 feat: Allow expressions to be terminated/sequenced by ;
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
Note that ultimately a terminated sequence may have
   a slightly different semantics (applying streams
   to `_|_`, most likely) but for now they don't.
2021-02-10 12:47:34 -08:00
991976d3a8 feat: sequencing of expressions with newline to same indent (#11)
All checks were successful
continuous-integration/drone/push Build is passing
feat: sequencing of expressions with newline to same indent

  Also revised README to reflect greater emphasis on streams.
  Haskell code generation unsurprisingly required a fairly significant
  rework.

  Resolves #3.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #11
Co-Authored-By: Glen Whitney <glen@nobody@nowhere.net>
Co-Committed-By: Glen Whitney <glen@nobody@nowhere.net>
2021-02-06 05:11:41 +00:00
eaa06e62eb feat: Allow indented continuation lines
Some checks reported errors
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build was killed
Resolves #2.
2021-02-01 00:29:00 -08:00
2e49065031 feat: Implement enters operator >> (#8)
All checks were successful
continuous-integration/drone/push Build is passing
Also adds parenthesization of fostr expressions.
  Recasts code generation in terms of bottomup processing
  of a local strategy.

  Resolves #1.

Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #8
Co-Authored-By: Glen Whitney <glen@nobody@nowhere.net>
Co-Committed-By: Glen Whitney <glen@nobody@nowhere.net>
2021-02-01 01:46:31 +00:00
7b00b01856 chore: Switch to this repository from predecessor
All checks were successful
continuous-integration/drone/push Build is passing
2021-01-30 15:37:53 -08:00
9ecfa63f58 init: SDF3/Statix project as initialized by Spoofax 2021-01-30 12:27:10 -08:00