You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
try out more examples -- which ones precisely? please list !
(i.e. more interesting IFC (More interesting IFC example using dm4f #720), IO, nondetermism, probabilities)
(CH: this might belong below the line, actually.)
inserting return on the fly when reflecting Tot computations
M is sometimes erased to Tot during typechecking
leading DM4F's elaboration to fail
reification not computing for lifts and "monadic application"
this makes even the simplest reification of exceptions not work;
(IntST.ifc works despite this, but that's probably because the SMT solver can normalize too)
it would be good to have a generic way of noticing that a WP
combinator contains a branching construct within it and that it may
lead to exponential blowup. In such a case, we should wrap the WP
with a "name_continuation" combinator, which is currently called
"wp_ite" and should be renamed. This is particularly important for
the exceptions monad, where every bind contains a branch.
(partially done ; it's not done when every bind includes a case analysis)
fill out various TODOs in dmff.fs to faithfully check everything
(right now, most checks are fairly lax);
porting Wysteria to use dm4free (but first universes)
reification of arbitrary lifts (currently only reifies lifts from pure)
Syntactic simplifications of DM4F definitions
removing the reifiable and reflectable keywords
needs the ability for the module system to hide reify and reflect or replace them with noreifiablenoreflectable
allowing definition in a effect to be dependent on previously defined fields (in particular repr)
fixing the bugs which prevents inlining the definition of effect members
unifying new_effect and new_effect_for_free by automagically detecting in the compiler if some elaboration id needed
remove with effect_actions label which is useless (anything apart repr, return and bind is an action)
consider generating a total and divergent version of each effects and remove the total keyword
The text was updated successfully, but these errors were encountered:
Moving this from the
README
indm4free
since with the lockedmaster
that's harder to edit and keep up to date compared to an issue.Some things that we expect to differ, but maybe that's ok:
instead of wrapping the whole branch on the outside (better for Z3)
(i.e. more interesting IFC (More interesting IFC example using dm4f #720), IO, nondetermism, probabilities)
(CH: this might belong below the line, actually.)
return
on the fly when reflecting Tot computationsleading DM4F's elaboration to fail
this makes even the simplest reification of exceptions not work;
(IntST.ifc works despite this, but that's probably because the SMT solver can normalize too)
combinator contains a branching construct within it and that it may
lead to exponential blowup. In such a case, we should wrap the WP
with a "name_continuation" combinator, which is currently called
"wp_ite" and should be renamed. This is particularly important for
the exceptions monad, where every bind contains a branch.
(partially done ; it's not done when every bind includes a case analysis)
dmff.fs
to faithfully check everything(right now, most checks are fairly lax);
ghost_reify
inFStar.Heap.ST
)The items below this line seem less urgent than the ones above:
of the effect monad (i.e. pass the current heap for ST)
of an effect? (Generating
triples
andunconditional
form for a DM4F effect #758)reifiable
andreflectable
keywordsneeds the ability for the module system to hide
reify
andreflect
or replace them withnoreifiable
noreflectable
repr
)new_effect
andnew_effect_for_free
by automagically detecting in the compiler if some elaboration id neededwith effect_actions
label which is useless (anything apartrepr
,return
andbind
is an action)total
keywordThe text was updated successfully, but these errors were encountered: