mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -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;
|
||||
}
|
||||
|
||||
PGF_API bool
|
||||
PGF_API int
|
||||
pgf_has_linearization(PgfConcr* concr, PgfCId id)
|
||||
{
|
||||
PgfCncOverloadMap* overl_table =
|
||||
|
||||
@@ -94,7 +94,7 @@ pgf_function_prob(PgfPGF* pgf, PgfCId funname);
|
||||
PGF_API_DECL GuString
|
||||
pgf_print_name(PgfConcr*, PgfCId id);
|
||||
|
||||
PGF_API_DECL bool
|
||||
PGF_API_DECL int
|
||||
pgf_has_linearization(PgfConcr* concr, PgfCId id);
|
||||
|
||||
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
|
||||
hasLinearization :: Concr -> Fun -> Bool
|
||||
hasLinearization lang id = unsafePerformIO $
|
||||
withGuPool $ \pl ->
|
||||
newUtf8CString id pl >>= pgf_has_linearization (concr lang)
|
||||
withGuPool $ \pl -> do
|
||||
res <- newUtf8CString id pl >>= pgf_has_linearization (concr lang)
|
||||
return (res /= 0)
|
||||
|
||||
-- | Linearizes an expression as a string in the language
|
||||
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
|
||||
|
||||
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"
|
||||
pgf_linearize :: Ptr PgfConcr -> PgfExpr -> Ptr GuOut -> Ptr GuExn -> IO ()
|
||||
|
||||
Reference in New Issue
Block a user