Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement calling Julia from q #6

Closed
4 tasks done
abalkin opened this issue Aug 12, 2017 · 2 comments
Closed
4 tasks done

Implement calling Julia from q #6

abalkin opened this issue Aug 12, 2017 · 2 comments
Assignees

Comments

@abalkin
Copy link
Collaborator

abalkin commented Aug 12, 2017

References

TODO

  1. Implement J) language for kdb+. ENH Embed Julia in kdb+. #7.
  2. Install q components in Pkg.build("JuQ"). ENH #6 Install server components during the package build. #8.
  3. Detect presence kdb+ symbols in executable and don't load c.so. Server-side code #10.
  4. Rethrow exceptions and convert some returned scalar values. ENH #1 Call Julia from kdb+ server improvements. #29.

Locating libjulia:

julia> Libdl.dlpath("libjulia")
"/Applications/Julia-0.6.app/Contents/Resources/julia/lib/libjulia.0.6.0.dylib"

Also

julia> JULIA_HOME
"/Applications/Julia-0.6.app/Contents/Resources/julia/bin"

julia> LOAD_PATH
2-element Array{Any,1}:
 "/Applications/Julia-0.6.app/Contents/Resources/julia/local/share/julia/site/v0.6"
 "/Applications/Julia-0.6.app/Contents/Resources/julia/share/julia/site/v0.6"
@abalkin
Copy link
Collaborator Author

abalkin commented Aug 24, 2017

Julia should be able to create an object callable from q by creating a C ABI function and passing a pointer to it to dl(). See "Creating C-Compatible Julia Function Pointers".

@abalkin
Copy link
Collaborator Author

abalkin commented Sep 4, 2017

#41 demonstrates feasibility of creating q functions by calling dl and cfunction on Julia functions. Making this convenient (define convert(K, x::Function)?) is left for another issue.

@abalkin abalkin closed this as completed Sep 4, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant