メインメニュー
検索
ログイン
ユーザ名:

パスワード:


パスワードを忘れた

新規登録
Squeak関連書籍
Smalltalk関連書籍
メイン
   雑談
     OmniBaseについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Ringo
投稿日時: 2007-1-5 7:48
新米
登録日: 2006-12-30
居住地: 愛知
投稿: 12
Re: OmniBaseについて
tethaさんありがとうございます.

さっそくOB-CarbonPatch.zipをダウンロードしたのですが,Pluginsフォルダがないので,どうすればいいのでしょうか.
SqueakVMのパッケージ内Resourcesにはプラグインがたくさん入っているようですが,そこに入れればいいのでしょうか.


引用:

年寄りのヨタ話を一つ。私がコンピュータ関係の仕事を始めたころは、RDBなんて資源を食うし遅いし使えないよ。という意見もあったものですが、今はこの状況です。世の中そんなものなのかもしれません。

とてもいい話をありがとうございます.
がんばって勉強します.
tetha
投稿日時: 2007-1-5 12:16
新米
登録日: 2004-11-29
居住地:
投稿: 20
Re: OmniBaseについて
引用:

Ringoさんは書きました:
さっそくOB-CarbonPatch.zipをダウンロードしたのですが,Pluginsフォルダがないので,どうすればいいのでしょうか.
SqueakVMのパッケージ内Resourcesにはプラグインがたくさん入っているようですが,そこに入れればいいのでしょうか.

ああ…。また形式が変わったようですね。
はい、Ringoさんの指摘のように Resources の中に他のプラグインと一緒に入れてください。
Ringo
投稿日時: 2007-1-5 20:06
新米
登録日: 2006-12-30
居住地: 愛知
投稿: 12
Re: OmniBaseについて
tethaさんありがとうございます.

VMのパッケージのResourcesにプラグインをいれ,ODBFileStream-tetha.1.csをファイルインしたあとに

db := OmniBase createOn: '/Users/sho/Desktop/Squeak3.8-MacOS-Full_s/MYDB/'.


を実行したところエラーが出てしまいました.

エラーをどのようにのせればいいのかわからないので,SqueakDebug.logの内容をすべて載せます.


Error: a primitive has failed
5 January 2007 7:42:30 pm

VM: Mac OS - a SmalltalkImage
Image: Squeak3.8.1a [latest update: #6666]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /Users/sho/Desktop/Squeak3.8-MacOS-Full_s
Trusted Dir /Users/sho/Desktop/Squeak3.8-MacOS-Full_s
Untrusted Dir /Users/sho/Library/Preferences/Squeak/Internet/My Squeak

UnixFileDirectory(Object)>>error:
	Receiver: UnixFileDirectory on '/Users/sho/Desktop/Squeak3.8-MacOS-Full_s'
	Arguments and temporary variables: 
		aString: 	'a primitive has failed'
	Receiver's instance variables: 
		pathName: 	FilePath('/Users/sho/Desktop/Squeak3.8-MacOS-Full_s')

UnixFileDirectory(Object)>>primitiveFailed
	Receiver: UnixFileDirectory on '/Users/sho/Desktop/Squeak3.8-MacOS-Full_s'
	Arguments and temporary variables: 

	Receiver's instance variables: 
		pathName: 	FilePath('/Users/sho/Desktop/Squeak3.8-MacOS-Full_s')

UnixFileDirectory(FileDirectory)>>primCreateDirectory:
	Receiver: UnixFileDirectory on '/Users/sho/Desktop/Squeak3.8-MacOS-Full_s'
	Arguments and temporary variables: 
		fullPath: 	'/Users/sho/Desktop/Squeak3.8-MacOS-Full_s/MYDB/'
	Receiver's instance variables: 
		pathName: 	FilePath('/Users/sho/Desktop/Squeak3.8-MacOS-Full_s')

UnixFileDirectory(FileDirectory)>>createDirectory:
	Receiver: UnixFileDirectory on '/Users/sho/Desktop/Squeak3.8-MacOS-Full_s'
	Arguments and temporary variables: 
		localFileName: 	'/Users/sho/Desktop/Squeak3.8-MacOS-Full_s/MYDB/'
	Receiver's instance variables: 
		pathName: 	FilePath('/Users/sho/Desktop/Squeak3.8-MacOS-Full_s')


--- The full stack ---
UnixFileDirectory(Object)>>error:
UnixFileDirectory(Object)>>primitiveFailed
UnixFileDirectory(FileDirectory)>>primCreateDirectory:
UnixFileDirectory(FileDirectory)>>createDirectory:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ODBFileStream class>>directoryCreate:
[] in OmniBase>>createOn: {[rootDir := dirName.  (ODBFileStream directoryExists: rootDir)   ifFalse: [O...]}
BlockContext>>ifCurtailed:
OmniBase>>createOn:
OmniBase class>>createOn:
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
[] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class evaluatorClass new   evaluate: self selectionAsStream   in: ctxt...]}
BlockContext>>on:do:
TextMorphEditor(ParagraphEditor)>>evaluateSelection
TextMorphEditor(ParagraphEditor)>>doIt
[] in TextMorphEditor(ParagraphEditor)>>doIt: {[self doIt]}
TextMorphEditor(Controller)>>terminateAndInitializeAround:
TextMorphEditor(ParagraphEditor)>>doIt:
TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:
TextMorphEditor>>dispatchOnCharacter:with:
TextMorphEditor(ParagraphEditor)>>readKeyboard
TextMorphEditor>>readKeyboard
[] in TextMorphForEditView(TextMorph)>>keyStroke: {[editor readKeyboard]}
TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
TextMorphForEditView>>handleInteraction:fromEvent:
TextMorphForEditView(TextMorph)>>keyStroke:
TextMorphForEditView>>keyStroke:
TextMorphForEditView(TextMorph)>>handleKeystroke:
KeyboardEvent>>sentTo:
TextMorphForEditView(Morph)>>handleEvent:
TextMorphForEditView(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.  ActiveEvent := anEvent.  result := focusHolder     han...]}
[] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
BlockContext>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendKeyboardEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand := h.  h processEvents.  capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor yield.  false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor terminateActive]}




また話はもどりますが,MacのVMだとOmniBaseだけではなくFileStreamでファイルがロックされないということなのでしょうか.
tetha
投稿日時: 2007-1-5 21:03
新米
登録日: 2004-11-29
居住地:
投稿: 20
Re: OmniBaseについて
引用:

VMのパッケージのResourcesにプラグインをいれ,ODBFileStream-tetha.1.csをファイルインしたあとに

すみません。
違うものを梱包してました。
OB-CarbonWorkAround-tetha.1.cs をファイルインしないといけないのです。
アップロードし直しましたので再度、
http://squeakbasket.org:8000/SqueakDev/2
からダウンロードしてもらえますでしょうか。
引用:

また話はもどりますが,MacのVMだとOmniBaseだけではなくFileStreamでファイルがロックされないということなのでしょうか.

 結論から言うと、今の状況では Carbon 版のVM そのままではむつかしいです。
VM を介さずに FFI という仕組を使って OS のライブラリを呼び出すこともできるので、それを利用するという方法もあるかもしれません。
 ただ、ひとつ付言しておきますと、Squeak というか Smalltalk はその由来として、「何かのOS」のために作られた言語ではなくて、それ自身がかつては環境(OS)そのものでした(Altoマシンについて検索するといいかも。sumimさんのサイトなど参考になります)。ですので、むしろ今は既存のOSへ歩み寄ってるともいえるかと思います。
 また、今ではおなじみの「ファイル」というものも果たしてコンピュータにとって本当に理想的な実装なのかどうかという話もあるかと思います(この辺はコンピュータのアーキテクチャそのものの見直しみたいな話になってしまいますが)。
Ringo
投稿日時: 2007-1-5 21:44
新米
登録日: 2006-12-30
居住地: 愛知
投稿: 12
Re: OmniBaseについて
tethaさんありがとうございます.

提供していただいたを入れたらきちんと警告なしにDBが作成されました.
すごくうれしいです.
本当にありがとうございます.

Altoについては以前すこし調べないといけない事があったので,知っているのですが,GUIが搭載されたコンピュータなんですよね.
Smalltalk専用機なんて,ちょっと不思議な感じをします.
でもこれについて知っているとやっとインタプリタという言葉の意味が分かるような気がして知ったときはとても感動しました.

それとDynabook計画やolpcにも感動しました.

olpcの計画を知って初めてSqueakを真剣に勉強しようかなと思って今に至っています.

とはいっても頭がわるいのでなかなかうまくいきませんね.
コツコツとがんばっていきます.
« 1 (2)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Google
新着リンク