History log of /seL4-l4v-master/l4v/isabelle/src/Tools/nbe.ML
Revision Date Author Comments
# a4bab154 04-Jan-2019 wenzelm <none@none>

isabelle update -u control_cartouches;


# 99e3d4c3 06-Dec-2017 wenzelm <none@none>

prefer control symbol antiquotations;


# e1b5cf61 26-May-2016 haftmann <none@none>

optional timing for code generator conversions


# a4856bba 26-May-2016 haftmann <none@none>

tuned


# 93090648 26-May-2016 haftmann <none@none>

explicit quasi-global context for nbe conversions -- works around quasi-global type variable handling in lift_triv_classes_conv


# 10135f7d 26-May-2016 haftmann <none@none>

clarified naming conventions and code for code evaluation sandwiches


# 80946636 26-May-2016 haftmann <none@none>

clarified names of variants


# 53a62d5e 12-Apr-2016 wenzelm <none@none>

Type_Infer.object_logic controls improvement of type inference result;


# 8930b173 08-Mar-2016 haftmann <none@none>

explicit record values for dictionary variables


# 2759308d 25-Sep-2015 wenzelm <none@none>

moved remaining display.ML to more_thm.ML;


# 0a463811 02-Sep-2015 wenzelm <none@none>

trim context for persistent storage;


# 9a9cf694 05-Jul-2015 wenzelm <none@none>

simplified Thm.instantiate and derivatives: the LHS refers to non-certified variables -- this merely serves as index into already certified structures (or is ignored);


# e9827642 30-May-2015 wenzelm <none@none>

clarified context;


# 65c57129 06-Mar-2015 wenzelm <none@none>

clarified context;


# 740a17d4 06-Mar-2015 wenzelm <none@none>

Thm.cterm_of and Thm.ctyp_of operate on local context;


# 5f318eee 04-Mar-2015 wenzelm <none@none>

clarified signature;


# 34035ccd 04-Mar-2015 wenzelm <none@none>

tuned signature -- prefer qualified names;


# 5958d3a0 19-Dec-2014 wenzelm <none@none>

tuned;


# 6aa9b10f 18-Dec-2014 wenzelm <none@none>

proper exception for internal program failure, not user-error;


# 13ddea91 26-Nov-2014 wenzelm <none@none>

renamed "pairself" to "apply2", in accordance to @{apply 2};


# 011d7c60 18-Sep-2014 haftmann <none@none>

tuned data structure

--HG--
extra : rebase_source : 7cc408d038ae0cb3e103cd433b0b20a81851b688


# f9b3f957 29-Jun-2014 haftmann <none@none>

modernized diagnostic options

--HG--
extra : rebase_source : 7c269611b368864afe343dd784ff59d0615fd858


# cf5983c8 05-Jun-2014 haftmann <none@none>

be more explicit: made sml/nj happy


# 94e6c994 15-May-2014 haftmann <none@none>

accurate separation of static and dynamic context

--HG--
extra : rebase_source : c4ec1445bba8cce426e6a04157de8511b796ee2d


# 7bb811e1 15-May-2014 haftmann <none@none>

syntactic means to prevent accidental mixup of static and dynamic context

--HG--
extra : rebase_source : 5713560aaa0dd320d68157ba353db0f597594d25


# dee9cae5 15-May-2014 haftmann <none@none>

proper separation of static and dynamic context

--HG--
extra : rebase_source : 1f6a00548956a1575e31153103b3e2a7d2f3ba50


# c0fb38de 15-May-2014 haftmann <none@none>

dropped obsolete hand-waving adjustion of type variables: safely done in preprocessor

--HG--
extra : rebase_source : 9e5c02ee3f9e1ecf4b01a5b399ce2acc72f323e2


# 956343f7 09-May-2014 haftmann <none@none>

degeneralized value command into HOL

--HG--
rename : src/Tools/value.ML => src/HOL/Tools/value.ML


# 89defae1 09-May-2014 haftmann <none@none>

normalizing of type variables before evaluation with explicit resubstitution function: make nbe work with funny type variables like \<AA>;
tuned naming;
dropped dead parameters;


# 2c8d6176 21-Mar-2014 wenzelm <none@none>

more qualified names;


# e41a1507 26-Feb-2014 haftmann <none@none>

prefer proof context over background theory

--HG--
extra : rebase_source : 307a2e54d5c0b89d8668ce99110df0538037668e


# f255100e 29-Jan-2014 haftmann <none@none>

made smlnj happy


# 07ad0bb4 25-Jan-2014 haftmann <none@none>

less clumsy namespace


# 9250249f 25-Jan-2014 haftmann <none@none>

prefer explicit code symbol type over ad-hoc name mangling


# dcef928d 19-Jan-2014 haftmann <none@none>

prefer indexes user for pattern matching to print concrete names for symbols, do not rely on printable unique identifiers


# befed50f 31-Dec-2013 haftmann <none@none>

explicit distinction between empty code equations and no code equations, including convenient declaration attributes


# 3e492425 04-Jul-2013 haftmann <none@none>

explicit hint for domain of class parameters in instance statements


# 15da3c64 28-Jun-2013 haftmann <none@none>

formally accept dictionary parameters for constants on left hand sides in equations

--HG--
extra : rebase_source : 1f057e1453fc022600a1a01769a4b0d6a735e17a


# fe2cd8b4 28-Jun-2013 haftmann <none@none>

do not choke on type variables emerging during rewriting

--HG--
extra : rebase_source : 67c2b69336b1234e9ec1dd86ae5ea80e51f082e6


# 0fe14a59 10-Apr-2013 wenzelm <none@none>

more standard module name Axclass (according to file name);


# dc977d45 04-Jun-2012 haftmann <none@none>

prefer records with speaking labels over deeply nested tuples

--HG--
extra : rebase_source : 09acb7079a2d06a9c7f68aaaf04cedb0752142e0


# 070c6dd5 19-Apr-2012 haftmann <none@none>

dropped dead code


# 5c4809f7 19-Apr-2012 haftmann <none@none>

corrected Nbe.static_value: ignore cached compilations;
tuned


# f47e2c2c 19-Apr-2012 haftmann <none@none>

tuned heading

--HG--
extra : rebase_source : 24638b19082d4215acbd7495e0a8b83f0dced3b0


# 20767fdb 07-Sep-2011 bulwahn <none@none>

adding the body type as well to the code generation for constants as it is required for type annotations of constants


# 0b9a2ceb 07-Sep-2011 bulwahn <none@none>

changing const type to pass along if typing annotations are necessary for disambigous terms


# d049bd7b 20-Aug-2011 wenzelm <none@none>

refined Graph implementation: more abstract/scalable Graph.Keys instead of plain lists -- order of adjacency is now standardized wrt. Key.ord;


# 2e57f21d 01-Jul-2011 wenzelm <none@none>

proper @{binding} antiquotations (relevant for formal references);


# b6f9ad57 09-Jun-2011 wenzelm <none@none>

tuned signature: Name.invent and Name.invent_names;


# dd21db98 09-Jun-2011 wenzelm <none@none>

prefer new-style Name.invents;


# d72a8bc3 19-Apr-2011 wenzelm <none@none>

split Type_Infer into early and late part, after Proof_Context;
added Type_Infer_Context.const_sorts option, which allows NBE to use regular Syntax.check_term;


# 6d2612c8 16-Apr-2011 wenzelm <none@none>

modernized structure Proof_Context;


# ef2d6500 08-Jan-2011 wenzelm <none@none>

misc tuning and comments based on review of Theory_Data, Proof_Data, Generic_Data usage;


# 805df3e0 21-Dec-2010 haftmann <none@none>

canonical handling of theory context argument


# 14747910 17-Dec-2010 haftmann <none@none>

avoid slightly odd Conv.tap_thy


# 20f5e440 15-Dec-2010 haftmann <none@none>

simplified evaluation function names


# 095d592f 13-Dec-2010 haftmann <none@none>

separated dictionary weakning into separate type


# e48262e7 09-Dec-2010 haftmann <none@none>

dictionary constants must permit explicit weakening of classes;
tuned names


