Es gab Versuche in anderen Paketmanagern, Brücken zu anderen Ökosystemen aufzubauen. Zum Beispiel gibt es composer-npm-bridge, was es ermöglicht, Pakete aus der Knotenregistrierung in ein PHP-Projekt zu ziehen. Ist es möglich, sowas mit Kabalen zu bauen? Konkreter, wie würde man Pakete von luarocks in ein Haskell-Projekt ziehen?Kann ich Cabal verwenden, um Nicht-Haskell-Bibliotheken zu behandeln?
Antwort
Es ist grundsätzlich möglich: mit build-type: custom
, Kabale kompiliert und Ihre Setup.hs
anstelle seines eigenen Build-Mechanismen laufen, und Sie können in Setup.hs
beliebigen Haskell Code setzen. Alternativ dazu, wenn Sie Ihren Setup-Prozess in die übliche Konfiguration-Make-Make-Installation Tanz passen können, dann kann die build-type: configure
Option nur das Ticket sein.
Weitere Details zu diesen Konfigurationsoptionen finden Sie unter the user's guide.
Vielen Dank für Ihre Antwort. Ich hoffte auf mehr Orientierung: Gibt es Beispiele/Code-Schnipsel, die als Grundlage für ein solches Unternehmen dienen könnten? – tarleb
- 1. Enumeration verwenden, um ganzzahlige Ereignistypen zu behandeln
- 2. Um IOError zu behandeln, welche Methode sollte ich verwenden?
- 3. Wie kann ich ein einfaches aspektorientiertes Konzept verwenden, um Ausnahmebehandlung ohne Postsharp zu behandeln?
- 4. Wie kann ich die Session-Cookie-Einstellung behandeln, um sie dann mit NGINX auth_request zu verwenden?
- 5. Wie kann ich eine sekundäre Klasse verwenden, um meine Ereignisse zu behandeln?
- 6. Wie kann ich myproj.cabal anweisen, Pakete zu verwenden, die ich in ~/.cabal installiert habe?
- 7. So verwenden Sie delayeredexpansion, um Wert im Stapelscript zu behandeln
- 8. Wie Express-Middleware verwenden, um alle Routen zu behandeln?
- 9. Wie Lazy verwenden, um gleichzeitige Anfrage zu behandeln?
- 10. Verschachtelte Django transaction.atomic() verwenden, um Ausnahmen zu behandeln?
- 11. Kann ich Schleifen verwenden, um ES6-Importanweisungen zu minimieren?
- 12. Verwenden Sie quickCheck Tests mit Cabal?
- 13. Um mem zu verwenden und dann zu finden oder zu verwenden, um die Ausnahme zu finden und zu behandeln?
- 14. Kann ich wait_until in wait_for konvertieren, um now() zu verwenden?
- 15. Der beste Weg, um Fehler zu behandeln
- 16. Wie verwende ich Normalizr, um grundlegende geschachtelte JSON zu behandeln?
- 17. Könnte ich Stack meine geflochtene Cabal-Bibliothek verwenden lassen?
- 18. Android WeakReference, um Speicherverlust zu behandeln
- 19. Rewrite-Regel, um richtig zu behandeln? -sign
- 20. Wie erweitere ich Boost property_tree, um benutzerdefinierte Typen zu behandeln?
- 21. Wie bekomme ich ghci, um Pakete zu sehen, die ich von cabal installiert habe?
- 22. Um viele If-Anweisungen zu behandeln
- 23. "cabal install cabal-install" aktualisiert keine cabal-Version in OSX
- 24. Bestes Muster, um Nullzeigerausnahme zu behandeln
- 25. Wie sage ich mxmlc, um Warnungen als Fehler zu behandeln?
- 26. Aktivität nicht gefunden, um Absicht zu behandeln
- 27. Jupyter Magie, um Notebook Ausnahmen zu behandeln
- 28. Fall auswählen, um aktive TabPage zu behandeln
- 29. Guter Weg, um fehlende AssociatedControlID zu behandeln
- 30. Der beste Weg, um Fehlermeldungen zu behandeln
Ich müsste einen Schritt sichern und fragen, wie man sogar ein Lua-Paket in einem Haskell-Paket verwenden kann. Kannst du deine Meinung dazu klären? –
Wir haben [hslua] (https://github.com/hslua/hslua), die als Brücke zwischen Haskell und Lua dient. Wenn das Lua-Paket nur aus ein paar Lua-Dateien besteht, könnte man den Lua-Code in die Binärdatei kompilieren (wie wir es in Pandoc machen). – tarleb