diff --git a/Casadi/Core/Classes/CleSolver.hs b/Casadi/Core/Classes/CleSolver.hs
--- a/Casadi/Core/Classes/CleSolver.hs
+++ b/Casadi/Core/Classes/CleSolver.hs
@@ -12,6 +12,7 @@
          cleSolver,
          cleSolver_clone,
          cleSolver_doc,
+         cleSolver_hasPlugin,
          cleSolver_loadPlugin,
          cleSolver_printStats,
        ) where
@@ -93,6 +94,26 @@
 -- classy wrapper
 cleSolver_doc :: String -> IO String
 cleSolver_doc = casadi__CleSolver__doc
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__CleSolver__hasPlugin" c_casadi__CleSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__CleSolver__hasPlugin
+  :: String -> IO Bool
+casadi__CleSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__CleSolver__hasPlugin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+cleSolver_hasPlugin :: String -> IO Bool
+cleSolver_hasPlugin = casadi__CleSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/DMatrix.hs b/Casadi/Core/Classes/DMatrix.hs
--- a/Casadi/Core/Classes/DMatrix.hs
+++ b/Casadi/Core/Classes/DMatrix.hs
@@ -89,6 +89,7 @@
          dmatrix_fmax,
          dmatrix_fmin,
          dmatrix_fmod,
+         dmatrix_getDescription,
          dmatrix_getElement__0,
          dmatrix_getElement__1,
          dmatrix_getEqualityCheckingDepth,
@@ -98,6 +99,7 @@
          dmatrix_getNZ__2,
          dmatrix_getNZ__3,
          dmatrix_getName,
+         dmatrix_getRepresentation,
          dmatrix_getValue,
          dmatrix_get__0,
          dmatrix_get__1,
@@ -6610,4 +6612,44 @@
 -- classy wrapper
 dmatrix_zeros__3 :: Int -> Int -> IO DMatrix
 dmatrix_zeros__3 = casadi__DMatrix__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getRepresentation" c_casadi__DMatrix__getRepresentation
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr StdString)
+casadi__DMatrix__getRepresentation
+  :: DMatrix -> IO String
+casadi__DMatrix__getRepresentation x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getRepresentation errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getRepresentation :: DMatrixClass a => a -> IO String
+dmatrix_getRepresentation x = casadi__DMatrix__getRepresentation (castDMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__DMatrix__getDescription" c_casadi__DMatrix__getDescription
+  :: Ptr (Ptr StdString) -> Ptr DMatrix' -> IO (Ptr StdString)
+casadi__DMatrix__getDescription
+  :: DMatrix -> IO String
+casadi__DMatrix__getDescription x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__DMatrix__getDescription errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+dmatrix_getDescription :: DMatrixClass a => a -> IO String
+dmatrix_getDescription x = casadi__DMatrix__getDescription (castDMatrix x)
 
diff --git a/Casadi/Core/Classes/DleSolver.hs b/Casadi/Core/Classes/DleSolver.hs
--- a/Casadi/Core/Classes/DleSolver.hs
+++ b/Casadi/Core/Classes/DleSolver.hs
@@ -12,7 +12,7 @@
          dleSolver,
          dleSolver_clone,
          dleSolver_doc,
-         dleSolver_infix,
+         dleSolver_hasPlugin,
          dleSolver_loadPlugin,
          dleSolver_printStats,
        ) where
@@ -97,23 +97,23 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DleSolver__infix" c_casadi__DleSolver__infix
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__DleSolver__infix
-  :: IO String
-casadi__DleSolver__infix  =
-
+foreign import ccall unsafe "casadi__DleSolver__hasPlugin" c_casadi__DleSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__DleSolver__hasPlugin
+  :: String -> IO Bool
+casadi__DleSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__DleSolver__infix errStrPtrP 
+    ret <- c_casadi__DleSolver__hasPlugin errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-dleSolver_infix :: IO String
-dleSolver_infix = casadi__DleSolver__infix
+dleSolver_hasPlugin :: String -> IO Bool
+dleSolver_hasPlugin = casadi__DleSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/DpleSolver.hs b/Casadi/Core/Classes/DpleSolver.hs
--- a/Casadi/Core/Classes/DpleSolver.hs
+++ b/Casadi/Core/Classes/DpleSolver.hs
@@ -13,7 +13,7 @@
          dpleSolver__1,
          dpleSolver_clone,
          dpleSolver_doc,
-         dpleSolver_infix,
+         dpleSolver_hasPlugin,
          dpleSolver_loadPlugin,
          dpleSolver_printStats,
        ) where
@@ -120,23 +120,23 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__DpleSolver__infix" c_casadi__DpleSolver__infix
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__DpleSolver__infix
-  :: IO String
-casadi__DpleSolver__infix  =
-
+foreign import ccall unsafe "casadi__DpleSolver__hasPlugin" c_casadi__DpleSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__DpleSolver__hasPlugin
+  :: String -> IO Bool
+casadi__DpleSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__DpleSolver__infix errStrPtrP 
+    ret <- c_casadi__DpleSolver__hasPlugin errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-dpleSolver_infix :: IO String
-dpleSolver_infix = casadi__DpleSolver__infix
+dpleSolver_hasPlugin :: String -> IO Bool
+dpleSolver_hasPlugin = casadi__DpleSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/HomotopyNlpSolver.hs b/Casadi/Core/Classes/HomotopyNlpSolver.hs
--- a/Casadi/Core/Classes/HomotopyNlpSolver.hs
+++ b/Casadi/Core/Classes/HomotopyNlpSolver.hs
@@ -11,6 +11,7 @@
          HomotopyNlpSolverClass(..),
          homotopyNlpSolver,
          homotopyNlpSolver_doc,
+         homotopyNlpSolver_hasPlugin,
          homotopyNlpSolver_loadPlugin,
        ) where
 