# 404b82f1 07-Dec-2010 haftmann <none@none>

tuned whitespace


# dbbde246 07-Dec-2010 haftmann <none@none>

removed experimental equality checking of closures; acknowledge underapproximation of equality in function name


# f1b5e31b 26-Nov-2010 haftmann <none@none>

nbe decides equality of abstractions by extensionality


# 0c5bca9f 16-Nov-2010 haftmann <none@none>

added forall2 predicate lifter


# 327abea5 04-Nov-2010 haftmann <none@none>

Code.check_const etc.: reject too specific types


# bdf1c082 01-Oct-2010 haftmann <none@none>

moved ML_Context.value to Code_Runtime


# ecd57f3d 21-Sep-2010 haftmann <none@none>

no_frees_* is subsumed by new framework mechanisms in Code_Preproc


# 37ee3440 16-Sep-2010 haftmann <none@none>

separation of static and dynamic thy context


# 2af85213 16-Sep-2010 haftmann <none@none>

tuned whitespace


# 40b1d55a 15-Sep-2010 haftmann <none@none>

static nbe conversion


# 9db02559 15-Sep-2010 haftmann <none@none>

dropped redundant normal_form command


# 9fed91ca 14-Sep-2010 haftmann <none@none>

more clear separation of static compilation and dynamic evaluation


# cb0b78fd 15-Sep-2010 haftmann <none@none>

replaced ML_Context.evaluate by ML_Context.value -- using context data instead of bare metal references


# bb93d4cb 12-Sep-2010 wenzelm <none@none>

load type_infer.ML later -- proper context for Type_Infer.infer_types;
renamed Type_Infer.polymorphicT to Type.mark_polymorphic;


# 96fc9813 12-Sep-2010 wenzelm <none@none>

eliminated aliases of Type.constraint;


# d19dab54 05-Sep-2010 wenzelm <none@none>

turned show_sorts/show_types into proper configuration options;


# ac136ed8 31-Aug-2010 haftmann <none@none>

evaluate takes ml context and ml expression parameter


# 960082d0 24-Aug-2010 haftmann <none@none>

tuned


# ce6876e0 23-Aug-2010 haftmann <none@none>

use conv alias


# 0f2a759e 23-Aug-2010 haftmann <none@none>

refined and unified naming convention for dynamic code evaluation techniques


# 293b817b 17-Jun-2010 haftmann <none@none>

more precise code


# 3032d8aa 17-Jun-2010 haftmann <none@none>

transitive superclasses were also only a misunderstanding


# 233f64f3 17-Jun-2010 haftmann <none@none>

formal introduction of transitive superclasses


# 7f4e9daa 17-Jun-2010 haftmann <none@none>

dropped obscure type argument weakening mapping -- was only a misunderstanding


# 04fc6d32 15-Jun-2010 haftmann <none@none>

added code_simp infrastructure


# 93fbbd8f 15-Jun-2010 haftmann <none@none>

formal introduction of case cong


# 5c97a57f 07-Jun-2010 haftmann <none@none>

more consistent naming aroud type classes and instances


# 5a9d2980 27-May-2010 wenzelm <none@none>

renamed structure PrintMode to Print_Mode, keeping the old name as legacy alias for some time;


# b7e81c3e 27-May-2010 wenzelm <none@none>

renamed structure TypeInfer to Type_Infer, keeping the old name as legacy alias for some time;


# 37306eb6 19-May-2010 haftmann <none@none>

new version of triv_of_class machinery without legacy_unconstrain


# 7a6b0131 17-May-2010 wenzelm <none@none>

prefer structure Keyword, Parse, Parse_Spec, Outer_Syntax;
eliminated old-style structure aliases K = Keyword, P = Parse;


# 61f7b2df 09-May-2010 wenzelm <none@none>

reactivated Thm.legacy_unconstrainT for Nbe.lift_triv_classes_conv;


# 08789841 09-May-2010 wenzelm <none@none>

just one version of Thm.unconstrainT, which affects all variables;
temporary workaround for Nbe.lift_triv_classes_conv;


# 9aff7f3d 03-May-2010 wenzelm <none@none>

renamed Thm.freezeT to Thm.legacy_freezeT -- it is based on Type.legacy_freeze;


# 60d6d298 03-May-2010 wenzelm <none@none>

renamed ProofContext.init to ProofContext.init_global to emphasize that this is not the real thing;


# bbc8cf56 20-Mar-2010 wenzelm <none@none>

renamed varify/unvarify operations to varify_global/unvarify_global to emphasize that these only work in a global situation;


# 3dc91423 02-Mar-2010 haftmann <none@none>

dropped superfluous naming


# e6b7378c 24-Feb-2010 haftmann <none@none>

tuned whitespace


# a63742b0 04-Jan-2010 haftmann <none@none>

code cache only persists on equal theories


# d464e9a4 04-Jan-2010 haftmann <none@none>

code cache without copy; tuned


# b9199a91 23-Dec-2009 haftmann <none@none>

reduced code generator cache to the baremost minimum


# 71833c27 08-Nov-2009 wenzelm <none@none>

adapted Theory_Data;
tuned;


# 53442d69 19-Oct-2009 wenzelm <none@none>

uniform use of Integer.add/mult/sum/prod;


# b2816004 17-Oct-2009 wenzelm <none@none>

indicate CRITICAL nature of various setmp combinators;


# 1e5beb93 29-Sep-2009 wenzelm <none@none>

explicit indication of Unsynchronized.ref;


# ea799695 09-Sep-2009 haftmann <none@none>

moved eq handling in nbe into separate oracle


# 58689e08 21-Jul-2009 haftmann <none@none>

integrated add_triv_classes into evaluation stack


# 60dd481b 08-Jul-2009 haftmann <none@none>

tuned structure Code internally


# eb3d3d40 07-Jul-2009 haftmann <none@none>

tuned interface of structure Code


# d811f2f3 30-Jun-2009 haftmann <none@none>

all variable names are optional


# 890b79ce 30-Jun-2009 haftmann <none@none>

variable names in abstractions are optional


# 24522388 19-Jun-2009 haftmann <none@none>

more appropriate syntax for IML abstraction


# 43ba779d 14-May-2009 haftmann <none@none>

merged module code_unit.ML into code.ML


# 66aa8e90 07-May-2009 haftmann <none@none>

treat frees driectly by the LCF kernel


# d6f0d332 06-May-2009 haftmann <none@none>

explicit type arguments in constants


# 4d5b588a 24-Apr-2009 haftmann <none@none>

generic postprocessing scheme for term evaluations


# daaa23cc 17-Apr-2009 haftmann <none@none>

re-engineering of evaluation conversions


# fbb98458 17-Apr-2009 haftmann <none@none>

diagnostic commands now in code_thingol; tuned code of funny continuations


# 82a7be21 23-Mar-2009 wenzelm <none@none>

more systematic type use_context, with particular values ML_Parse.global_context and ML_Context.local_context;


# 2c10cf68 05-Mar-2009 wenzelm <none@none>

Thm.add_oracle interface: replaced old bstring by binding;


# 121e82fb 04-Mar-2009 blanchet <none@none>

Merge.


# 667ddd41 20-Feb-2009 haftmann <none@none>

maintain order of constructors in datatypes; clarified conventions for type schemes


# e5a0650c 31-Dec-2008 wenzelm <none@none>

use regular Term.add_XXX etc.;


# 8bbe2116 28-Oct-2008 haftmann <none@none>

restored incremental code generation


# 17442e49 22-Oct-2008 haftmann <none@none>

code identifier namings are no longer imperative


# af9cf585 29-Sep-2008 haftmann <none@none>

clarified codegen interfaces


# c698ac45 25-Sep-2008 haftmann <none@none>

non left-linear equations for nbe


# 8bfe3fec 23-Sep-2008 haftmann <none@none>

case default fallback for NBE


# dd390b67 19-Sep-2008 haftmann <none@none>

made SMLNJ happy


# 9f686374 18-Sep-2008 wenzelm <none@none>

simplified oracle interface;


# c9279b0e 17-Sep-2008 wenzelm <none@none>

