You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be nice to call (strings.ToUpper "foo") and similar functions, for example.
This would involve a lot of massaging of types, and the use of reflection.
Doing this would allow us to replace (upper), (sin), and many other functions with their native alternatives. Though we'd probably want to setup some alias system to avoid user-visible changes.
The text was updated successfully, but these errors were encountered:
This is a proof of concept for calling golang functions from yal,
via the use of reflection. There's a bit of overhead in massaging
the types into suitable forms - both for arguments, and results,
but the core idea seems reasonable.
With this built and installed you can run:
```lisp
> (path.Glob "/etc/p*")
((/etc/pam.conf /etc/pam.d /etc/papersize /etc/passwd /etc/passwd- /etc/passwd.org /etc/perl /etc/pipewire /etc/pki /etc/plymouth /etc/pm /etc/pnm2ppa.conf /etc/polkit-1 /etc/ppp /etc/printcap /etc/profile /etc/profile.d /etc/protocols /etc/pulse /etc/puppet /etc/purple /etc/python /etc/python3 /etc/python3.5 /etc/python3.7 /etc/python3.9) nil)
```
Needs more work in deciding what to add, and better conversion routines.
(c.f. evalfilter).
But this updates #139.
It would be nice to call
(strings.ToUpper "foo")
and similar functions, for example.This would involve a lot of massaging of types, and the use of reflection.
Doing this would allow us to replace (upper), (sin), and many other functions with their native alternatives. Though we'd probably want to setup some alias system to avoid user-visible changes.
The text was updated successfully, but these errors were encountered: