(define (insert customer: Customer into-database: Database)
(let ((PCustomer (prepare customer: Customer))
(OpenDatabase (open database: Database)))
(...)))
(map fun: (|item: Item| (print Item)) on-list: MyList)
Observations and opinions about a vagrant world
(define (insert customer: Customer into-database: Database)
(let ((PCustomer (prepare customer: Customer))
(OpenDatabase (open database: Database)))
(...)))
(map fun: (|item: Item| (print Item)) on-list: MyList)
Posted by
mue
at
8:34 PM
0
Comments
Link
Labels: smalltalk, software architecture
Posted by
mue
at
11:03 PM
0
Comments
Link
Posted by
mue
at
10:55 PM
0
Comments
Link
Labels: smalltalk
Posted by
mue
at
9:47 PM
0
Comments
Link
doesNotUnterstand:. It worked, but it has been platform specific and also not very maintainable. I decided to change the mechansm, but that has had a deep impact on the Lightweight Application Server and even more on the Smalltalk Object Store. The positive result are now better handable frameworks.
Posted by
mue
at
10:45 PM
0
Comments
Link
doesNotUnderstand:. However it is now less flexible, but still powerful enough.
Posted by
mue
at
7:13 PM
0
Comments
Link
Labels: smalltalk
Posted by
mue
at
7:26 PM
0
Comments
Link
{document
{table-of-contents}
{section Introduction
{p The new {strong Tideland Dynamic Content Processor} is a
lightweight content management system developed in Scheme. The data
is stored in SML files.
}
}
}
Posted by
mue
at
7:49 PM
0
Comments
Link
It has been a bit silent here the last days. But I'm still busy. Based on some ideas I'm carrying since a longer time and the need for a demo application for the Tideland Application Stack I've started a new project. It is called Tideland Train of Thoughts and is intended to allow distributed teams to share their ideas. This sounds a bit like a wiki, but linking and tagging work different and allow many powerful views for the users.
Posted by
mue
at
6:21 PM
0
Comments
Link
Labels: smalltalk
Posted by
mue
at
10:42 PM
0
Comments
Link
Labels: smalltalk
The today published iX magazine contains an article about Squeak and Seaside startiing at page 136. It is my third Smalltalk article in this magazine and I'll try to publish it on the ESUG pages again later.
Posted by
mue
at
11:56 AM
0
Comments
Link
Labels: smalltalk
It shows how web applications use the NBF for web controllers and rendering, the business logic is developed as stateful and stateless components and asynchronous services in the LAS, and the persistent model is stored using the SOS. All frameworks use, as the future applications may do also, the CSL with helpful classes.
Posted by
mue
at
7:09 PM
0
Comments
Link
Labels: smalltalk
Posted by
mue
at
9:22 AM
0
Comments
Link
Labels: smalltalk
Posted by
mue
at
10:28 PM
0
Comments
Link
Labels: smalltalk
Posted by
mue
at
12:09 AM
0
Comments
Link
Labels: smalltalk
CslConfiguration, CslConfigurationValue and CslConfigurationError. The entry class is just a wrapper with nil as superclass, passing almost all message sends to the wrapped configuration value. But it has the own message withDefault: which expects a block as argument. What is the idea behind it? Imagine an access to a configuration value that doesn't exist. The call would befoo := cfg foo withDefault: [#bar].
foo := cfg foo withDefault: [#yadda].
cfg foo: #yadda.
foo := cfg foo.
CslConfiguration has no methods foo: or foo. It just uses doesNotUnderstand: to map the message to a setter or getter of an internal dictionary key. And if the key doesn't exist and a getter is called it returns a new nested CslConfiguration instance. So you can also do things likecfg database connection poolSize: 10.
CslConfiguration understands isNil, ifNil:, and ifNil:ifNotNil: and behaves like nil if is empty. So it's no problem to perform statements likecfg foo bar isNil ifTrue: [...].
Posted by
mue
at
12:20 AM
0
Comments
Link
Labels: smalltalk
Posted by
mue
at
10:53 PM
0
Comments
Link
Labels: smalltalk
CslRuntimeEnvironment and the new CslConfiguration. Also the file handling has been refactored. The directory and file structure is now better to manage, the needed directories are created on demand. The background write process is now a one shot process started after a commit and only if it is not allready running. So less resources are consumed.
Posted by
mue
at
10:33 PM
0
Comments
Link
Labels: smalltalk
Posted by
mue
at
11:05 PM
0
Comments
Link
Labels: smalltalk, software architecture