Add builtin constants ‘langVersion’ and ‘nixVersion’
The integer constant ‘langVersion’ denotes the current language version. It gets increased every time a language feature is added/changed/removed. It's currently 1. The string constant ‘nixVersion’ contains the current Nix version, e.g. "1.2pre2980_9de6bc5".
This commit is contained in:
		
							parent
							
								
									5943f41b8b
								
							
						
					
					
						commit
						8b8ee53bc7
					
				
					 6 changed files with 18 additions and 2 deletions
				
			
		|  | @ -1143,6 +1143,16 @@ void EvalState::createBaseEnv() | |||
|     mkString(v, settings.thisSystem.c_str()); | ||||
|     addConstant("__currentSystem", v); | ||||
| 
 | ||||
|     mkString(v, nixVersion.c_str()); | ||||
|     addConstant("__nixVersion", v); | ||||
| 
 | ||||
|     /* Language version.  This should be increased every time a new
 | ||||
|        language feature gets added.  It's not necessary to increase it | ||||
|        when primops get added, because you can just use `builtins ? | ||||
|        primOp' to check. */ | ||||
|     mkInt(v, 1); | ||||
|     addConstant("__langVersion", v); | ||||
| 
 | ||||
|     // Miscellaneous
 | ||||
|     addPrimOp("import", 1, prim_import); | ||||
|     addPrimOp("isNull", 1, prim_isNull); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue