Haskell安裝mysql mac環境

2021-07-05 03:03:02 字數 2399 閱讀 6445

mkdir mysql-test

cd mysql-test

cabal sandbox init

以下4個安裝要乙個個裝,不然會出現卡死的情況

cabal install alex

cabal install c2hs

cabal install haddock  

解壓之後用sudo 執行./configure ,會在目錄中出現pcre.h

安裝pcre-light

cabal install --extra-include-dirs=/users/brant/program/lib/pcre-8.37 pcre-light

為了安裝mysql,需要建立乙個軟鏈,否則就會出現找不到/libmysqlclient.18.dylib的錯誤

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

(2015.10.2 更新)

因為新的ei capitan禁止修改核心,所以鏈結位址由/usr/lib修改至/usr/local/lib

安裝mysql

cabal install --extra-prog-path=/usr/local/mysql-5.6.22-osx10.8-x86_64/bin mysql-0.1.1.8

安裝mysql-******

cabal install --extra-prog-path=/usr/local/mysql-5.6.22-osx10.8-x86_64 mysql-******e-0.2.2.5

執行hs

ghci -no-user-package-db -package-db .cabal-sandbox/x86_64-osx-ghc-7.10.2-packages.conf.d/ test.hs

或者ghci  -package-db .cabal-sandbox/x86_64-osx-ghc-7.10.2-packages.conf.d/ test.hs

或者 cabal run/cabal build

import mysql

import database.mysql.******

import database.mysql.******.queryresults

import database.mysql.******.result

import control.monad.reader

import database.mysql.******.types (binary(..), in(..), only(..), query(..))

main :: io ()

main = do

-- conn <- connect defaultconnectinfo

conn <- connect defaultconnectinfo

users <- query conn "select name,age from users where age > ?" (only (20::int))

_ <- putstrln $ show $ map name users

return ()

data user = user deriving show

instance queryresults user where

convertresults [fa] [va] = user

convertresults [fa,fb] [va,vb] = user

where a = convert fa va

b = convert fb vb

convertresults [fa,fb,fc] [va,vb,vc] = user

where a = convert fa va

b = convert fb vb

c = convert fc vc

convertresults fs vs = converterror fs vs 2

selectuserallinformation :: sqlquery [user]

selectuserallinformation = sqlquery_ "select ***, age,name from users"

selectuserbyfemale :: sqlquery [user]

selectuserbyfemale = sqlquery_ "select name,age from users where ***='female'"

--selectuserbyfemale = query c "select name,age from users where age > ?" ('only' (42:int))

Haskell,影印,新書推薦

真實世界的haskell 影印版 定價 88.00 會員價 66.00 75折 本書詳情檢視 真實世界的haskell 是一本上手快且易於使用的指導書,它向你介紹這門日趨流行的程式語言。你將學習如何將haskell應用於不同實踐當中,從簡短的指令碼到要求苛刻的大型應用。本書向你講解了函式式程式設計的...

haskell簡明入門 一

以下內容引用自haskell官網 haskell是乙個先進的,純粹的函式式程式語言。乙個典型的宣告式地,靜態型別的 如下 primes filterprime 2.where filterprime p xs p filterprime x x xs,x mod p 0 haskell 有如下的特性...

haskell 基礎題解(06)

題目 如果乙個數的所有真因子 不包含它自身的因子 之和恰等於其自身,則該數為完全數,也稱為完美數 perfect number 完全數有許多奇妙的性質。但它們很稀少,你來求前幾個吧。最小的乙個是 6,因為 6 1 2 3 這個完全數的定義已經很清楚了,如果沒有什麼妙法,就地毯式搜尋也可以。下法就是 ...