Saturday, September 25, 2010

GHCi and Cabal

Maybe I'm the only one who didn't already know this, but I'd like to describe how to use GHCi within a Cabal project under development.

Say I'm working on a library foobar:

~/foobar $ find -type f
./foobar.cabal
./Data/FooBar.hs
./Setup.hs
./LICENSE

I want to write a test program, which won't go in the Cabal distribution:

~/foobar $ cat > test.hs
import Data.FooBar
main = print fooBar
^D

~/foobar $ cabal configure && cabal build
Resolving dependencies...
Configuring foobar-0.1...
Preprocessing library foobar-0.1...
Building foobar-0.1...
Registering foobar-0.1...

~/foobar $ ghci test.hs
GHCi, version 6.12.1: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 2] Compiling Data.FooBar      ( Data/FooBar.hs, interpreted )
[2 of 2] Compiling Main             ( test.hs, interpreted )
Ok, modules loaded: Data.FooBar, Main.

GHCi is loading Data.FooBar into the interpreter, but I wanted to test the compiled, optimized version that was just produced by Cabal. Let's try telling it about the dist/ directory:

~/foobar $ ghci test.hs -package-conf dist/package.conf.inplace
GHCi, version 6.12.1: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 2] Compiling Data.FooBar      ( Data/FooBar.hs, interpreted )
[2 of 2] Compiling Main             ( test.hs, interpreted )
Ok, modules loaded: Data.FooBar, Main.

Still no good. Seems that the existence of the file Data/FooBar.hs overrides anything in the package database. Move to another directory:

~/foobar      $ mkdir test && cd test
~/foobar/test $ mv ../test.hs .
~/foobar/test $ ghci test.hs -package-conf ../dist/package.conf.inplace
GHCi, version 6.12.1: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main             ( test.hs, interpreted )
Ok, modules loaded: Main.
*Main> fooBar
Loading package foobar-0.1 ... linking ... done.
"testing 123"

It works. :) For compiled code as well:

~/foobar/test $ ghc --make -O test.hs -package-conf ../dist/package.conf.inplace
[1 of 1] Compiling Main             ( test.hs, test.o )
Linking test ...
~/foobar/test $ ./test
"testing 123"

9 comments:

  1. شركة تنظيف فلل بالرياض تتيح لكم ما تحتاجونه من خدمات تنظيف في مختلف المنشآت بجميع المساحات والأغراض والمحتويات، إذ أن الشركة تقدم من خلال أفضل العمال والمتخصصين وبإشراف الخبراء الذين تستعين بهم الشركة للإشراف على ما يتم القيام به من مهام وخدمات وتوفير كافة سبل الراحة لعملائها الكرام من خلال ما تستعين به من وسائل ومواد ومعدات تتميز بتقنياتها المتطورة والحديثة والتي تواكب من خلالها مستلزمات العصر الحديث و للوصول إلى أفضل ما قد يتطلع له العملاء بجميع فئاتهم في ما يأملون في الوصول لها من مستوى خاص بنظافة المنشأة التي يقيمون فيها أو يعملون بها ويسعون جاهدين إلى أن تظهر بأجمل هيئة وأكمل صورة داخليا وخارجيا.
    تمتع بأسعار لا مثيل لها مع شركة تنظيف فلل بالرياض
    يتمتع عملاء الشركة بمزايا لا تتوافر بالشركات الأخرى إذ أن أسعارنا هي الأرخص والأفضل رغم أن خدماتنا هي الأضمن والأفضل والأكثر تميزا بالمقارنة مع كبرى الشركات المماثلة إذ أن خدماتنا وأسعارنا لا منافس لها وتتميز شركة نظافة فلل بالرياض بما توفره من عروض ذات أسعار وخصومات رائعة ومذهلة على تنظيف الفلل وتعطيرها وتعقيمها جيدا من الاوبئة والجراثيم التي توجد فى تلك المساحات من الفلل الكبيرة والصغيرة .
    https://www.allsaad.com/70-2/
    لمزيد من خدماتنا
    شركة عزل فوم بالرياض

    ReplyDelete
  2. Thanks for sharing.I found a lot of interesting information here. A really good post, very thankful and hopeful that you will write many more posts like this one.
    vidmate.onl
    https://messenger.red/
    showbox.run

    ReplyDelete
  3. عزيزى العميل اهلا ومرحبا بك فى موقع مؤسسة الحرمــين للمقاولات العامة والعوازل
    شركه عزل فوم بالاحساء و الرياض
    الموقع الرائد فى عالم الخدمات المنزليه والاول بالمملكه العربيه السعوديه لما يتمتع به من خدمات مميزه ، فالبرغم من اننا مؤسسه ربحيه الا ان مزاولة نشاطتنا

    شركه عزل فوم بجدة

    شركه عزل فوم بمكة

    شركه عزل فوم بالرياض كلها مرتبط على نحو وثيق
    بتلبية طلبات وحاجات عملائنا ولتحقيق ذلك الهدف نقدم لك كافة الخدمات الشامله بالالتزام الصارم وبأرقى المعايير المهنيه المتطوره
    فلدينا خبره طويله فى مجال مكافحة الحشرات والكشف عن التسربات وتسليك المجارى وعزل الاسطح وترميم وصيانه المنازل وتخزينه بكفاءة منقطعة النظير ، لا تتردد واتصل
    بموقع مؤسسة الحرمــين فخدماتنا ليس لها بديل واسعارنا ليس لها مثيل ،ولدينا فريق عمل يتصل مع العملاء على جسور الثقه

    والصدق والامانه فى العمل ، وهدفنا هو ارضاؤك وراحتك ، لا تقلق ونحن معك

    شركه عزل فوم بالجبيل
    لا تجهد نفسك ونحن تحت امرك ورهن اشارتك .
    أبرز خدمات مؤسسة الحرمــين للمقاولات العامة بالدمام والرياض

    شركه عزل فوم بالدمام

    ReplyDelete
  4. Packers and Movers Bangalore - Reliable and Verified Household Shifting Service Providers Give Reasonable ###Packers and Movers Charges. Cheap and Best Office Relocation Compare Quotation for Assurance for Local and Domestic House Shifting and Get estimates today to save upto 20%, ***Read Customer Reviews - @ Packers And Movers Bangalore

    ReplyDelete
  5. Maharashtra Board Conducts Class 10th Exam Students who Study in Maharashtra Schools, Every year around 13 Lakh Students Appear for the Maharashtra Board 10th Class Main Exam. The Textbooks are Prepared by Senior Experts with in-Depth knowledge of each topic, MSBSHSE Board Every Year 10th Class Collages Open in Month of Jun After Summer Holidays, Every year laks of Students enrolled at Government Collages and Private Collages. Maha SSC Syllabus pdf Students Maharashtra Board Class 10th Book 2021-2022 All Subject get Your Government Colleges Free of cost, Private Colleges Students pay Amount at your After Provide Maharashtra Board SSC Textbook 2021-2022, MSBSHSE 10th Class Students Your books any Damage and Missing Students Do not Tension.

    ReplyDelete
  6. Investing Secne Is An Online Portal To Find, Compare And Review The Best Brokers And Trading Strategies Around The Globe. Along With Broker Reviews & Login Details At Investing Secne, You Can Also Find News, Latest Articles, Prs, Industry Updates And Tools That May Be Useful In Making Investment Decisions.

    ReplyDelete
  7. توفر هذه الشركة عدد كبير من مختلف أنواع الخدمات الخاصة بالمنزل ، و على رأس هذه الخدمات تسليك و تنظيف المجاري و البيارات ، كما أن الشركة تعتمد في الكشف عن الانسداد على أحدث الماكينات و الألات ، التي تعمل على الكشف عن مكان الانسداد بشكل محدد ليتم تسليكه ، مع الكشف عن السبب في حدوث الانسداد ، هذا بالإضافة إلى توفير أجهزة تعمل على شفط الأوساخ من البيارات ، مع التأكد من أن كافة مواسير الصرف قد عادت لطبيعتها ، و توفر الشركة أيضا إمكانية الكشف عن تسرب مياه الصرف لمياه الصنبور .
    و هذه الشركة توفر خدمات تسليك و تنظيف مواسير الصرف الصحي ، و كذلك توفر أيضا خدمات تنظيف البيارات و غرف التفتيش ، مع الاعتماد على مواد حديثة تعمل على إزابة التكتلات الموجودة بالصرف و التي أدت إلى الانسداد ، و كذلك تقنيات و أجهزة توفر الكشف عن مكان التعطل ، هذا مع توفير إمكانية شفط القاذورات المتراكمة في المكان الذي أصيب بالانسداد ، و تفير خدمات الكشف عن اختلاط الصرف بالمياه
    شركة تسليك مجاري بالرياض
    خدمات تنظيف حمامات السباحة
    المسبح من أهم الأشياء التي تستخدم ربما كشكل ديكوري بداخل المنزل ، أو أنها تستخدم لمزيد من المتعة داخل المنزل ، و لابد من الاهتمام بتنظيفها بشكل دوري حتى لا تكون سببا في نقل الميكروبات و الأمراض ، و هناك العديد من الشركات التي تعمل على تنظيف المسابح بالرياض بأعلى مستوى و منها على سبيل شركة أرض الانجاز
    حيث توفر الشركة إمكانية تنظيف المسبح بشكل دوري بالاعتماد على أفضل الخامات ، التي تساعد على تنظيف و تعقيم المسبح و المياه الموجودة بها ، هذا بالإضافة إلى الاعتماد على تقنيات حديثة تساعد على إزالة الرواسب المتراكمة على جدران المسبح دون الاضرار به أو اتلافه ، كذلك توفر الشركة أيضا مواد معقمة للمياه يتم وضعها فيها بعد أن يتم ملئ المسبح و تفريغه أكثر من مرة لضمان نظافته .
    و هذه الشركة تعتبر من أكثر الشركات التي توفر خدماتها بالرياض ،الشركة توفر العديد من الخدمات و على رأسها تنظيف المسابح ، حيث توفر أدوات حديثة قادرة على تنظيف المسبح دون الاضرار به ، فضلا عن خدمات تطهير المياه من الجراثيم ، و ذلك بالاعتماد على مواد متوافقة مع أعلى المعايير العالمية ، هذا إالى جانب الاعتماد على عمالة متخصصة في هذا الأمر تعي كمية الكلور المفترض اضافتها لكم مياه معين ، حتى لا تسبب الضرر لمستخدمي المسبح .
    شركة تنظيف مسابح بالرياض
    طرق عزل خزانات المياة
    الخزانات من أهم الأشياء التي لابد من وجودها في المنزل ، و ذلك لأنها تعمل على حفظ المياه باستمرار في وقت انقطاعها ، و كذلك تعمل على حفظها بجودة عالية ، و هناك العديد من الشركات التي توفر خدمات عزل الخزانات بالرياض و منها على سبيل المثال شركة أرض الانجاز
    الشركة تعمل على توفير العديد من الخدمات المميزة ، و من بينها مختلف أعمال الصيانة ، هذا بالإضافة إلى توفير العديد من الخدمات التي تتمثل في العزل سواء العزل المائي أو الحراري و غيرها ، كذلك توفر الشركة خدمات مميزة تتعلق بعزل الخزانات ، و ذلك بالاعتماد على تقنيات عالية الجودة ، هذه التقنيات لا تتفاعل مع المياه و لا تؤثر على جودتها ، و يتم انتقائها تبعا لنوع الخزان سواء كان بلاستيك أو خرساني و كذلك سواء كان سط

    شركة عزل خزانات بالرياض

    ReplyDelete
  8. homeshop4u เว็บไซต์สำหรับคนรักสัตว์ สัตว์เลี้ยงยอดนิยม ดูแลสุขภาพสัตว์เลี้ยงของคุณ ติดตามได้ที่นี้ เเนะนำเทคนิค เเละทรคิในการเลี้ยงสัตว์เลี้ยงอย่างถูกวิธี การเลี้ยงสัตว์เลี้ยงให้ถูกวิธีสุขภาพสัตว์เลี้ยงให้ดีได้ง่ายๆ เเนะนำสัตว์เลี้ยงเเสนน่ารัก รอบรู้สัตว์เลี้ยงทั่วโลกในเว็บไซต์เดียว.

    ReplyDelete
  9. Gutt Websäit : Tertinggi
    Gutt Websäit : Zonahobisaya
    Gutt Websäit : Terdalam
    Gutt Websäit : Terbanyak
    Gutt Websäit : Profil
    Gutt Websäit : Zonahobisaya
    Gutt Websäit : Zonahobisaya
    Gutt Websäit : One Piece

    ReplyDelete