ML_Context.evaluate: proper context (for ML environment);


# cbeb4785 16-Sep-2008 haftmann <none@none>

generic value command


# 7cbce2a5 28-Aug-2008 haftmann <none@none>

restructured and split code serializer module


# 0df66f54 15-Jul-2008 haftmann <none@none>

tuned code theorem bookkeeping


# 1bc21358 08-Jul-2008 haftmann <none@none>

clarified code


# 5b1ba118 18-Jun-2008 wenzelm <none@none>

simplified TypeInfer.infer_types;


# fa206456 10-Jun-2008 haftmann <none@none>

major refactorings in code generator modules


# 81ed01c7 23-May-2008 haftmann <none@none>

explicit type schemes for functions


# 98b8fc3d 18-May-2008 wenzelm <none@none>

command 'normal_form': proper context via Variable.auto_fixes;


# 1b00ca28 17-May-2008 wenzelm <none@none>

cat_lines;


# da92c3ac 24-Apr-2008 haftmann <none@none>

moved 'trivial classes' to foundation of code generator


# 75451e2c 22-Apr-2008 haftmann <none@none>

different handling of eq class for nbe


# 64c89d02 13-Feb-2008 haftmann <none@none>

using integers for pattern matching


# 8e6cd7f8 29-Jan-2008 haftmann <none@none>

cleaned up evaluation interfaces


# 1079d403 22-Jan-2008 haftmann <none@none>

tuned


# a394b732 21-Jan-2008 haftmann <none@none>

tuned


# e92d067e 18-Jan-2008 haftmann <none@none>

improved implementation


# 46bb91d9 08-Jan-2008 haftmann <none@none>

tuned comment


# d754e7b8 26-Oct-2007 wenzelm <none@none>

replaced Secure.evaluate by ML_Context.evaluate;


# fa5420b2 25-Oct-2007 haftmann <none@none>

clarified implementation


# 087889bb 23-Oct-2007 haftmann <none@none>

fixed typo


# 81f8f69f 19-Oct-2007 haftmann <none@none>

now employing dictionaries


# f0c72c65 19-Oct-2007 wenzelm <none@none>

tuned CRITICAL markups;


# 4f3a6876 18-Oct-2007 haftmann <none@none>

evaluation is CRITICAL


# d06d005b 08-Oct-2007 wenzelm <none@none>

generic Syntax.pretty/string_of operations;


# 8f12f2a9 06-Oct-2007 wenzelm <none@none>

simplified interfaces for outer syntax;


# 3df9f1ea 04-Oct-2007 haftmann <none@none>

step towards proper purge operation


# c67687b3 25-Sep-2007 wenzelm <none@none>

tuned functor application;


# 57e64556 23-Sep-2007 wenzelm <none@none>

TypeInfer.constrain: canonical argument order;


# de2e0667 18-Sep-2007 wenzelm <none@none>

simplified PrintMode interfaces;


# 00b1c803 17-Sep-2007 wenzelm <none@none>

avoid direct access to print_mode;


# 8d3f30ea 15-Sep-2007 haftmann <none@none>

delayed evaluation


# ab12469b 01-Sep-2007 wenzelm <none@none>

replaced ProofContext.read_term/prop by general Syntax.read_term/prop;


# 02db772e 30-Aug-2007 wenzelm <none@none>

replaced ProofContext.infer_types by general Syntax.check_terms;


# e335e6ec 24-Aug-2007 haftmann <none@none>

overloaded definitions accompanied by explicit constants


# 2925c8af 21-Aug-2007 haftmann <none@none>

improved evaluation interface


# 620c4e90 20-Aug-2007 haftmann <none@none>

explizit dependencies


# eaa48e3a 16-Aug-2007 haftmann <none@none>

added evaluation examples


# a659eef6 15-Aug-2007 haftmann <none@none>

tuned


# 63a924b1 10-Aug-2007 haftmann <none@none>

new structure for code generator modules


# 2dcc0991 07-Aug-2007 haftmann <none@none>

new nbe implementation


# b1f33b58 06-Aug-2007 haftmann <none@none>

nbe improved