Calvin Rose 
							
						 
					 
					
						
						
							
						
						745567a2e0 
					 
					
						
						
							
							More work on frontend.  
						
						
						
						
					 
					
						2024-05-09 22:22:38 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						ef2dfcd7c3 
					 
					
						
						
							
							More work on a proof of concept frontend.  
						
						... 
						
						
						
						Basic frontend being prototyped in examples/sysir/frontend.janet. Still
a lot of work needs to be done here, and some of this code will
eventually move to C most likely, but this is a good way to better
exercise our backend.
Type inference - at the very least _forward_ inference, is the most
needed change here. While one could do this in the compiler
frontend, doing so in sysir/asm is not so much of an issue. "Inference"
here means inserting "bind" instructions when there is only a single
type that will work correctly. 
						
						
					 
					
						2024-05-05 14:45:00 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						3a782d27b1 
					 
					
						
						
							
							Allow for multiple functions in a sysir "context".  
						
						... 
						
						
						
						Allows for in memory linking. 
						
						
					 
					
						2023-10-22 16:05:38 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						6a78b6d1c6 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/compile-opt' into compile-opt  
						
						
						
						
					 
					
						2023-10-10 20:28:09 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						549ee95f3d 
					 
					
						
						
							
							Add os/posix-exec (along os/posix-fork)  
						
						... 
						
						
						
						Useful for old-style unix daemons, start up scripts, and so on.
Easy to add on top of os/execute.
May want to consider allowing the same IO redirection as os/execute
and os/spawn.
May also want to put both fork and exec behind a config switch since I
suppose some systems may not support them, although I don't know of any
concrete examples. 
						
						
					 
					
						2023-10-08 21:03:08 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						84ad161f1e 
					 
					
						
						
							
							Add support for weak references in arrays.  
						
						... 
						
						
						
						Also change weak table syntax to not require keyword arguments. 
						
						
					 
					
						2023-09-30 10:56:43 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						b3a6e25ce0 
					 
					
						
						
							
							Add weak references in the form of weak tables.  
						
						... 
						
						
						
						Any references exclusively held by a weak table may be collected
without the programmer needing to free references manually. A table
can be setup to have weak keys, weak values, or both. 
						
						
					 
					
						2023-09-27 23:36:09 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						efbc46c69e 
					 
					
						
						
							
							Add support for using operators on arrays (and pointers to arrays).  
						
						... 
						
						
						
						Allows more expressive yet type checked representation of array
algorithms. 
						
						
					 
					
						2023-09-03 12:32:28 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						9b9f67c371 
					 
					
						
						
							
							Merge branch 'master' into compile-opt  
						
						
						
						
					 
					
						2023-09-03 10:18:54 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						21eab7e9cc 
					 
					
						
						
							
							Update sigaction to help address  #1262 .  
						
						... 
						
						
						
						Update example to have 4 cases - case 3 was previously broken but should
now work. 
						
						
					 
					
						2023-08-23 09:16:59 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						d9605c2856 
					 
					
						
						
							
							Allow iterating over generators with pairs, keys, and values.  
						
						
						
						
					 
					
						2023-08-22 19:25:05 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						5f5e5cf693 
					 
					
						
						
							
							Merge branch 'master' into compile-opt  
						
						
						
						
					 
					
						2023-08-20 13:08:56 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						f45571033c 
					 
					
						
						
							
							Add os/sigaction for signal handling.  
						
						... 
						
						
						
						Also improve interrupts to work better with busy loops