@@ -71,6 +72,26 @@
 -- classy wrapper
 homotopyNlpSolver_doc :: String -> IO String
 homotopyNlpSolver_doc = casadi__HomotopyNlpSolver__doc
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__HomotopyNlpSolver__hasPlugin" c_casadi__HomotopyNlpSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__HomotopyNlpSolver__hasPlugin
+  :: String -> IO Bool
+casadi__HomotopyNlpSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__HomotopyNlpSolver__hasPlugin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+homotopyNlpSolver_hasPlugin :: String -> IO Bool
+homotopyNlpSolver_hasPlugin = casadi__HomotopyNlpSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/IMatrix.hs b/Casadi/Core/Classes/IMatrix.hs
--- a/Casadi/Core/Classes/IMatrix.hs
+++ b/Casadi/Core/Classes/IMatrix.hs
@@ -86,6 +86,7 @@
          imatrix_fmax,
          imatrix_fmin,
          imatrix_fmod,
+         imatrix_getDescription,
          imatrix_getElement__0,
          imatrix_getElement__1,
          imatrix_getEqualityCheckingDepth,
@@ -95,6 +96,7 @@
          imatrix_getNZ__2,
          imatrix_getNZ__3,
          imatrix_getName,
+         imatrix_getRepresentation,
          imatrix_getValue,
          imatrix_get__0,
          imatrix_get__1,
@@ -6545,4 +6547,44 @@
 -- classy wrapper
 imatrix_zeros__3 :: Int -> Int -> IO IMatrix
 imatrix_zeros__3 = casadi__IMatrix__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getRepresentation" c_casadi__IMatrix__getRepresentation
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr StdString)
+casadi__IMatrix__getRepresentation
+  :: IMatrix -> IO String
+casadi__IMatrix__getRepresentation x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getRepresentation errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getRepresentation :: IMatrixClass a => a -> IO String
+imatrix_getRepresentation x = casadi__IMatrix__getRepresentation (castIMatrix x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__IMatrix__getDescription" c_casadi__IMatrix__getDescription
+  :: Ptr (Ptr StdString) -> Ptr IMatrix' -> IO (Ptr StdString)
+casadi__IMatrix__getDescription
+  :: IMatrix -> IO String
+casadi__IMatrix__getDescription x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__IMatrix__getDescription errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+imatrix_getDescription :: IMatrixClass a => a -> IO String
+imatrix_getDescription x = casadi__IMatrix__getDescription (castIMatrix x)
 
diff --git a/Casadi/Core/Classes/ImplicitFunction.hs b/Casadi/Core/Classes/ImplicitFunction.hs
--- a/Casadi/Core/Classes/ImplicitFunction.hs
+++ b/Casadi/Core/Classes/ImplicitFunction.hs
@@ -17,6 +17,7 @@
          implicitFunction_getF,
          implicitFunction_getJac,
          implicitFunction_getLinsol,
+         implicitFunction_hasPlugin,
          implicitFunction_loadPlugin,
        ) where
 
@@ -203,6 +204,26 @@
 -- classy wrapper
 implicitFunction_getLinsol :: ImplicitFunctionClass a => a -> IO LinearSolver
 implicitFunction_getLinsol x = casadi__ImplicitFunction__getLinsol (castImplicitFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__ImplicitFunction__hasPlugin" c_casadi__ImplicitFunction__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__ImplicitFunction__hasPlugin
+  :: String -> IO Bool
+casadi__ImplicitFunction__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__ImplicitFunction__hasPlugin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+implicitFunction_hasPlugin :: String -> IO Bool
+implicitFunction_hasPlugin = casadi__ImplicitFunction__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/Integrator.hs b/Casadi/Core/Classes/Integrator.hs
--- a/Casadi/Core/Classes/Integrator.hs
+++ b/Casadi/Core/Classes/Integrator.hs
@@ -15,6 +15,7 @@
          integrator_clone,
          integrator_doc,
          integrator_getDAE,
+         integrator_hasPlugin,
          integrator_integrate,
          integrator_integrateB,
          integrator_loadPlugin,
@@ -164,6 +165,26 @@
 -- classy wrapper
 integrator_getDAE :: IntegratorClass a => a -> IO Function
 integrator_getDAE x = casadi__Integrator__getDAE (castIntegrator x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Integrator__hasPlugin" c_casadi__Integrator__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__Integrator__hasPlugin
+  :: String -> IO Bool
+casadi__Integrator__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Integrator__hasPlugin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+integrator_hasPlugin :: String -> IO Bool
+integrator_hasPlugin = casadi__Integrator__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/LinearSolver.hs b/Casadi/Core/Classes/LinearSolver.hs
--- a/Casadi/Core/Classes/LinearSolver.hs
+++ b/Casadi/Core/Classes/LinearSolver.hs
@@ -18,6 +18,7 @@
          linearSolver_getFactorizationSparsity__1,
          linearSolver_getFactorization__0,
          linearSolver_getFactorization__1,
+         linearSolver_hasPlugin,
          linearSolver_loadPlugin,
          linearSolver_prepare,
          linearSolver_prepared,
@@ -230,6 +231,26 @@
 -- classy wrapper
 linearSolver_getFactorizationSparsity__1 :: LinearSolverClass a => a -> Bool -> IO Sparsity
 linearSolver_getFactorizationSparsity__1 x = casadi__LinearSolver__getFactorizationSparsity__1 (castLinearSolver x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__LinearSolver__hasPlugin" c_casadi__LinearSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__LinearSolver__hasPlugin
+  :: String -> IO Bool
+casadi__LinearSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__LinearSolver__hasPlugin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+linearSolver_hasPlugin :: String -> IO Bool
+linearSolver_hasPlugin = casadi__LinearSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/LpSolver.hs b/Casadi/Core/Classes/LpSolver.hs
--- a/Casadi/Core/Classes/LpSolver.hs
+++ b/Casadi/Core/Classes/LpSolver.hs
@@ -11,6 +11,7 @@
          LpSolverClass(..),
          lpSolver,
          lpSolver_doc,
+         lpSolver_hasPlugin,
          lpSolver_loadPlugin,
        ) where
 
@@ -71,6 +72,26 @@
 -- classy wrapper
 lpSolver_doc :: String -> IO String
 lpSolver_doc = casadi__LpSolver__doc
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__LpSolver__hasPlugin" c_casadi__LpSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__LpSolver__hasPlugin
+  :: String -> IO Bool
+casadi__LpSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__LpSolver__hasPlugin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+lpSolver_hasPlugin :: String -> IO Bool
+lpSolver_hasPlugin = casadi__LpSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/LrDleSolver.hs b/Casadi/Core/Classes/LrDleSolver.hs
--- a/Casadi/Core/Classes/LrDleSolver.hs
+++ b/Casadi/Core/Classes/LrDleSolver.hs
@@ -12,7 +12,7 @@
          lrDleSolver,
          lrDleSolver_clone,
          lrDleSolver_doc,
-         lrDleSolver_infix,
+         lrDleSolver_hasPlugin,
          lrDleSolver_loadPlugin,
          lrDleSolver_printStats,
        ) where
@@ -97,23 +97,23 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__LrDleSolver__infix" c_casadi__LrDleSolver__infix
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__LrDleSolver__infix
-  :: IO String
-casadi__LrDleSolver__infix  =
-
+foreign import ccall unsafe "casadi__LrDleSolver__hasPlugin" c_casadi__LrDleSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__LrDleSolver__hasPlugin
+  :: String -> IO Bool
+casadi__LrDleSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__LrDleSolver__infix errStrPtrP 
+    ret <- c_casadi__LrDleSolver__hasPlugin errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-lrDleSolver_infix :: IO String
-lrDleSolver_infix = casadi__LrDleSolver__infix
+lrDleSolver_hasPlugin :: String -> IO Bool
+lrDleSolver_hasPlugin = casadi__LrDleSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/LrDpleSolver.hs b/Casadi/Core/Classes/LrDpleSolver.hs
--- a/Casadi/Core/Classes/LrDpleSolver.hs
+++ b/Casadi/Core/Classes/LrDpleSolver.hs
@@ -12,7 +12,7 @@
          lrDpleSolver,
          lrDpleSolver_clone,
          lrDpleSolver_doc,
-         lrDpleSolver_infix,
+         lrDpleSolver_hasPlugin,
          lrDpleSolver_loadPlugin,
          lrDpleSolver_printStats,
        ) where
@@ -97,23 +97,23 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__LrDpleSolver__infix" c_casadi__LrDpleSolver__infix
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__LrDpleSolver__infix
-  :: IO String
-casadi__LrDpleSolver__infix  =
-
+foreign import ccall unsafe "casadi__LrDpleSolver__hasPlugin" c_casadi__LrDpleSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__LrDpleSolver__hasPlugin
+  :: String -> IO Bool
+casadi__LrDpleSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__LrDpleSolver__infix errStrPtrP 
+    ret <- c_casadi__LrDpleSolver__hasPlugin errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-lrDpleSolver_infix :: IO String
-lrDpleSolver_infix = casadi__LrDpleSolver__infix
+lrDpleSolver_hasPlugin :: String -> IO Bool
+lrDpleSolver_hasPlugin = casadi__LrDpleSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/NlpSolver.hs b/Casadi/Core/Classes/NlpSolver.hs
--- a/Casadi/Core/Classes/NlpSolver.hs
+++ b/Casadi/Core/Classes/NlpSolver.hs
@@ -15,8 +15,8 @@
          nlpSolver_getReducedHessian,
          nlpSolver_getReportConstraints,
          nlpSolver_gradF,
+         nlpSolver_hasPlugin,
          nlpSolver_hessLag,
-         nlpSolver_infix,
          nlpSolver_jacG,
          nlpSolver_joinFG,
          nlpSolver_loadPlugin,
@@ -167,43 +167,43 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__NlpSolver__hessLag" c_casadi__NlpSolver__hessLag
-  :: Ptr (Ptr StdString) -> Ptr NlpSolver' -> IO (Ptr Function')
-casadi__NlpSolver__hessLag
-  :: NlpSolver -> IO Function
-casadi__NlpSolver__hessLag x0 =
+foreign import ccall unsafe "casadi__NlpSolver__hasPlugin" c_casadi__NlpSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__NlpSolver__hasPlugin
+  :: String -> IO Bool
+casadi__NlpSolver__hasPlugin x0 =
   withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__NlpSolver__hessLag errStrPtrP x0'
+    ret <- c_casadi__NlpSolver__hasPlugin errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-nlpSolver_hessLag :: NlpSolverClass a => a -> IO Function
-nlpSolver_hessLag x = casadi__NlpSolver__hessLag (castNlpSolver x)
+nlpSolver_hasPlugin :: String -> IO Bool
+nlpSolver_hasPlugin = casadi__NlpSolver__hasPlugin
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__NlpSolver__infix" c_casadi__NlpSolver__infix
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__NlpSolver__infix
-  :: IO String
-casadi__NlpSolver__infix  =
-
+foreign import ccall unsafe "casadi__NlpSolver__hessLag" c_casadi__NlpSolver__hessLag
+  :: Ptr (Ptr StdString) -> Ptr NlpSolver' -> IO (Ptr Function')
+casadi__NlpSolver__hessLag
+  :: NlpSolver -> IO Function
+casadi__NlpSolver__hessLag x0 =
+  withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__NlpSolver__infix errStrPtrP 
+    ret <- c_casadi__NlpSolver__hessLag errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-nlpSolver_infix :: IO String
-nlpSolver_infix = casadi__NlpSolver__infix
+nlpSolver_hessLag :: NlpSolverClass a => a -> IO Function
+nlpSolver_hessLag x = casadi__NlpSolver__hessLag (castNlpSolver x)
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/QcqpSolver.hs b/Casadi/Core/Classes/QcqpSolver.hs
--- a/Casadi/Core/Classes/QcqpSolver.hs
+++ b/Casadi/Core/Classes/QcqpSolver.hs
@@ -11,7 +11,7 @@
          QcqpSolverClass(..),
          qcqpSolver,
          qcqpSolver_doc,
-         qcqpSolver_infix,
+         qcqpSolver_hasPlugin,
          qcqpSolver_loadPlugin,
          qcqpSolver_setQPOptions,
        ) where
