mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-22 09:32:53 -06:00
bugfix for hasLinearization in the Haskell binding
This commit is contained in:
@@ -195,7 +195,7 @@ pgf_print_name(PgfConcr* concr, PgfCId id)
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
PGF_API bool
|
PGF_API int
|
||||||
pgf_has_linearization(PgfConcr* concr, PgfCId id)
|
pgf_has_linearization(PgfConcr* concr, PgfCId id)
|
||||||
{
|
{
|
||||||
PgfCncOverloadMap* overl_table =
|
PgfCncOverloadMap* overl_table =
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ pgf_function_prob(PgfPGF* pgf, PgfCId funname);
|
|||||||
PGF_API_DECL GuString
|
PGF_API_DECL GuString
|
||||||
pgf_print_name(PgfConcr*, PgfCId id);
|
pgf_print_name(PgfConcr*, PgfCId id);
|
||||||
|
|
||||||
PGF_API_DECL bool
|
PGF_API_DECL int
|
||||||
pgf_has_linearization(PgfConcr* concr, PgfCId id);
|
pgf_has_linearization(PgfConcr* concr, PgfCId id);
|
||||||
|
|
||||||
PGF_API_DECL void
|
PGF_API_DECL void
|
||||||
|
|||||||
@@ -580,8 +580,9 @@ parseWithOracle lang cat sent (predict,complete,literal) =
|
|||||||
-- | Returns True if there is a linearization defined for that function in that language
|
-- | Returns True if there is a linearization defined for that function in that language
|
||||||
hasLinearization :: Concr -> Fun -> Bool
|
hasLinearization :: Concr -> Fun -> Bool
|
||||||
hasLinearization lang id = unsafePerformIO $
|
hasLinearization lang id = unsafePerformIO $
|
||||||
withGuPool $ \pl ->
|
withGuPool $ \pl -> do
|
||||||
newUtf8CString id pl >>= pgf_has_linearization (concr lang)
|
res <- newUtf8CString id pl >>= pgf_has_linearization (concr lang)
|
||||||
|
return (res /= 0)
|
||||||
|
|
||||||
-- | Linearizes an expression as a string in the language
|
-- | Linearizes an expression as a string in the language
|
||||||
linearize :: Concr -> Expr -> String
|
linearize :: Concr -> Expr -> String
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ foreign import ccall "pgf/pgf.h pgf_print_name"
|
|||||||
pgf_print_name :: Ptr PgfConcr -> CString -> IO CString
|
pgf_print_name :: Ptr PgfConcr -> CString -> IO CString
|
||||||
|
|
||||||
foreign import ccall "pgf/pgf.h pgf_has_linearization"
|
foreign import ccall "pgf/pgf.h pgf_has_linearization"
|
||||||
pgf_has_linearization :: Ptr PgfConcr -> CString -> IO Bool
|
pgf_has_linearization :: Ptr PgfConcr -> CString -> IO CInt
|
||||||
|
|
||||||
foreign import ccall "pgf/pgf.h pgf_linearize"
|
foreign import ccall "pgf/pgf.h pgf_linearize"
|
||||||
pgf_linearize :: Ptr PgfConcr -> PgfExpr -> Ptr GuOut -> Ptr GuExn -> IO ()
|
pgf_linearize :: Ptr PgfConcr -> PgfExpr -> Ptr GuOut -> Ptr GuExn -> IO ()
|
||||||
|
|||||||
Reference in New Issue
Block a user