and signals. 
						
						
					 
					
						2023-08-19 13:26:29 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						b939671b79 
					 
					
						
						
							
							Add check for redefining types.  
						
						
						
						
					 
					
						2023-08-13 11:09:20 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						4b8e7a416f 
					 
					
						
						
							
							Have separate instructions for pointer arith  
						
						
						
						
					 
					
						2023-08-12 17:36:06 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						a2bd98390e 
					 
					
						
						
							
							More work on the sysir.  
						
						
						
						
					 
					
						2023-08-12 13:42:52 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						d9912f38f8 
					 
					
						
						
							
							Add union types and change name of type constructor instructions.  
						
						
						
						
					 
					
						2023-08-12 10:29:24 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						8007806c8e 
					 
					
						
						
							
							Add better support for arrays and struct fields in IR.  
						
						... 
						
						
						
						Also add option for named registers. 
						
						
					 
					
						2023-08-08 18:56:02 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						3fe4cfd14c 
					 
					
						
						
							
							Add labels back to sysir  
						
						
						
						
					 
					
						2023-08-07 09:39:35 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						75be5fd4c6 
					 
					
						
						
							
							Update sysir to have better field support.  
						
						
						
						
					 
					
						2023-08-06 20:00:49 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						7c7136fd70 
					 
					
						
						
							
							Merge branch 'master' into compile-opt  
						
						
						
						
					 
					
						2023-08-06 17:09:13 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						cfa32d58a7 
					 
					
						
						
							
							More work on sysir, add initial work for recursive types.  
						
						
						
						
					 
					
						2023-08-06 15:50:21 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						4d7baef89e 
					 
					
						
						
							
							Merge branch 'master' into compile-opt  
						
						
						
						
					 
					
						2023-07-04 13:52:54 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						9a2897e741 
					 
					
						
						
							
							Run through astyle with manual corrections  
						
						
						
						
					 
					
						2023-06-08 13:01:49 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						ef94a0f0b4 
					 
					
						
						
							
							Rename sysdialect to sysir  
						
						
						
						
					 
					
						2023-05-12 18:11:14 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						90f212df92 
					 
					
						
						
							
							Add length method ffi/jitfn abstract values.  
						
						
						
						
					 
					
						2022-12-04 11:08:17 -06:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						aa60c1f36a 
					 
					
						
						
							
							Add ffi jit example.  
						
						
						
						
					 
					
						2022-12-03 17:52:23 -06:00 
						 
				 
			
				
					
						
							
							
								bakpakin 
							
						 
					 
					
						
						
							
						
						43c47ac44c 
					 
					
						
						
							
							Address  #1037  - move stack hack after arg writing logic to avoid  
						
						... 
						
						
						
						clobber. 
						
						
					 
					
						2022-09-20 15:37:20 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						1cebe64664 
					 
					
						
						
							
							Add some soft test cases for  #1037 .  
						
						
						
						
					 
					
						2022-09-20 10:01:12 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						3479841c77 
					 
					
						
						
							
							Address  #1034  - add handling for 8-16 byte structs in FFI.  
						
						
						
						
					 
					
						2022-09-20 09:28:46 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						6a899968a9 
					 
					
						
						
							
							Allow passing user signals to (signal) as keywords.  
						
						
						
						
					 
					
						2022-09-17 21:18:07 -05:00 
						 
				 
			
				
					
						
							
							
								bakpakin 
							
						 
					 
					
						
						
							
						
						c7bc711f63 
					 
					
						
						
							
							Add windows FFI example test case for void functions with double  
						
						... 
						
						
						
						argument. 
						
						
					 
					
						2022-09-15 13:58:54 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						1f7f20788c 
					 
					
						
						
							
							Add line loop example for awk or sed like processing.  
						
						
						
						
					 
					
						2022-08-26 12:29:23 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						c59dd29190 
					 
					
						
						
							
							Add stress test for marshalling to examples.  
						
						
						
						
					 
					
						2022-08-26 12:27:53 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						f5d11dc656 
					 
					
						
						
							
							Address  #1014  improve parse errors when bad delimiters are found.  
						
						... 
						
						
						
						Reuse some existing logic for eof errors. 
						
						
					 
					
						2022-08-24 11:34:59 -05:00 
						 
				 
			
				
					
						
							
							
								bakpakin 
							
						 
					 
					
						
						
							
						
						c043b1d949 
					 
					
						
						
							
							Add win32 ffi example.  
						
						
						
						
					 
					
						2022-08-14 15:40:09 -05:00 
						 
				 
			
				
					
						
							
							
								bakpakin 
							
						 
					 
					
						
						
							
						
						9a6d2a7b32 
					 
					
						
						
							
							Fix FFI for reference return values and stack parameter passing.  
						
						
						
						
					 
					
						2022-08-14 15:20:30 -05:00 
						 
				 
			
				
					
						
							
							
								bakpakin 
							
						 
					 
					
						
						
							
						
						f8a9efa8e4 
					 
					
						
						
							
							Allow binding pre-loaded symbols in windows FFI.  
						
						... 
						
						
						
						Mimic the posix RTLD_NOW setting for dlopen by iterating
opened DLLs to look for symbols. 
						
						
					 
					
						2022-08-14 13:26:13 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						47e91bfd89 
					 
					
						
						
							
							Fix docstring.  
						
						
						
						
					 
					
						2022-06-19 18:52:37 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						a6f93efd39 
					 
					
						
						
							
							Support for array types in ffi.  
						
						
						
						
					 
					
						2022-06-19 08:03:32 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						a1aab4008f 
					 
					
						
						
							
							Update FFI example.  
						
						
						
						
					 
					
						2022-06-18 10:06:39 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						40e9430278 
					 
					
						
						
							
							Move examples to example directory.  
						
						
						
						
					 
					
						2022-06-17 17:24:52 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						c9f33bbde0 
					 
					
						
						
							
							Add rwlocks.  
						
						
						
						
					 
					
						2022-06-05 16:42:18 -05:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						e1602618c3 
					 
					
						
						
							
							Merge pull request  #894  from pepe/fix-numarray-example  
						
						... 
						
						
						
						Improve numarray example 
						
						
					 
					
						2021-12-09 14:09:11 -06:00 
						 
				 
			
				
					
						
							
							
								Josef Pospíšil 
							
						 
					 
					
						
						
							
						
						04e499c97f 
					 
					
						
						
							
							Add search on PATH for async execute example  
						
						
						
						
					 
					
						2021-12-09 11:57:21 +01:00 
						 
				 
			
				
					
						
							
							
								Josef Pospíšil 
							
						 
					 
					
						
						
							
						
						f586a8a9dc 
					 
					
						
						
							
							Add length to method and lib fn to numarray  
						
						
						
						
					 
					
						2021-12-09 11:18:05 +01:00 
						 
				 
			
				
					
						
							
							
								Josef Pospíšil 
							
						 
					 
					
						
						
							
						
						5112ed77d6 
					 
					
						
						
							
							Fix test import, and add sum as library fn too  
						
						
						
						
					 
					
						2021-12-09 11:12:08 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Camilleri 
							
						 
					 
					
						
						
							
						
						e1460c65e8 
					 
					
						
						
							
							Fix URL loader example to use os/spawn  
						
						
						
						
					 
					
						2021-11-11 17:33:25 +09:00 
						 
				 
			
				
					
						
							
							
								Calvin Rose 
							
						 
					 
					
						
						
							
						
						5464a7a379 
					 
					
						
						
							
							Allow passing a function to directly to ev/go.  
						
						... 
						
						
						
						Makes ev/call less useful but ev/go more useful. No need
to construct as many identical intermediate fibers. 
						
						
					 
					
						2021-08-30 22:22:22 -05:00 
						 
				 
			
				
					
						
							
							
								sogaiu 
							
						 
					 
					
						
						
							
						
						5ca6704c4d 
					 
					
						
						
							
							Remove threads example  
						
						
						
						
					 
					
						2021-08-21 14:52:51 +09:00