ERights Home download / 0-8-34 
No Previous Sibling On to: SWT Support

Highlights of 0.8.34p


Non-Upwards Compatible Changes

New features

Deprecated features

Bugs Addressed

Non-Upwards Compatible Changes

<import:com.hp.donutLab.sliverServerPair>(..., timer :Timer, ..., ...)

IOU changes

Removed disposableKit#addCreationReactor/1, disposableKit#removeCreationReactor/1

TermL is now a superset of JSON

  • Y Dropping single-colon from the tag syntax.
  • Y Allowing an initial double colon.
  • N Allowing a quoted string as a segment. If it's the initial segment, we will also require that it be prefixed with a double colon.
  • N Changing the abstract syntax of a tag to use a list of arbitrary strings where it currently just accepts a single string by the above rules.
  • Y Dropping '=' from the current term-tree sugar syntax, and instead substituting ':', in order to be JSON-compatible.
  • Y from foo(.attr.(bar)) to .attr.(foo(bar))
  • Y pretty printing attributes
  • Y accept '//' comments,
  • Y accept '/*...*/' comments

The two ways in which the grammar defined here is not a subset of term.y is that grammar.y uses juxtaposition where term.y uses ',', and juxtaposition in grammar.y bind much more tightly than ',' in term.y. This allows the use of a more conventional bnf-like notation.

Parsed all examples on the JSON examples page. Detected that the third example is missing a close-curly.

LiteralChars

^LiteralString

DefineExpr and visitDefineExpr have a new optional field -- optEjectorExpr

? pragma.enable("trinary-define")

? escape foo { def `` := ("x", foo)}
# value: problem: Excess unmatched: x

New features

Draft new VatTP

Vat#isQuiescent()

Process#resultsVow()

makeCommand(...).exec(args, optEnv, oldDir, optStdinStr); fix __respondsTo/help

Brand#getNickName() :String

ControlLoop#waitAtTop(x :any) :any

"class" vs "interface" in eBrowser

unevaler#makePrintFunc() -> unevaler#getPrintFunc()

interp.setPrintFunc(timeMachine.getPrintFunc())

swtWatch(&x :EverReporter, varName :String)

UnQuote is now DeepPassByCopy

makeLamportSlot#fromSlot(slot, timer, delayMillis)

EverReporter, EverReactor vs rcvr[...]

Slot#isFinal() confusion; Slot#readOnly()

menuAction#makeMenu(parent :MenuItem, menuMap)

|"abc" vs ^"abc"

Bug: bnf "a b | c d" should parse as "(a b) | (c d)" but instead parses as "a (b | c) d".

Not done yet: From foo=bar expands to foo(.attr.(bar)) to foo : bar expands to .attr.(foo(bar))

Accepts foo::bar, but not yet ::foo nor foo::"bar"

termE__quasiParser

? def termE__quasiParser := <elang:syntax.termE__quasiParser>
# value: <termE__quasiParser>

? def x := termE`a + b`
# value: term`CallExpr(NounExpr("a"),
#                      "add",
#                      NounExpr("b"))`

? def y := termE`c * $x * d`
# value: term`CallExpr(CallExpr(NounExpr("c"),
#                               "multiply",
#                               CallExpr(NounExpr("a"),
#                                        "add",
#                                        NounExpr("b"))),
#                      "multiply",
#                      NounExpr("d"))`

? def termE`@w * @z` := y
# value: term`CallExpr(CallExpr(NounExpr("c"),
#                               "multiply",
#                               CallExpr(NounExpr("a"),
#                                        "add",
#                                        NounExpr("b"))),
#                      "multiply",
#                      NounExpr("d"))`

? w
# value: term`CallExpr(NounExpr("c"),
#                      "multiply",
#                      CallExpr(NounExpr("a"),
#                               "add",
#                               NounExpr("b")))`

? z
# value: term`NounExpr("d")`

Deprecated features

to (...) vs to run(...)


Bugs Addressed

  Thanks to...
eBrowser has source error Kevin Reid

FlexMapImpl had a writeReplace method.

removed 41 inappropriate serialVersionUID's

   
devrune bug on *-motif    
isRestBlank was accepting // for E.    
 
Unless stated otherwise, all text on this page which is either unattributed or by Mark S. Miller is hereby placed in the public domain.
ERights Home download / 0-8-34 
No Previous Sibling On to: SWT Support
Download    FAQ    API    Mail Archive    Donate

report bug (including invalid html)

Golden Key Campaign Blue Ribbon Campaign