Custom Expression in Polars - python-polars

Is it possible to create custom expressions? I understand there is a path for custom functions using the apply or map methods, but would it be possible to create a custom expression in Rust that may then be available on the python side?

Related

Convering values stored within another language to case classes

Rookie question here.
I have 2 apps that utilize Hazelcast, one is in Typescript and the other is in Scala.
The Typescript app stores all the data and the Scala one interacts with it.
I need an easy way to parse items inside of a map to a case class, this is easy if the HazelCast data is saved within Scala because it can be cast but when I attempt to do this with data stored from Typescript I get the following
java.lang.ClassCastException: com.hazelcast.core.HazelcastJsonValue cannot be cast to TheCaseClass
I'm using circe and finch in the rest of the application, not sure if circe can be used here to parse it.
tl;dr Is there an easy way to convert HazelCast data stored in Typescript to a Scala case class.
Thanks
You cannot just take one arbitrary class and cast it to another class. You have to parse them. If you use Hazelcast then probably Hanzelcast Scala is what you should use.
Wiki suggest that you would have to do at least:
import com.hazelcast.Scala._
serialization.Defaults.register(conf.getSerializationConfig)
though it might require you to write your own custom serialization.

How can I implement functions in Simulink to generate C code which have macro functions defined?

I am trying to model an algorithm which needs macro functions to be defined in the auto generated C code using embedded coder. How to do I define functions as macros in Simulink/Stateflow for the same?
From your question I understand that you are trying to replace some functions generated by the Simulink models with your own macros. You can probably achieve what you want by creating a code replacement library as described here.
Also there is a limitation to which functions you can replace: the list of functions which you can replace.
Another simple but not very elegant solution would be to write a script to do the code replacement manually. You can write a custom hook to call the script after the code is generated (customizing the build process). I would not recommend editing the generated code unless you are sure what you are doing though.

PostgreSQL internals- using GUC in an Operator?

I am creating my own index method in PostgreSQL based on GiST as extension. I want one of my functions (check out Examples section) in my operator to behave differently based on a value defined by the user- I want to avoid the user having to drop and create operators again.
So, I was looking at introducing a GUC variable. However, I am not so sure how to implement this appropriately. Right now in my implementation, the operator is being created with the value of GUC and is not behaving differently once GUC value changes at runtime.
I am not sure if I have to somehow change the signature of the function to use GUC or if I must introduce some pointer to the GUC. I cannot find any helpful material and I do not fully understand the internals to achieve this goal.
What best practices must I use for introducing an operator which changes behaviour at runtime? Unfortunately, I cannot find much information on writing internal functions/ operators/GUC in this context and so it would be great to hear any kind of feedback at all.
A “GUC” (Grand Unified Configuration) is simply a global C variable in your program code, so changing its value will take effect as soon as your code reads the variable.
Your function will be in a shared object that is loaded into PostgreSQL, and you can use the _PG_init() function that is called at load time to register a new GUC with the DefineCustomXXXVariable() functions.
Your GUC can then be set like any other GUC.
I recommend that you look at contrib modules like auto_explain to see how they do it.

What is MATLAB equivalent of Java HashSet?

Java has HashSet class which I can use to create sets and add element in constant time making it efficient to compute unique values in a list.
How can I do the same in MATLAB? Is there an equivalent native class? This question proposes using Java's HashSet but does not provide native class.
Use struct in Matlab. Refer to http://www.mathworks.com/help/matlab/ref/struct.html

Traversing a Z3Context using the z3.scala.dsl API

I'm using the scala^Z3 tool for a small library that (among other things) prints the constraints of a Z3Context in latex format. While it's possible to traverse the Z3AST and latex-ify the expressions by string comparison, it would be much nicer to use the object structure of the z3.scala.dsl package. Is there a way to obtain a z3.scala.dsl.Tree from a Z3AST?
It's true that the DSL is currently "write only", in that you can use it to create trees and ship them to Z3 but not to read them back.
The standard way to read Z3 trees is to use getASTKind and getDeclKind from Z3Context. The classes that represent the results are Z3ASTKind and Z3DeclKind respectively. (Since most trees are applications, the latter is where most of the information is).
It looks like the way to do this is create the original constraints using z3.scala.dsl, then add each constraint using Z3Context.assertCnstr (tree: Tree[BoolSort]). This way I have the whole DSL tree for easy transformation to latex. For some reason the examples on the scala^Z3 website assemble the AST without using the DSL at all, so this alternative wasn't obvious.