« Java JSR » : différence entre les versions

De Lillois Fractale Wiki
Aller à la navigation Aller à la recherche
Contenu ajouté Contenu supprimé
(Page créée avec « == Suggested improvements for the java langage == This page contains several improvements suggested for the java langage - my favorite programmind and thinking langage.... »)
 
Aucun résumé des modifications
Ligne 5 : Ligne 5 :


They would possibly be translated into JSRs, if this is not too complex and dissuasive.
They would possibly be translated into JSRs, if this is not too complex and dissuasive.

Together, they describe the '''''langage that would have loved to use'''''...


== Fuzzy primitive type ==
== Fuzzy primitive type ==
Ligne 10 : Ligne 12 :
Besides the existing primitive types, it is suggested to add the fuzzy type, which may be consisdered as a mix of boolean and real value.
Besides the existing primitive types, it is suggested to add the fuzzy type, which may be consisdered as a mix of boolean and real value.


A fuzzy varaible would be used to represent fuzzy logic values, probabilities, ad generally speaking real values in the [0.0,1.0] range. Example of computing and mathematics concepts are : saturation levels, permeabilities, similarities, etc...  
A fuzzy varaible would be used to represent fuzzy logic values, probabilities, ad generally speaking real values in the [0.0,1.0] range. Example of computing and mathematics concepts are : saturation levels, permeabilities, similarities, etc...  


The fuzzy type should be involves in various casting process
The fuzzy type should be involves in various casting process
Ligne 21 : Ligne 23 :
Fuzyy variable should then be usable wherever boolean vars are used, like in if and while statements.
Fuzyy variable should then be usable wherever boolean vars are used, like in if and while statements.


The displayed value (toString()) of a fuzzy var may be <span style="font-family:courier new,courier,monospace;">true</span>, <span style="font-family:courier new,courier,monospace;">false</span> or a real value between (excluding) 0.0 and 1.0 ;&nbsp;&nbsp;<span style="font-family:courier new,courier,monospace;">true</span> is a short form of 1.0 , <span style="font-family:courier new,courier,monospace;">false</span> is a short form of 0.0.&nbsp;
The displayed value (toString()) of a fuzzy var may be <span style="font-family:courier new,courier,monospace;">true</span>, <span style="font-family:courier new,courier,monospace;">false</span> or a real value between (excluding) 0.0 and 1.0&nbsp;;&nbsp;&nbsp;<span style="font-family:courier new,courier,monospace;">true</span> is a short form of 1.0 , <span style="font-family:courier new,courier,monospace;">false</span> is a short form of 0.0.&nbsp;


Operations on fuzzy variable should include
Operations on fuzzy variable should include


*not (!x) :&nbsp;
*not (!x)&nbsp;:&nbsp; &nbsp;!x == (fuzzy)(1.0-(real)x)
*and (x&&y)&nbsp;:&nbsp;&nbsp;x&&y&nbsp;== (fuzzy)(real)x * (real)y)
*and (&&) :
*and (x^^y)&nbsp;:&nbsp;&nbsp;x&&y&nbsp;== (fuzzy)(real)x * (real)y)
*or (||)
*or (x||y) :&nbsp;
*&nbsp;areal operations (with the restriction that te result is transformed into 1.0 (true) if it exceeds 1.0,&nbsp;and into 0.0 (false) if it falls below 0.0.
*real-derived operations + - * / (with the restriction that the result is transformed into 1.0 (true) if it exceeds 1.0,&nbsp;and into 0.0 (false) if it falls below 0.0.


== Access control to variable ==
== Access control to class variables ==


== Depending vars ==
== Depending vars ==

Version du 23 juillet 2018 à 18:40

Suggested improvements for the java langage

This page contains several improvements suggested for the java langage - my favorite programmind and thinking langage.

They would possibly be translated into JSRs, if this is not too complex and dissuasive.

Together, they describe the langage that would have loved to use...

Fuzzy primitive type

Besides the existing primitive types, it is suggested to add the fuzzy type, which may be consisdered as a mix of boolean and real value.

A fuzzy varaible would be used to represent fuzzy logic values, probabilities, ad generally speaking real values in the [0.0,1.0] range. Example of computing and mathematics concepts are : saturation levels, permeabilities, similarities, etc...  

The fuzzy type should be involves in various casting process

  • fuzzy -> boolean
  • boolean -> fuzzy
  • real (double or float) -> fuzzy
  • fuzzy -> real (double or float)

Fuzyy variable should then be usable wherever boolean vars are used, like in if and while statements.

The displayed value (toString()) of a fuzzy var may be true, false or a real value between (excluding) 0.0 and 1.0 ;  true is a short form of 1.0 , false is a short form of 0.0. 

Operations on fuzzy variable should include

  • not (!x) :   !x == (fuzzy)(1.0-(real)x)
  • and (x&&y) :  x&&y == (fuzzy)(real)x * (real)y)
  • and (x^^y) :  x&&y == (fuzzy)(real)x * (real)y)
  • or (x||y) : 
  • real-derived operations + - * / (with the restriction that the result is transformed into 1.0 (true) if it exceeds 1.0, and into 0.0 (false) if it falls below 0.0.

Access control to class variables

Depending vars

Primitive type simplification

Simplified min affcat