@@ -76,23 +76,23 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__QcqpSolver__infix" c_casadi__QcqpSolver__infix
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__QcqpSolver__infix
-  :: IO String
-casadi__QcqpSolver__infix  =
-
+foreign import ccall unsafe "casadi__QcqpSolver__hasPlugin" c_casadi__QcqpSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__QcqpSolver__hasPlugin
+  :: String -> IO Bool
+casadi__QcqpSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__QcqpSolver__infix errStrPtrP 
+    ret <- c_casadi__QcqpSolver__hasPlugin errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-qcqpSolver_infix :: IO String
-qcqpSolver_infix = casadi__QcqpSolver__infix
+qcqpSolver_hasPlugin :: String -> IO Bool
+qcqpSolver_hasPlugin = casadi__QcqpSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/QpSolver.hs b/Casadi/Core/Classes/QpSolver.hs
--- a/Casadi/Core/Classes/QpSolver.hs
+++ b/Casadi/Core/Classes/QpSolver.hs
@@ -12,7 +12,7 @@
          qpSolver,
          qpSolver_doc,
          qpSolver_generateNativeCode,
-         qpSolver_infix,
+         qpSolver_hasPlugin,
          qpSolver_loadPlugin,
          qpSolver_setLPOptions,
        ) where
@@ -98,23 +98,23 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__QpSolver__infix" c_casadi__QpSolver__infix
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__QpSolver__infix
-  :: IO String
-casadi__QpSolver__infix  =
-
+foreign import ccall unsafe "casadi__QpSolver__hasPlugin" c_casadi__QpSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__QpSolver__hasPlugin
+  :: String -> IO Bool
+casadi__QpSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__QpSolver__infix errStrPtrP 
+    ret <- c_casadi__QpSolver__hasPlugin errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-qpSolver_infix :: IO String
-qpSolver_infix = casadi__QpSolver__infix
+qpSolver_hasPlugin :: String -> IO Bool
+qpSolver_hasPlugin = casadi__QpSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/SX.hs b/Casadi/Core/Classes/SX.hs
--- a/Casadi/Core/Classes/SX.hs
+++ b/Casadi/Core/Classes/SX.hs
@@ -92,6 +92,7 @@
          sx_fmax,
          sx_fmin,
          sx_fmod,
+         sx_getDescription,
          sx_getElement__0,
          sx_getElement__1,
          sx_getEqualityCheckingDepth,
@@ -101,6 +102,7 @@
          sx_getNZ__2,
          sx_getNZ__3,
          sx_getName,
+         sx_getRepresentation,
          sx_getValue,
          sx_get__0,
          sx_get__1,
@@ -6675,4 +6677,44 @@
 -- classy wrapper
 sx_zeros__3 :: Int -> Int -> IO SX
 sx_zeros__3 = casadi__SX__zeros__3
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getRepresentation" c_casadi__SX__getRepresentation
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
+casadi__SX__getRepresentation
+  :: SX -> IO String
+casadi__SX__getRepresentation x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getRepresentation errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getRepresentation :: SXClass a => a -> IO String
+sx_getRepresentation x = casadi__SX__getRepresentation (castSX x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SX__getDescription" c_casadi__SX__getDescription
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr StdString)
+casadi__SX__getDescription
+  :: SX -> IO String
+casadi__SX__getDescription x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SX__getDescription errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sx_getDescription :: SXClass a => a -> IO String
+sx_getDescription x = casadi__SX__getDescription (castSX x)
 
diff --git a/Casadi/Core/Classes/SXElement.hs b/Casadi/Core/Classes/SXElement.hs
--- a/Casadi/Core/Classes/SXElement.hs
+++ b/Casadi/Core/Classes/SXElement.hs
@@ -71,10 +71,12 @@
          sxElement_fmod,
          sxElement_getDep__0,
          sxElement_getDep__1,
+         sxElement_getDescription,
          sxElement_getIntValue,
          sxElement_getName,
          sxElement_getNdeps,
          sxElement_getOp,
+         sxElement_getRepresentation,
          sxElement_getTemp,
          sxElement_getValue,
          sxElement_hasDep,
@@ -2395,4 +2397,44 @@
 -- classy wrapper
 sxElement_unary :: Int -> SXElement -> IO SXElement
 sxElement_unary = casadi__SXElement__unary
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SXElement__getRepresentation" c_casadi__SXElement__getRepresentation
+  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr StdString)
+casadi__SXElement__getRepresentation
+  :: SXElement -> IO String
+casadi__SXElement__getRepresentation x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SXElement__getRepresentation errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sxElement_getRepresentation :: SXElementClass a => a -> IO String
+sxElement_getRepresentation x = casadi__SXElement__getRepresentation (castSXElement x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SXElement__getDescription" c_casadi__SXElement__getDescription
+  :: Ptr (Ptr StdString) -> Ptr SXElement' -> IO (Ptr StdString)
+casadi__SXElement__getDescription
+  :: SXElement -> IO String
+casadi__SXElement__getDescription x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SXElement__getDescription errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sxElement_getDescription :: SXElementClass a => a -> IO String
+sxElement_getDescription x = casadi__SXElement__getDescription (castSXElement x)
 
diff --git a/Casadi/Core/Classes/SdpSolver.hs b/Casadi/Core/Classes/SdpSolver.hs
--- a/Casadi/Core/Classes/SdpSolver.hs
+++ b/Casadi/Core/Classes/SdpSolver.hs
@@ -11,7 +11,7 @@
          SdpSolverClass(..),
          sdpSolver,
          sdpSolver_doc,
-         sdpSolver_infix,
+         sdpSolver_hasPlugin,
          sdpSolver_loadPlugin,
          sdpSolver_setSOCPOptions,
        ) where
@@ -76,23 +76,23 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__SdpSolver__infix" c_casadi__SdpSolver__infix
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__SdpSolver__infix
-  :: IO String
-casadi__SdpSolver__infix  =
-
+foreign import ccall unsafe "casadi__SdpSolver__hasPlugin" c_casadi__SdpSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__SdpSolver__hasPlugin
+  :: String -> IO Bool
+casadi__SdpSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__SdpSolver__infix errStrPtrP 
+    ret <- c_casadi__SdpSolver__hasPlugin errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-sdpSolver_infix :: IO String
-sdpSolver_infix = casadi__SdpSolver__infix
+sdpSolver_hasPlugin :: String -> IO Bool
+sdpSolver_hasPlugin = casadi__SdpSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/SdqpSolver.hs b/Casadi/Core/Classes/SdqpSolver.hs
--- a/Casadi/Core/Classes/SdqpSolver.hs
+++ b/Casadi/Core/Classes/SdqpSolver.hs
@@ -11,6 +11,7 @@
          SdqpSolverClass(..),
          sdqpSolver,
          sdqpSolver_doc,
+         sdqpSolver_hasPlugin,
          sdqpSolver_loadPlugin,
          sdqpSolver_setSOCQPOptions,
        ) where
@@ -72,6 +73,26 @@
 -- classy wrapper
 sdqpSolver_doc :: String -> IO String
 sdqpSolver_doc = casadi__SdqpSolver__doc
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SdqpSolver__hasPlugin" c_casadi__SdqpSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__SdqpSolver__hasPlugin
+  :: String -> IO Bool
+casadi__SdqpSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SdqpSolver__hasPlugin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sdqpSolver_hasPlugin :: String -> IO Bool
+sdqpSolver_hasPlugin = casadi__SdqpSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/SharedObject.hs b/Casadi/Core/Classes/SharedObject.hs
--- a/Casadi/Core/Classes/SharedObject.hs
+++ b/Casadi/Core/Classes/SharedObject.hs
@@ -10,6 +10,8 @@
          SharedObject,
          SharedObjectClass(..),
          sharedObject_assertInit,
+         sharedObject_getDescription,
+         sharedObject_getRepresentation,
          sharedObject_init__0,
          sharedObject_init__1,
          sharedObject_isInit,
@@ -198,4 +200,44 @@
 -- classy wrapper
 sharedObject_printPtr :: SharedObjectClass a => a -> IO ()
 sharedObject_printPtr x = casadi__SharedObject__printPtr (castSharedObject x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SharedObject__getRepresentation" c_casadi__SharedObject__getRepresentation
+  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO (Ptr StdString)
+casadi__SharedObject__getRepresentation
+  :: SharedObject -> IO String
+casadi__SharedObject__getRepresentation x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SharedObject__getRepresentation errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sharedObject_getRepresentation :: SharedObjectClass a => a -> IO String
+sharedObject_getRepresentation x = casadi__SharedObject__getRepresentation (castSharedObject x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SharedObject__getDescription" c_casadi__SharedObject__getDescription
+  :: Ptr (Ptr StdString) -> Ptr SharedObject' -> IO (Ptr StdString)
+casadi__SharedObject__getDescription
+  :: SharedObject -> IO String
+casadi__SharedObject__getDescription x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SharedObject__getDescription errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+sharedObject_getDescription :: SharedObjectClass a => a -> IO String
+sharedObject_getDescription x = casadi__SharedObject__getDescription (castSharedObject x)
 
diff --git a/Casadi/Core/Classes/Slice.hs b/Casadi/Core/Classes/Slice.hs
--- a/Casadi/Core/Classes/Slice.hs
+++ b/Casadi/Core/Classes/Slice.hs
@@ -17,6 +17,8 @@
          slice__5,
          slice_getAll__0,
          slice_getAll__1,
+         slice_getDescription,
+         slice_getRepresentation,
          slice_isSlice,
          slice_isSlice2,
        ) where
@@ -245,4 +247,44 @@
 -- classy wrapper
 slice_isSlice2 :: Vector Int -> IO Bool
 slice_isSlice2 = casadi__Slice__isSlice2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__getRepresentation" c_casadi__Slice__getRepresentation
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> IO (Ptr StdString)
+casadi__Slice__getRepresentation
+  :: Slice -> IO String
+casadi__Slice__getRepresentation x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Slice__getRepresentation errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+slice_getRepresentation :: SliceClass a => a -> IO String
+slice_getRepresentation x = casadi__Slice__getRepresentation (castSlice x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Slice__getDescription" c_casadi__Slice__getDescription
+  :: Ptr (Ptr StdString) -> Ptr Slice' -> IO (Ptr StdString)
+casadi__Slice__getDescription
+  :: Slice -> IO String
+casadi__Slice__getDescription x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Slice__getDescription errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+slice_getDescription :: SliceClass a => a -> IO String
+slice_getDescription x = casadi__Slice__getDescription (castSlice x)
 
diff --git a/Casadi/Core/Classes/SocpSolver.hs b/Casadi/Core/Classes/SocpSolver.hs
--- a/Casadi/Core/Classes/SocpSolver.hs
+++ b/Casadi/Core/Classes/SocpSolver.hs
@@ -11,7 +11,7 @@
          SocpSolverClass(..),
          socpSolver,
          socpSolver_doc,
-         socpSolver_infix,
+         socpSolver_hasPlugin,
          socpSolver_loadPlugin,
        ) where
 
@@ -75,23 +75,23 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__SocpSolver__infix" c_casadi__SocpSolver__infix
-  :: Ptr (Ptr StdString) -> IO (Ptr StdString)
-casadi__SocpSolver__infix
-  :: IO String
-casadi__SocpSolver__infix  =
-
+foreign import ccall unsafe "casadi__SocpSolver__hasPlugin" c_casadi__SocpSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__SocpSolver__hasPlugin
+  :: String -> IO Bool
+casadi__SocpSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
   do
     errStrPtrP <- new nullPtr
-    ret <- c_casadi__SocpSolver__infix errStrPtrP 
+    ret <- c_casadi__SocpSolver__hasPlugin errStrPtrP x0'
     errStrPtr <- peek errStrPtrP
     free errStrPtrP
     if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
 
 
 -- classy wrapper
-socpSolver_infix :: IO String
-socpSolver_infix = casadi__SocpSolver__infix
+socpSolver_hasPlugin :: String -> IO Bool
+socpSolver_hasPlugin = casadi__SocpSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/StabilizedQpSolver.hs b/Casadi/Core/Classes/StabilizedQpSolver.hs
--- a/Casadi/Core/Classes/StabilizedQpSolver.hs
+++ b/Casadi/Core/Classes/StabilizedQpSolver.hs
@@ -12,6 +12,7 @@
          stabilizedQpSolver,
          stabilizedQpSolver_doc,
          stabilizedQpSolver_generateNativeCode,
+         stabilizedQpSolver_hasPlugin,
          stabilizedQpSolver_loadPlugin,
          stabilizedQpSolver_setLPOptions,
        ) where
