1
1
mirror of https://github.com/github/semantic.git synced 2024-12-01 09:15:01 +03:00
semantic/weekly/2016-09-09.md
2016-09-09 15:43:30 -04:00

3.0 KiB
Raw Blame History

September 9th, 2016

  • Hack week was last week and we skipped the weekly.
  • We moved the weekly to the end of the week to try to cut down on the “wait, what did happen last week?” thing.
  • This ended up being @tclems first weekly 👋

What went well?

@joshvera:

Hack week:

  • Made a lot of progress on the TypeScript parser.
  • May be able to use that as the basis for a more rigorous JavaScript parser as well.

This week:

  • Understand RWS & some other diffing algos a lot better than before.

@rewinfrey:

  • Pairing w/ @tclem.
  • Updating test cases is much more efficient.
  • Modelling effects in Free.

@tclem:

  • Little fixes.
  • Static linking of ICU in dev.
  • statsd client.

@robrix:

  • semantic-diffd
  • Docker
  • kubes
  • Markdown

What were the challenges?

@joshvera:

  • Integrating a pass before RWS. Using constant-time (per-subtree)SES before RWS to match up equal things. There are some ordering problems with the result.
  • Ambiguities in the TypeScript grammar. Possibly due to JS actually being context-sensitive. @maxbrunsfeld advises parsing a superset of the language… but which superset?

@rewinfrey:

  • Trying to get an effect system in Free. Got it, but tricky.
  • Also picked up an issue with template strings which defies debugging.

@tclem:

  • My head hurts by the end of the day.

  • Being challenged by some of the new concepts, the vernacular &c.
  • Hard to know when to jump down the rabbit hole and learn a thing or when to gloss over it.
  • Have a queue of things to read.

@robrix:

  • Converting between line/column ranges and character ranges.

What did you learn?

@joshvera:

  • I became one with the TypeScript grammar.

  • Maybe we should find a way to have the grammars write themselves.

  • Working on this effects package (formerly called freer) & its Eff type. It uses an open union data structure, which Data.Record is sort of an approximation of. Eff has this detail where its list of function types are “type-aligned.” Every item in the list is a function type where they all chain together, a -> b, b -> c, etc. Adding, removing, & replacing effects is constant-time.

@rewinfrey:

  • Free, and how to model effects in Free.
  • Straight-up category theory stuff. Compositions of natural transformations &c.

@tclem:

  • Post about functors, applicatives, and monads shown in pictures.
  • How this manages to be a bridge between pure & stateful functions.
  • Helped explain the optparse-applicative syntax.

@robrix:

  • CMark exists, which is cool.
  • Parsing/term ingestion had been producing errors for weirdly-formatted for loops &c. Not only were we hitting this on a regular basis, it was also causing confusing/poor change summaries.

Meta

“What were the challenges?” can be a bit redundant with “what did you learn?” Should we focus this on challenges that we need help with? Gonna give that a try.

Next week: @joshvera, @rewinfrey, & @robrix are off to ICFP. @tclem may or may not hold weekly solo at his discretion.