lisette-stdlib 0.1.14

Little language inspired by Rust that compiles to Go
Documentation
// Generated by Lisette bindgen
// Source: plugin (Go stdlib)
// Go: 1.25.5
// Lisette: 0.1.14

pub fn Open(path: string) -> Result<Ref<Plugin>, error>

/// Plugin is a loaded Go plugin.
pub type Plugin

/// A Symbol is a pointer to a variable or function.
/// 
/// For example, a plugin defined as
/// 
/// 	package main
/// 
/// 	import "fmt"
/// 
/// 	var V int
/// 
/// 	func F() { fmt.Printf("Hello, number %d\n", V) }
/// 
/// may be loaded with the [Open] function and then the exported package
/// symbols V and F can be accessed
/// 
/// 	p, err := plugin.Open("plugin_name.so")
/// 	if err != nil {
/// 		panic(err)
/// 	}
/// 	v, err := p.Lookup("V")
/// 	if err != nil {
/// 		panic(err)
/// 	}
/// 	f, err := p.Lookup("F")
/// 	if err != nil {
/// 		panic(err)
/// 	}
/// 	*v.(*int) = 7
/// 	f.(func())() // prints "Hello, number 7"
pub interface Symbol {}

impl Plugin {
  /// Lookup searches for a symbol named symName in plugin p.
  /// A symbol is any exported variable or function.
  /// It reports an error if the symbol is not found.
  /// It is safe for concurrent use by multiple goroutines.
  fn Lookup(self: Ref<Plugin>, symName: string) -> Result<Symbol, error>
}