@@ -94,6 +95,26 @@
 -- classy wrapper
 stabilizedQpSolver_generateNativeCode :: StabilizedQpSolverClass a => a -> String -> IO ()
 stabilizedQpSolver_generateNativeCode x = casadi__StabilizedQpSolver__generateNativeCode (castStabilizedQpSolver x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__StabilizedQpSolver__hasPlugin" c_casadi__StabilizedQpSolver__hasPlugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+casadi__StabilizedQpSolver__hasPlugin
+  :: String -> IO Bool
+casadi__StabilizedQpSolver__hasPlugin x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__StabilizedQpSolver__hasPlugin errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+stabilizedQpSolver_hasPlugin :: String -> IO Bool
+stabilizedQpSolver_hasPlugin = casadi__StabilizedQpSolver__hasPlugin
 
 
 -- direct wrapper
diff --git a/Casadi/Core/Classes/SymbolicNLP.hs b/Casadi/Core/Classes/SymbolicNLP.hs
--- a/Casadi/Core/Classes/SymbolicNLP.hs
+++ b/Casadi/Core/Classes/SymbolicNLP.hs
@@ -9,6 +9,8 @@
        (
          SymbolicNLP,
          SymbolicNLPClass(..),
+         symbolicNLP_getDescription,
+         symbolicNLP_getRepresentation,
          symbolicNLP_parseNL,
        ) where
 
@@ -50,4 +52,44 @@
 -- classy wrapper
 symbolicNLP_parseNL :: SymbolicNLPClass a => a -> String -> IO ()
 symbolicNLP_parseNL x = casadi__SymbolicNLP__parseNL (castSymbolicNLP x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SymbolicNLP__getRepresentation" c_casadi__SymbolicNLP__getRepresentation
+  :: Ptr (Ptr StdString) -> Ptr SymbolicNLP' -> IO (Ptr StdString)
+casadi__SymbolicNLP__getRepresentation
+  :: SymbolicNLP -> IO String
+casadi__SymbolicNLP__getRepresentation x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SymbolicNLP__getRepresentation errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+symbolicNLP_getRepresentation :: SymbolicNLPClass a => a -> IO String
+symbolicNLP_getRepresentation x = casadi__SymbolicNLP__getRepresentation (castSymbolicNLP x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SymbolicNLP__getDescription" c_casadi__SymbolicNLP__getDescription
+  :: Ptr (Ptr StdString) -> Ptr SymbolicNLP' -> IO (Ptr StdString)
+casadi__SymbolicNLP__getDescription
+  :: SymbolicNLP -> IO String
+casadi__SymbolicNLP__getDescription x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SymbolicNLP__getDescription errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+symbolicNLP_getDescription :: SymbolicNLPClass a => a -> IO String
+symbolicNLP_getDescription x = casadi__SymbolicNLP__getDescription (castSymbolicNLP x)
 
diff --git a/Casadi/Core/Classes/SymbolicOCP.hs b/Casadi/Core/Classes/SymbolicOCP.hs
--- a/Casadi/Core/Classes/SymbolicOCP.hs
+++ b/Casadi/Core/Classes/SymbolicOCP.hs
@@ -33,6 +33,8 @@
          symbolicOCP_eliminateOutputs,
          symbolicOCP_eliminateQuadratureStates,
          symbolicOCP_generateMuscodDatFile,
+         symbolicOCP_getDescription,
+         symbolicOCP_getRepresentation,
          symbolicOCP_initialGuess__0,
          symbolicOCP_initialGuess__1,
          symbolicOCP_makeExplicit,
@@ -1651,4 +1653,44 @@
 -- classy wrapper
 symbolicOCP_variable__1 :: SymbolicOCPClass a => a -> String -> IO Variable
 symbolicOCP_variable__1 x = casadi__SymbolicOCP__variable__1 (castSymbolicOCP x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SymbolicOCP__getRepresentation" c_casadi__SymbolicOCP__getRepresentation
+  :: Ptr (Ptr StdString) -> Ptr SymbolicOCP' -> IO (Ptr StdString)
+casadi__SymbolicOCP__getRepresentation
+  :: SymbolicOCP -> IO String
+casadi__SymbolicOCP__getRepresentation x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SymbolicOCP__getRepresentation errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+symbolicOCP_getRepresentation :: SymbolicOCPClass a => a -> IO String
+symbolicOCP_getRepresentation x = casadi__SymbolicOCP__getRepresentation (castSymbolicOCP x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__SymbolicOCP__getDescription" c_casadi__SymbolicOCP__getDescription
+  :: Ptr (Ptr StdString) -> Ptr SymbolicOCP' -> IO (Ptr StdString)
+casadi__SymbolicOCP__getDescription
+  :: SymbolicOCP -> IO String
+casadi__SymbolicOCP__getDescription x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__SymbolicOCP__getDescription errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+symbolicOCP_getDescription :: SymbolicOCPClass a => a -> IO String
+symbolicOCP_getDescription x = casadi__SymbolicOCP__getDescription (castSymbolicOCP x)
 
diff --git a/Casadi/Core/Classes/Variable.hs b/Casadi/Core/Classes/Variable.hs
--- a/Casadi/Core/Classes/Variable.hs
+++ b/Casadi/Core/Classes/Variable.hs
@@ -14,6 +14,8 @@
          variable_atTime__1,
          variable_atTime__2,
          variable_atTime__3,
+         variable_getDescription,
+         variable_getRepresentation,
          variable_name,
          variable_setName,
        ) where
@@ -182,4 +184,44 @@
 -- classy wrapper
 variable_setName :: VariableClass a => a -> String -> IO ()
 variable_setName x = casadi__Variable__setName (castVariable x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Variable__getRepresentation" c_casadi__Variable__getRepresentation
+  :: Ptr (Ptr StdString) -> Ptr Variable' -> IO (Ptr StdString)
+casadi__Variable__getRepresentation
+  :: Variable -> IO String
+casadi__Variable__getRepresentation x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Variable__getRepresentation errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+variable_getRepresentation :: VariableClass a => a -> IO String
+variable_getRepresentation x = casadi__Variable__getRepresentation (castVariable x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Variable__getDescription" c_casadi__Variable__getDescription
+  :: Ptr (Ptr StdString) -> Ptr Variable' -> IO (Ptr StdString)
+casadi__Variable__getDescription
+  :: Variable -> IO String
+casadi__Variable__getDescription x0 =
+  withMarshal x0 $ \x0' ->
+  do
+    errStrPtrP <- new nullPtr
+    ret <- c_casadi__Variable__getDescription errStrPtrP x0'
+    errStrPtr <- peek errStrPtrP
+    free errStrPtrP
+    if errStrPtr == nullPtr then wrapReturn ret else wrapReturn errStrPtr >>= (error . formatException)
+
+
+-- classy wrapper
+variable_getDescription :: VariableClass a => a -> IO String
+variable_getDescription x = casadi__Variable__getDescription (castVariable x)
 
diff --git a/Casadi/Core/Data.hs b/Casadi/Core/Data.hs
--- a/Casadi/Core/Data.hs
+++ b/Casadi/Core/Data.hs
@@ -317,11 +317,7 @@
 >
 >
 >Joris Gillis
->Diagrams
->--------
 >
->
->
 >C++ includes: cle_solver.hpp 
 -}
 newtype CleSolver = CleSolver (ForeignPtr CleSolver')
@@ -544,11 +540,6 @@
 >|              |              |              | debugging    |              |
 >+--------------+--------------+--------------+--------------+--------------+
 >
->Diagrams
->--------
->
->
->
 >C++ includes: control_simulator.hpp 
 -}
 newtype ControlSimulator = ControlSimulator (ForeignPtr ControlSimulator')
@@ -714,11 +705,6 @@
 >|              |              |              | debugging    |              |
 >+--------------+--------------+--------------+--------------+--------------+
 >
->Diagrams
->--------
->
->
->
 >C++ includes: custom_function.hpp 
 -}
 newtype CustomFunction = CustomFunction (ForeignPtr CustomFunction')
@@ -1093,11 +1079,7 @@
 >
 >
 >Joris Gillis
->Diagrams
->--------
 >
->
->
 >C++ includes: dle_solver.hpp 
 -}
 newtype DleSolver = DleSolver (ForeignPtr DleSolver')
@@ -1479,11 +1461,7 @@
 >
 >
 >Joris Gillis
->Diagrams
->--------
 >
->
->
 >C++ includes: dple_solver.hpp 
 -}
 newtype DpleSolver = DpleSolver (ForeignPtr DpleSolver')
@@ -1612,11 +1590,6 @@
 >|              |              |              | debugging    |              |
 >+--------------+--------------+--------------+--------------+--------------+
 >
->Diagrams
->--------
->
->
->
 >C++ includes: external_function.hpp 
 -}
 newtype ExternalFunction = ExternalFunction (ForeignPtr ExternalFunction')
@@ -1786,11 +1759,6 @@
 >| outputs | casadi::FunctionInternal |
 >+---------+--------------------------+
 >
->Diagrams
->--------
->
->
->
 >C++ includes: function.hpp 
 -}
 newtype Function = Function (ForeignPtr Function')
@@ -2126,11 +2094,7 @@
 >
 >
 >Joris Gillis
->Diagrams
->--------
 >
->
->
 >C++ includes: homotopy_nlp_solver.hpp 
 -}
 newtype HomotopyNlpSolver = HomotopyNlpSolver (ForeignPtr HomotopyNlpSolver')
@@ -2330,6 +2294,14 @@
 >|              |              |              | don't make   |              |
 >|              |              |              | sense        |              |
 >+--------------+--------------+--------------+--------------+--------------+
+>| jacobian_fun | OT_FUNCTION  | GenericType( | Function     | casadi::Impl |
+>| ction        |              | )            | object for   | icitFunction |
+>|              |              |              | calculating  | Internal     |
+>|              |              |              | the Jacobian |              |
+>|              |              |              | (autogenerat |              |
+>|              |              |              | ed by        |              |
+>|              |              |              | default)     |              |
+>+--------------+--------------+--------------+--------------+--------------+
 >| linear_solve | OT_STRING    | GenericType( | User-defined | casadi::Impl |
 >| r            |              | )            | linear       | icitFunction |
 >|              |              |              | solver       | Internal     |
@@ -2338,6 +2310,14 @@
 >|              |              |              | ensitivities |              |
 >|              |              |              | .            |              |
 >+--------------+--------------+--------------+--------------+--------------+
+>| linear_solve | OT_FUNCTION  | GenericType( | Function     | casadi::Impl |
+>| r_function   |              | )            | object for   | icitFunction |
+>|              |              |              | solving the  | Internal     |
+>|              |              |              | linearized   |              |
+>|              |              |              | problem (aut |              |
+>|              |              |              | ogenerated   |              |
+>|              |              |              | by default)  |              |
+>+--------------+--------------+--------------+--------------+--------------+
 >| linear_solve | OT_DICTIONAR | GenericType( | Options to   | casadi::Impl |
 >| r_options    | Y            | )            | be passed to | icitFunction |
 >|              |              |              | the linear   | Internal     |
@@ -2564,11 +2544,7 @@
 >
 >
 >Joel Andersson
->Diagrams
->--------
 >
->
->
 >C++ includes: implicit_function.hpp 
 -}
 newtype ImplicitFunction = ImplicitFunction (ForeignPtr ImplicitFunction')
@@ -3608,11 +3584,7 @@
 >
 >
 >Joel Andersson
->Diagrams
->--------
 >
->
->
 >C++ includes: integrator.hpp 
 -}
 newtype Integrator = Integrator (ForeignPtr Integrator')
@@ -3920,11 +3892,7 @@
 >
 >
 >Joel Andersson
->Diagrams
->--------
 >
->
->
 >C++ includes: linear_solver.hpp 
 -}
 newtype LinearSolver = LinearSolver (ForeignPtr LinearSolver')
@@ -4162,11 +4130,7 @@
 >
 >
 >Joris Gillis
->Diagrams
->--------
 >
->
->
 >C++ includes: lp_solver.hpp 
 -}
 newtype LpSolver = LpSolver (ForeignPtr LpSolver')
@@ -4482,11 +4446,7 @@
 >
 >
 >Joris Gillis
->Diagrams
->--------
 >
->
->
 >C++ includes: lr_dle_solver.hpp 
 -}
 newtype LrDleSolver = LrDleSolver (ForeignPtr LrDleSolver')
@@ -4758,11 +4718,7 @@
 >
 >
 >Joris Gillis
->Diagrams
->--------
 >
->
->
 >C++ includes: lr_dple_solver.hpp 
 -}
 newtype LrDpleSolver = LrDpleSolver (ForeignPtr LrDpleSolver')
@@ -4918,11 +4874,6 @@
 >|              |              |              | debugging    |              |
 >+--------------+--------------+--------------+--------------+--------------+
 >
->Diagrams
->--------
->
->
->
 >C++ includes: mx_function.hpp 
 -}
 newtype MXFunction = MXFunction (ForeignPtr MXFunction')
@@ -9333,11 +9284,7 @@
 >
 >
 >Joel Andersson
->Diagrams
->--------
 >
->
->
 >C++ includes: nlp_solver.hpp 
 -}
 newtype NlpSolver = NlpSolver (ForeignPtr NlpSolver')
@@ -9480,11 +9427,6 @@
 >|              |              |              | debugging    |              |
 >+--------------+--------------+--------------+--------------+--------------+
 >
->Diagrams
->--------
->
->
->
 >C++ includes: nullspace.hpp 
 -}
 newtype Nullspace = Nullspace (ForeignPtr Nullspace')
@@ -9543,11 +9485,6 @@
 >|              |              |              |              | lityNode     |
 >+--------------+--------------+--------------+--------------+--------------+
 >
->Diagrams
->--------
->
->
->
 >C++ includes: options_functionality.hpp 
 -}
 newtype OptionsFunctionality = OptionsFunctionality (ForeignPtr OptionsFunctionality')
@@ -9691,11 +9628,6 @@
 >| task_starttime  | casadi::ParallelizerInternal |
 >+-----------------+------------------------------+
 >
->Diagrams
->--------
->
->
->
 >C++ includes: parallelizer.hpp 
 -}
 newtype Parallelizer = Parallelizer (ForeignPtr Parallelizer')
@@ -9996,11 +9928,7 @@
 >
 >
 >Joris Gillis
->Diagrams
->--------
 >
->
->
 >C++ includes: qcqp_solver.hpp 
 -}
 newtype QcqpSolver = QcqpSolver (ForeignPtr QcqpSolver')
@@ -10616,11 +10544,7 @@
 >
 >
 >Joel Andersson
->Diagrams
->--------
 >
->
->
 >C++ includes: qp_solver.hpp 
 -}
 newtype QpSolver = QpSolver (ForeignPtr QpSolver')
@@ -10816,11 +10740,6 @@
 >|              |              |              | debugging    |              |
 >+--------------+--------------+--------------+--------------+--------------+
 >
->Diagrams
->--------
->
->
->
 >C++ includes: sx_function.hpp 
 -}
 newtype SXFunction = SXFunction (ForeignPtr SXFunction')
@@ -11287,11 +11206,7 @@
 >
 >
 >Joel Andersson
->Diagrams
->--------
 >
->
->
 >C++ includes: sdp_solver.hpp 
 -}
 newtype SdpSolver = SdpSolver (ForeignPtr SdpSolver')
@@ -11553,11 +11468,7 @@
 >
 >
 >Joel Andersson
->Diagrams
->--------
 >
->
->
 >C++ includes: sdqp_solver.hpp 
 -}
 newtype SdqpSolver = SdqpSolver (ForeignPtr SdqpSolver')
@@ -11797,11 +11708,6 @@
 >| step    | casadi::SimulatorInternal |
 >+---------+---------------------------+
 >
->Diagrams
->--------
->
->
->
 >C++ includes: simulator.hpp 
 -}
 newtype Simulator = Simulator (ForeignPtr Simulator')
@@ -12110,11 +12016,7 @@
 >
 >
 >Joris Gillis
->Diagrams
->--------
 >
->
->
 >C++ includes: socp_solver.hpp 
 -}
 newtype SocpSolver = SocpSolver (ForeignPtr SocpSolver')
@@ -12475,11 +12377,7 @@
 >
 >
 >Joel Andersson
->Diagrams
->--------
 >
->
->
 >C++ includes: stabilized_qp_solver.hpp 
 -}
 newtype StabilizedQpSolver = StabilizedQpSolver (ForeignPtr StabilizedQpSolver')
@@ -12682,10 +12580,6 @@
 >XML parser Can be used for parsing XML files into CasADi data structures.
 >
 >Joel Andersson
->Diagrams
->--------
->
->
 >
 >C++ includes: xml_file.hpp 
 -}
diff --git a/casadi-bindings-core.cabal b/casadi-bindings-core.cabal
--- a/casadi-bindings-core.cabal
+++ b/casadi-bindings-core.cabal
@@ -1,5 +1,5 @@
 name:                casadi-bindings-core
-version:             2.1.0.0
+version:             2.1.3.0
 license:             LGPL-3
 license-file:        LICENSE
 category:            Numerical, Math
diff --git a/cbits/autogen/core_classes.cpp b/cbits/autogen/core_classes.cpp
# file too large to diff: cbits/autogen/core_classes.cpp
